Maya MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAYA_HOST | No | Maya host (Maya's commandPort listens on IPv4 only) | 127.0.0.1 |
| MAYA_PORT | No | commandPort number | 9877 |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_scene_infoA | Get the scene name, material count and a page of objects (sorted by name). By default lists top-level objects only and leaves out Maya's default cameras. name_filter takes Maya wildcards, e.g. "spike_*". If "truncated" is true, there are more objects: call again with offset=next_offset. Set top_level_only=false to include objects inside groups. limit is 1-500. |
| get_object_infoB | Get detailed information about a specific Maya object: transforms, bounding box, materials, hierarchy. |
| get_viewport_screenshotB | Capture the active Maya viewport as a PNG image. The longer side is scaled to max_size. |
| execute_maya_codeA | Execute arbitrary Python code inside Maya. |
| get_selected_objectsB | Get the currently selected objects in Maya. |
| create_objectA | Create a Maya object. object_type: cube, sphere, plane, cylinder, cone, torus, camera, point_light, directional_light, spot_light. Returns the created object name. |
| delete_objectsB | Delete one or more Maya objects by name. names is a list of object names. |
| duplicate_objectC | Duplicate a Maya object. Optionally rename the duplicate. |
| rename_objectC | Rename a Maya object. |
| set_parentA | Parent a child object to a parent. Pass parent=null to unparent (move to world). |
| set_transformB | Set world-space translation [x,y,z], rotation [rx,ry,rz] (degrees), and/or scale [sx,sy,sz] on an object. All parameters are optional — only the ones provided will be changed. |
| get_transformB | Get world-space translation, rotation, and scale of a Maya object. |
| create_materialA | Create a Maya material/shader and its shading group. material_type: lambert, blinn, phong, standardSurface, aiStandardSurface. |
| assign_materialC | Assign a material to one or more objects. object_names is a list. |
| list_materialsA | List all materials in the current Maya scene. |
| set_material_propertyB | Set a property on a Maya material. For colors pass [r,g,b] (0-1 range). Examples: attribute='color' value=[1,0,0] for red, attribute='transparency' value=[0.5,0.5,0.5]. |
| get_attributeA | Get the value of an attribute on a Maya node. Example: node='pCube1', attribute='tx'. |
| set_attributeC | Set the value of an attribute on a Maya node. Pass lists for multi-component attrs. |
| list_attributesA | List attributes on a Maya node. Set keyable=true to list only keyable attributes. |
| render_sceneB | Render the current Maya scene with Arnold or Maya Software (whichever is active) and return it as a PNG. width/height override the resolution for this render only. output_path is where to save the render. |
| set_render_settingsC | Configure Maya render settings. renderer examples: 'mayaSoftware', 'arnold', 'vray' (render_scene supports 'arnold' and 'mayaSoftware'). |
| export_sceneA | Export the scene or selection. export_type: ma, mb, fbx, obj, abc (Alembic). Set selected_only=true to export only selected objects. |
| import_fileC | Import a file into Maya. import_type auto-detected from extension if not specified. Supported: ma, mb, fbx, obj, abc. |
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 23 tools
Most tools are distinct resource/action pairs, but execute_maya_code is a universal escape hatch that overlaps with nearly every specialized tool. get_object_info, get_transform, get_attribute, and set_attribute also overlap on reading/writing node data, though descriptions provide enough guidance.
All tool names use snake_case with a predictable verb_noun pattern such as get_, set_, create_, list_, assign_, export_, and import_. No inconsistent casing or vague standalone verbs are present.
At 23 tools this is in the rubric's heavy 16-25 range, though the breadth mirrors Maya's modeling, material, attribute, rendering, and import/export surface. Each tool is purposeful, but generic attribute and transform tools could be consolidated.
The set covers core scene inspection, object CRUD, transforms, parenting, materials, attributes, rendering, and import/export. Minor gaps include selection mutation, group creation, material deletion, keyframing/animation, and scene save/open, though execute_maya_code provides workarounds.