max-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAX_MCP_KEY | No | Shared key; setting this environment variable implies key_enabled is true. | |
| MAX_MCP_HOST | No | Listener bind address. | 127.0.0.1 |
| MAX_MCP_PORT | No | Listener TCP port. | 30025 |
| MAX_MCP_CONFIG | No | Override path for the max-mcp config.json file. | |
| MAX_MCP_AI_UNDO | No | Whether the max_undo tool may run. | true |
| MAX_MCP_PUMP_MS | No | Main-thread pump interval in milliseconds. | 50 |
| MAX_MCP_TIMEOUT | No | Seconds a call may wait for 3ds Max. | 60 |
| MAX_MCP_AUTOSTART | No | Start the listener with 3ds Max (requires the loader). | true |
| MAX_MCP_HTTP_HOST | No | Streamable-HTTP bind host. | 127.0.0.1 |
| MAX_MCP_HTTP_PORT | No | Streamable-HTTP bind port. | 30026 |
| MAX_MCP_HISTORY_MAX_MB | No | history.jsonl size in MB before rotation. | 5 |
| MAX_MCP_CHECKPOINT_MODE | No | Checkpoint mode: off, changing, or all. | off |
| MAX_MCP_CHECKPOINT_MAX_MB | No | Maximum total size in MB for checkpoint copies. | 2048 |
| MAX_MCP_CHECKPOINT_MAX_COUNT | No | Maximum number of checkpoint copies retained. | 10 |
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 |
|---|---|
| max_infoA | Check the connection and return Max version, open scene path, dirty flag, units, object/selection counts, renderer and listener status. |
| max_selectionB | List the currently selected objects (name, class, layer, position; with detail=True also bbox, transform, parent, material, user properties). |
| max_query_objectsB | Find scene objects. name_pattern is a MAXScript wildcard ('Wall_*', 'door', case-insensitive); class_name matches classOf (e.g. 'Editable_Poly', 'Box'); layer matches the layer name. detail=True adds bbox, transform, material, user properties. |
| max_layersA | List all layers with hidden/frozen/current flags and object counts. |
| max_set_layer_hiddenA | Hide (hidden=True) or show (hidden=False) a layer by name. Undoable. |
| max_viewport_captureA | Grab the active viewport to a PNG file and return its path and size. path defaults to %TEMP%/max-mcp/capture_.png. max_size limits the longer edge (0 = keep the viewport resolution). |
| max_run_maxscriptA | Execute MAXScript inside Max and return the value of the last expression. (format/print output goes to Max's Listener window; return values instead.) undo=True wraps the code in an undo record. |
| max_run_pythonB | Execute Python (Max's own 3.11 with pymxs) inside Max. |
| max_historyA | Read the bridge's command history (time, client, tool, summary, duration, ok/error, objects added/removed, selection, undo_state). undo_state is 'on_stack' (max_undo can target it), 'undone' or 'gone'. full=True includes complete args and output. |
| max_undoA | Undo the bridge's OWN scene changes: either the last |
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 10 tools
Each tool targets a distinct resource or action: scene info, layers, selection, object querying, layer visibility, viewport capture, MAXScript execution, Python execution, history, and undo. The two execution tools are clearly separated by language, and query vs. selection tools are distinguished by scene-wide filtering vs. current selection. No pair appears to do the same thing.
All names share the max_ prefix and use snake_case, which makes the set predictable. However, some tools are noun-based (max_layers, max_info, max_selection, max_history) while others are verb-based (max_query_objects, max_set_layer_hidden, max_run_maxscript), so the pattern is not fully uniform.
Ten tools is a well-scoped set for a 3ds Max bridge: it covers introspection, selection/query, layer visibility, viewport capture, scripting escape hatches, history, and undo. Each tool has a clear role, and the count avoids both thinness and bloat.
The surface covers core bridge operations well, including scene introspection, object discovery, viewport capture, arbitrary MAXScript/Python execution, command history, and undo. Dedicated tools for common lifecycle actions such as scene save/open, render/export, or direct object creation/transformation are absent, though the scripting tools provide workarounds.