Control Autodesk Maya scenes with 71 typed tools for modeling, animation, shading, and more.
Runs on your machine from its package; the steps are below.

At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx maya-mcp
MCP client config
{
"mcpServers": {
"maya-mcp": {
"command": "uvx",
"args": [
"maya-mcp"
]
}
}
}
Maya MCP is an open-source, local Model Context Protocol server for controlling Autodesk Maya through Maya's commandPort.
Supported Maya versions: Autodesk Maya 2024 and later.
It gives MCP clients a typed tool surface for scene work, nodes, selection, modeling, shading, skinning, animation, curves, scripts, and viewport capture without importing Maya modules in the server process.
This project is unofficial and is not affiliated with or endorsed by Autodesk. Autodesk Maya is a trademark of Autodesk, Inc.
localhost onlyFor Claude Desktop, use the packaged MCPB extension from the latest GitHub Release.
maya-mcp-<version>.mcpb from the release Assets section..mcpb file, dragging
it into Claude Desktop, or using Settings -> Extensions -> Advanced settings
-> Install Extension.7001 unless you use a different port.health_check, scene_info, and
nodes_list.Claude Desktop uses underscore tool names such as scene_info. Other MCP
clients use dotted names such as scene.info.
pip install maya-mcp
On Windows:
py -m pip install maya-mcp
From source:
pip install -e ".[dev]"
commandPortDownload, then paste and run, the complete
scripts/enable_commandport.py
file in Maya's Python Script Editor. The helper keeps the established Python +
echoOutput path on Maya 2025 and later. On Maya 2024 only, it selects the
loopback-only response compatibility path required by that release.
maya-mcp
Other supported launch styles:
python -m maya_mcp.server
python src/maya_mcp/server.py
fastmcp run
fastmcp run works from this repo because it includes fastmcp.json.
Codex uses ~/.codex/config.toml for MCP servers. The CLI and IDE extension share that config.
Installed package:
[mcp_servers.maya]
command = "maya-mcp"
Source checkout or Windows-friendly setup:
[mcp_servers.maya]
command = "py"
args = ["-m", "maya_mcp.server"]
env = { PYTHONPATH = "src" }
Use the PYTHONPATH line only when running from a source checkout.
Use python instead of py on platforms that do not provide the Windows launcher.
Claude Code project-scoped MCP servers live in .mcp.json.
The server key is user-defined; these examples use maya consistently.
Installed package:
{
"mcpServers": {
"maya": {
"command": "maya-mcp",
"args": []
}
}
}
Source checkout or Windows-friendly setup:
{
"mcpServers": {
"maya": {
"command": "py",
"args": ["-m", "maya_mcp.server"],
"env": {
"PYTHONPATH": "src"
}
}
}
}
For Codex CLI and Claude Code on Windows, py -m maya_mcp.server is usually more reliable than relying on the maya-mcp console script being on the correct PATH.
Maya MCP ships as a Claude Desktop MCPB extension. The extension still runs the
same local stdio server and keeps Maya communication on localhost.
User installation, build, verification, and troubleshooting notes live in Claude Desktop Extension.
Published GitHub Releases attach the built .mcpb package as
maya-mcp-<version>.mcpb after the release workflow validates and smoke-tests
the bundle.
The packaging script supports a user-local MCPB CLI install:
npm install --prefix "$env:USERPROFILE\.tools\mcpb" @anthropic-ai/mcpb
.\packaging\claude-mcpb\build.ps1
VS Code uses .vscode/mcp.json with a servers object.
{
"servers": {
"maya": {
"type": "stdio",
"command": "maya-mcp"
}
}
}
Some clients use a generic mcpServers object:
{
"mcpServers": {
"maya": {
"command": "maya-mcp",
"args": []
}
}
}
Call these tools in order:
health.checkscene.infonodes.list| Family | Count |
|---|---|
health | 1 |
maya | 2 |
scene | 9 |
nodes | 7 |
attributes | 2 |
selection | 6 |
connections | 5 |
mesh | 3 |
viewport | 1 |
modeling | 15 |
shading | 3 |
skin | 6 |
animation | 6 |
curve | 2 |
script | 3 |
script.run is disabled by default and requires MAYA_MCP_ENABLE_RAW_EXECUTION=true.
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 with force=True.
Published docs: https://gimbalgoats.github.io/GG_MayaMCP/
This repo uses py for Python commands on Windows:
py -m ruff check .
py -m ruff format .
py -m mypy src/
py -m pytest
If tests import maya_mcp from site-packages instead of this repo:
$env:PYTHONPATH='src'
py -m pytest
Maya MCP runs locally. The project does not operate a hosted service, collect telemetry, or receive Maya scene data from local use. See Privacy Policy.
MIT. See LICENSE.