Maya MCP¶
Maya MCP is a local MCP server for controlling Autodesk Maya through Maya's commandPort.
It is designed for practical AI-assisted Maya work:
- run the MCP server outside Maya
- keep Maya communication on
localhost - expose typed tools instead of raw Maya APIs
- keep read-only and mutating actions easy to reason about
- support safer unsaved-scene confirmation flows when the client can elicit forms
Start Here¶
If you just want it working:
- Read Getting Started
- Add it to your client with Client Setup
- Skim Tool Guide so you know what is available
If you are changing the project:
What You Get¶
Maya MCP currently exposes 71 tools across these families:
| Family | Count | Typical use |
|---|---|---|
health |
1 | Check whether Maya is reachable |
maya |
2 | Manually connect or disconnect the transport |
scene |
9 | Open, save, import, export, undo, redo |
nodes |
7 | List, create, rename, parent, duplicate, inspect |
attributes |
2 | Read and write attributes |
selection |
6 | Manage object and component selections |
connections |
5 | Inspect and edit DG connections |
mesh |
3 | Inspect topology and vertex data |
viewport |
1 | Capture screenshots from Maya |
modeling |
15 | Common polygon modeling actions |
shading |
3 | Create and assign materials |
skin |
6 | Bind, inspect, and edit skin weights |
animation |
6 | Timeline and keyframe workflows |
curve |
2 | Inspect NURBS curves |
script |
3 | Discover and run approved scripts, with opt-in raw execution |
For scene replacement operations, scene.new and scene.open still refuse by default when the current scene has unsaved changes. Clients that advertise MCP form elicitation can receive an in-band discard-changes confirmation instead of having to retry explicitly with force=true.
Five-Minute Setup¶
- Install
maya-mcp
- Open Maya
commandPort
import maya.cmds as cmds
try:
cmds.commandPort(name=":7001", close=True)
except RuntimeError:
pass
cmds.commandPort(
name=":7001",
sourceType="python",
echoOutput=True,
noreturn=False,
bufferSize=16384,
)
- Start the server
- Add it to your MCP client
Use the examples in Client Setup.
- Call
health.check
If that succeeds, try scene.info or nodes.list.
Guardrails¶
These are the rules that shape the whole project:
- The MCP server process does not import
maya.cmds. - Maya communication stays on
localhostonly. script.runis disabled unlessMAYA_MCP_ENABLE_RAW_EXECUTION=true.- Large results use limits, truncation, or pagination where needed.
- Exact tool schemas are exposed through MCP
tools/listmetadata.
Documentation Map¶
- Getting Started: install, run, verify
- Client Setup: VS Code and generic stdio examples
- Maya Control Panel: optional in-Maya UI for managing
commandPort - Tool Guide: tool families, defaults, limits, risk model, and scene safety notes
- Architecture Overview: runtime shape and module layout
- Transport Specification: connection lifecycle, retries, errors
- Security Specification: localhost-only and script-execution trust model
- API Reference: generated Python API docs
- PRD: scope and planned direction