mujoco-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MUJOCO_MCP_MODEL_ROOTS | No | Colon-separated allowlist of directories `file_path` may load from | |
| MUJOCO_MCP_MAX_SESSIONS | No | Max concurrent sessions | 16 |
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 |
|---|---|
| mujoco_load_modelA | Load a MuJoCo model into a new simulation session. Provide exactly ONE of sample | file_path | xml_string. |
| mujoco_model_infoA | Detailed structure of a loaded model: joint types/ranges, actuator ctrlranges, sensors, bodies, options. |
| mujoco_resetA | Reset a session to its initial state (or a named keyframe) and zero the step counter. |
| mujoco_stepA | Advance the simulation. Optionally set actuator controls first; ctrl persists across later steps. |
| mujoco_get_stateA | Read the current state of a session without advancing physics. |
| mujoco_set_stateA | Overwrite parts of a session's state (qpos, qvel, ctrl, time), then recompute derived quantities. |
| mujoco_list_sessionsA | List all active simulation sessions. |
| mujoco_close_sessionA | Close a session and free its model and data. The session_id becomes invalid immediately. |
| mujoco_open_viewerA | Open a native MuJoCo window sharing this session's model and state. |
| mujoco_close_viewerA | Close this session's window and pause playback, keeping its state loaded. |
| mujoco_set_runningA | Play/pause the visible session at approximately real-time speed. |
| mujoco_step_guardedA | Advance a paused session, measuring all contacts after every physics step. |
| mujoco_get_wrenchA | Measure ALL external contacts on a non-world body and its descendants. |
| mujoco_configure_experimentA | Configure generic trial conditions and reset to the realized seeded start. |
| mujoco_get_provenanceA | Return compiled-model SHA-256, engine/server versions, code hash and experiment config. Source label is always sim. The consuming project supplies its own strategy, parameter version and code commit; arbitrary caller tags are metadata only. |
| mujoco_get_snapshotA | Get unrounded mjSTATE_INTEGRATION plus step/noise counters and guard status. |
| mujoco_restore_snapshotA | Restore a paused session; requires identical compiled model, config and engine version. Restores exact integration state, step/noise counters and guard status. A snapshot taken before a force stop clears the latch; a tripped one retains it. |
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 maps to a distinct responsibility: session lifecycle, model inspection, stepping, state access, snapshots, viewer control, contact measurement, experiment configuration, and provenance. Even the paired tools like step/step_guarded and get_state/get_snapshot are clearly separated by their exact purpose and behavior.
All tools consistently use the mujoco_ prefix with a clear snake_case verb_noun pattern (load_model, get_state, close_session, set_running, restore_snapshot). There are no mixed naming conventions or vague generic verbs.
17 tools is slightly above the typical well-scoped range, but the count is justified by the breadth of the domain: session management, physics stepping, state access, snapshot handling, viewer control, and experiment configuration. A few tools could potentially be consolidated, but none feel redundant.
The tool set covers the full simulation lifecycle: load, inspect, step, read/write state, reset, snapshot/restore, run experiments, measure contacts, and close sessions. It also includes reproducibility-oriented tools like provenance and snapshots, so agents can execute and evidence a complete MuJoCo workflow without obvious dead ends.