
Vmd Hydrate Mcp
io.github.wjgoarxivPublished by GitHub account wjgoarxivv0.2.0Updated Oct 24, 2026
Drive VMD for GROMACS/LAMMPS analysis + clathrate-hydrate cage science (needs a local VMD)
Overview
A local MCP server that drives a VMD session to load molecular-dynamics structures, render images, and analyze clathrate-hydrate cages.
- What you can do
- Load and inspect structures and trajectories from GROMACS, LAMMPS, PDB, DCD and mmCIF files, listing loaded molecules and checking selections and atom counts in a persistent VMD session. Style, layer and clear representations, and control the camera with rotate, zoom and reset. Render the current view headlessly to a PNG image. Measure geometry such as distances, angles, dihedrals and radius of gyration. Compute hydrate order parameters (F3/F4) and water hydrogen-bond networks. Identify and classify clathrate cages (5¹², 5¹²6⁴ and others), label the sI/sII/sH structure, and render cages filtered or recolored by request.
- When to use it
- Useful for molecular-dynamics work where you want to inspect GROMACS or LAMMPS trajectories, measure geometry, and analyze clathrate-hydrate structure and order through conversation. It suits researchers who already have VMD installed locally and want reproducible headless renders or cage analysis without writing scripts.
- Requirements
- Runs as a local Python process (Python 3.10+), typically via uvx from the PyPI package. A local VMD install (2.0b1 or 1.9.4+) is needed for visualization and rendering; set VMD_BIN if vmd is not on PATH. MDAnalysis is needed for measures and selection tools. Set VMD_HYDRATE_MCP_ALLOW_DIR to the directories the server may read. Optional VMD_HYDRATE_MCP_DISPLAY=gui opens a visible VMD window. TGA-to-PNG conversion needs sips, ImageMagick or Pillow.
Installation
In SourceWeft
- Open Vmd Hydrate Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
vmd-hydrate-mcp
Drive VMD from any LLM — render GROMACS/LAMMPS trajectories and analyze clathrate-hydrate cages through the Model Context Protocol.
Quick Start · Features · MCP Tools · Usage · 한국어
[Image] [Image] [Image] [Image] [Image]
[!NOTE] An MCP server that lets Claude (or any MCP client) control VMD directly — load GROMACS/LAMMPS trajectories, identify clathrate-hydrate cages (sI/sII/sH), script headless renders, and compute order parameters (F3/F4) and H-bond networks — turning molecular-dynamics analysis into a conversation. Unlike the existing VMD MCP, it keeps a stateful VMD session, is secure by default, and owns the one thing no other MCP does: hydrate cage science.
See it in action
[vmd-hydrate-mcp identifying and rendering sII hydrate cages in VMD]
Every frame is a real headless VMD (Tachyon) render, driven entirely through the MCP server. The sII cages — 128 × 5¹² + 60 × 5¹²6⁴ — are identified by this repo, not mocked. · ▶ full-quality MP4
Features
- Clathrate Cage Identification -- find and classify hydrate cages (5¹², 5¹²6², 5¹²6⁴, …) from the H-bond network and label the crystal structure (sI/sII/sH). Validated on the sII benchmark (128 small cages, exact).
- Photorealistic, Style-by-Prompt Cage Rendering -- cages render with ambient occlusion + shadows, orthographic by default, each cage type in ONE unified color (a curated palette: 5¹²=cyan, 5¹²6⁴=red, …). Just ask: "show only the sII large cages in magenta with emphasized width" and the MCP filters, recolors, and thickens them.
- Stateful VMD Session -- a persistent VMD process (Tcl socket server) keeps your molecules, selections, and camera alive across tool calls -- no reloading on every command.
- Hydrate Order Parameters -- F3 (tetrahedrality) and F4 (⟨cos 3φ⟩) computed in pure NumPy, validated to the reference to 6 decimals (F4 = 0.926698 on the sII benchmark).
- H-bond Networks -- water–water hydrogen-bond graph with coordination stats, the substrate for cage identification.
- Headless Rendering -- CPU Tachyon ray-traced PNGs with no display or GPU, returned inline as images. Works on laptops, servers, and HPC.
- Attended (GUI) Mode -- run fully offscreen (default), or set
VMD_HYDRATE_MCP_DISPLAY=guito open a visible VMD window and watch Claude load, color, rotate, and render your system live. - GROMACS + LAMMPS -- one server ingests
.gro/.xtc/.trr, LAMMPS.data/dump, PDB, DCD, mmCIF. - Secure by Default -- filesystem allowlist + a Tcl command allowlist (not a bypassable denylist) + a loopback, token-gated control socket. No
run_tclfoot-gun exposed. - MCP-Native -- clean English tool names and typed outputs; works in Claude Desktop, Claude Code, and any MCP client.
Quick Start
[!IMPORTANT] Requires a local VMD install (2.0b1 or 1.9.4+) — this server drives your VMD; no registry or package ships it. On macOS, VMD lives inside a
.app, so setVMD_BINifvmdisn't on yourPATH. (The pure hydrate/measure tools still work without VMD.)
Install
Zero-install via uvx (recommended):
Or from source:
Register with an MCP client
Claude Code — one command:
Claude Desktop / any client — add to the mcpServers config (or commit a project .mcp.json):
[!IMPORTANT] Set
VMD_HYDRATE_MCP_ALLOW_DIR(os-path-separated) to the directories the server may read. All file arguments are realpath-checked against this allowlist — paths outside it are refused.
Attended (GUI) mode
By default the server drives VMD headless (offscreen). To instead open a real VMD window you can watch while Claude controls it live, add VMD_HYDRATE_MCP_DISPLAY=gui to the server's env:
Then ask things like "load prod.gro, show water as points and the surfactant as VDW, then slowly rotate it" — the window updates in real time via load_structure → add_representation → rotate_view. (Requires a local desktop session; the same Tcl socket drives both modes.)
MCP Tools
Usage
1. Analyze hydrate order in a trajectory frame
Returns f4_overall, f3_overall, water count, and a plain-language interpretation (crystalline / hydrate-like / liquid / ice).
2. Render a structure
Produces an inline PNG rendered headlessly with CPU Tachyon.
3. Inspect the H-bond network
Returns bond count and average coordination (≈4 for a well-formed clathrate).
4. Style hydrate cages by prompt
Renders a photorealistic, orthographic image of just the 5¹²6⁴ cages in magenta with thicker edges — the MCP maps this to render_cages(cage_types=["51264"], highlight_color="magenta", emphasis=True). Omit the filters and every cage type is drawn in its palette color (5¹²=cyan, 5¹²6⁴=red, …).
Does it really drive VMD?
Yes — and you can confirm it in one command. examples/verify.py runs the same code the MCP server exposes on a bundled sII CO₂-hydrate example: it pings the real VMD binary, identifies the cages, and renders them headlessly.
Expected output:
The images below are real, unretouched VMD renders from that pipeline (not illustrations):
The demo video at the top is assembled from frames like these — see video/build_frames.py (drives VMD) and video/remotion/ (Remotion compositing). Rebuild it with python video/build_frames.py && cd video/remotion && npm i && npm run gif.
How It Works
Numeric science runs in Python (no display, unit-testable in CI). Visualization and rendering run in a long-lived, token-gated VMD process. The two never mix units: hydrate math is nanometers, VMD/MDAnalysis measures are Ångström.
Requirements
[!WARNING] On macOS, VMD ships as a
.appand its CLI binary lives inside the bundle. Ifvmdis not on yourPATH, setVMD_BINto the binary (e.g./Applications/VMD*.app/Contents/vmd*/vmd_MACOSXARM64). Pure hydrate/measure tools work without VMD.
Contributing
- Fork and branch (
git checkout -b feature/x). uv pip install -e ".[dev,mda]"and keeppytestgreen (science tests need no VMD).- Commit, push, open a PR. Found a bug? Open an issue.
License
MIT — see LICENSE.
Source: README.md at commit 1a477e7
Tools
0Version history
1- v0.2.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts