vmd-hydrate-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VMD_BIN | No | Path to the VMD binary (e.g., on macOS when not in PATH). | |
| VMD_HYDRATE_MCP_DISPLAY | No | Set to 'gui' to open a visible VMD window (default: headless). | |
| VMD_HYDRATE_MCP_ALLOW_DIR | Yes | Colon-separated list of directories the server may read. Required for file access. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vmd_statusA | Report whether VMD is available, its version, and the molecules currently loaded in the persistent session. |
| load_structureA | Load a structure/trajectory into the persistent VMD session for
visualization. Supports PDB, GROMACS (.gro/.xtc/.trr), LAMMPS (.data/dump),
DCD. Coordinate-only formats (.xtc/.trr/.dcd) require a |
| list_moleculesA | List molecules currently loaded in the VMD session (molid, path, atoms, frames). |
| set_representationC | Set the visual representation of a loaded molecule (e.g. style=NewCartoon, Licorice, VDW, Lines; color=Name, ResType, Beta; selection is a VMD atom-selection string like "water" or "name CA"). |
| renderB | Render the current view of a loaded molecule headlessly (CPU Tachyon) and return a PNG image. Resolution is capped for safety. |
| resolve_selectionB | Report how many atoms an MDAnalysis selection matches — use this to catch the common 0-atom trap on bare .gro files before running measurements. |
| measure_geometryB | Measure a distance (2 atom indices), angle (3), or dihedral (4) at a frame. Distances are in Angstrom, angles in degrees. |
| radius_of_gyrationC | Radius of gyration (Angstrom) of an atom selection at a frame. |
| hydrate_order_paramsA | Compute clathrate-hydrate water order parameters F3 (tetrahedrality) and F4 (<cos 3phi>) for a frame. F4 ~ 0.7-0.95 indicates hydrate/crystalline order, ~0 liquid, negative ice-Ih. Units are nm; for .gro the native nm parser is used. This is the differentiating capability no other MCP offers. |
| hbond_networkA | Build the water-water hydrogen-bond network for a frame and report bond count and average coordination (the substrate for cage identification). rcut is the O-O cutoff (nm), theta the H-O...O angle cutoff (degrees). |
| identify_cagesA | Identify clathrate-hydrate cages (5^12, 5^12 6^2, 5^12 6^4, ...) from the water H-bond network and classify the crystal structure (sI/sII/sH). Returns per-type cage counts, the structure label, and a confidence. method="TRACE" (all rings) or "HTR" (primitive rings). GROMACS .gro input. |
| render_cagesA | Render clathrate cages photorealistically (ambient occlusion + shadows, orthographic by default). Each cage type is drawn in ONE unified color for both its water-oxygen vertices and its O-O framework, using a curated palette (512=cyan, 51262=violet, 51264=red, 435663=lime, 51268=blue). Natural-language styling maps directly to the arguments:
|
| add_representationA | Add a representation WITHOUT clearing existing ones — layer several reps
(e.g. water as Points + solute as VDW). |
| clear_representationsA | Remove all representations from a molecule (start a fresh view). |
| rotate_viewA | Rotate the camera by |
| zoom_viewA | Zoom the view by a multiplicative factor (>1 zoom in, <1 zoom out). |
| reset_viewC | Reset/fit the camera to the loaded molecule. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a specific operation—loading, selection, measurement, rendering, or hydrate-specific analysis—with no functional overlap. Even similar tools like set_representation and add_representation are clearly differentiated by whether they clear existing representations.
Most tool names follow a verb_noun pattern (load_structure, list_molecules, set_representation, etc.), but a few nouns (radius_of_gyration, vmd_status, hbond_network) break the pattern. This is a minor inconsistency that does not impede understanding.
With 17 tools covering loading, visualization, analysis, and rendering specifically for clathrate hydrates, the count feels well-scoped. Each tool earns its place, and the set is neither bloated nor sparse.
The surface covers core lifecycle: load, list, select, measure, analyze (hydrate-specific), and render. Minor gaps like trajectory manipulation or file export are absent, but the focus on hydrate analysis is fully covered, so agents can accomplish their goals without dead ends.