maya-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| execute_pythonA | Run arbitrary Python inside Maya (escape hatch). WARNING: this is NOT a security sandbox. It can read/write files and run system commands. Destructive patterns require allow_dangerous=True. |
| execute_melB | Evaluate a MEL command inside Maya (escape hatch). |
| manage_toolsA | List or toggle tool groups. Non-core groups (authoring/animation/rendering) start disabled to keep the tool list small; call with action='enable', group='authoring' to reveal them. |
| create_primitiveB | Create a polygon primitive (cube/sphere/cylinder/cone/plane/torus). |
| list_objectsC | List scene nodes, optionally filtered by type and name pattern. |
| get_attributesC | Read attributes of a node. |
| set_attributesC | Set one or more attributes on a node. |
| delete_objectsC | Delete nodes by name or wildcard pattern. |
| parent_objectA | Parent a node under another, or unparent it to the world. |
| duplicate_objectB | Duplicate a node, optionally renaming and reparenting the copy. |
| rename_objectC | Rename a node. |
| scene_newC | Create a new, empty scene. |
| scene_openC | Open (or reference) a Maya scene file. |
| scene_saveC | Save the current scene (optionally to a new path). |
| get_scene_infoB | Summarize the current scene: name, path, units, fps, object count, references. |
| get_selectionB | List the currently selected nodes. |
| select_objectsC | Select nodes by name or wildcard pattern. |
| maya_pingA | Check connectivity to a Maya instance and return basic instance info. Use this to verify the server/plugin link before running other tools. |
| list_sessionsA | List connected Maya instances (session_key, versions, scene, tools, active). |
| set_active_instanceA | Choose which connected Maya instance handles calls that omit session_key. Useful when several Maya instances are open. |
| capture_viewportA | Screenshot the Maya viewport and return the image so you can see the scene. Use this to visually check modeling progress before/after making changes. The returned path is also included for reuse. |
| view_imageA | Display a local image file to yourself (e.g. a modeling reference). Use when the user points you at a reference image: view it first, then model (optionally placing it in the viewport via import_reference_image). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| sessions_resource | Connected Maya instances. |
| scene_info_resource | Current scene summary (name, path, units, fps, object count). |
| selection_resource | Currently selected nodes. |
TDQS
Scored across 22 tools
Tools are largely distinct by resource and action, with clear separation between scene, object, selection, session, and viewport operations. Escape hatches (execute_python/execute_mel) conceptually overlap with all tools, and generic set_attributes/get_attributes slightly overlap with specific operations like rename_object, but descriptions clarify intended use.
Most tools follow a verb_noun pattern (get_selection, set_attributes, create_primitive). Exceptions are scene_new/open/save (noun+verb) and maya_ping (noun prefix), but the pattern is still readable and mostly consistent.
22 tools is on the heavy side, but the Maya automation domain is complex and the server provides manage_tools to disable non-core groups by default, keeping the effective list smaller. Each tool earns its place.
Core scene and object lifecycle, selection, sessions, viewport capture, and escape hatches are covered. Missing direct tools for rendering, animation, materials, and export, but execute_python/mel and toggleable tool groups allow workarounds.