mcpField
M
Maya MCP

Maya MCP

Local
gimbalgoats.github.ioMedia & Design30Updated 14w ago

About Maya MCP

Maya MCP is an unofficial, open-source local MCP server that controls Autodesk Maya scenes through Maya's commandPort. It is aimed at 3D artists and developers who want MCP clients to work with Maya. The server runs outside Maya, does not import Maya modules, and only talks to localhost.

Key features

  1. 0171 typed tools instead of raw API calls
  2. 02Server runs outside Maya without importing its modules
  3. 03Communicates with Maya over localhost only
  4. 04Guards unsaved scene changes before replacement
  5. 05Raw script execution disabled unless explicitly enabled

Use cases

  1. 01Performing modeling, shading, and animation tasks from an MCP client
  2. 02Querying scene info, nodes, and selections in Maya
  3. 03Checking Maya scene state from Claude Desktop or coding clients

MCP support

Maya MCP is itself an MCP server that exposes tools grouped by family, such as scene, nodes, modeling, shading, skin, and animation. Clients launch it over stdio, and it relays requests to Maya through the commandPort.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"gimbalgoats-maya": {
"command": "uvx",
"args": [
"maya-mcp"
]
}
}
}
Run commanduvx maya-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimaya-mcp0.6.1

Tools

71

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

Maya MCP Server for Autodesk Maya

Python 3.10.1+ PyPI version GitHub release CI Publish Docs Claude Desktop License: MIT

Maya MCP banner

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.

Why Use It

  • runs outside Maya, so the server stays isolated from Maya imports
  • talks to Maya over localhost only
  • exposes 71 typed tools instead of raw API calls
  • supports safer scene replacement flows for unsaved changes
  • leaves raw code execution disabled unless you opt in

Claude Desktop Quick Start

For Claude Desktop, use the packaged MCPB extension from the latest GitHub Release.

  1. Download maya-mcp-<version>.mcpb from the release Assets section.
  2. Install it in Claude Desktop by double-clicking the .mcpb file, dragging it into Claude Desktop, or using Settings -> Extensions -> Advanced settings -> Install Extension.
  3. Keep the Maya commandPort setting at 7001 unless you use a different port.
  4. Open Maya and run the commandPort setup from the next section.
  5. In Claude Desktop, verify with 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.

Quick Start

1. Install
pip install maya-mcp

On Windows:

py -m pip install maya-mcp

From source:

pip install -e ".[dev]"
2. Open Maya commandPort

Download, 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.

3. Start the server
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.

4. Add it to your client
Codex CLI / IDE extension

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

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.

Claude Desktop Extension

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

VS Code uses .vscode/mcp.json with a servers object.

{
  "servers": {
    "maya": {
      "type": "stdio",
      "command": "maya-mcp"
    }
  }
}
Other MCP clients

Some clients use a generic mcpServers object:

{
  "mcpServers": {
    "maya": {
      "command": "maya-mcp",
      "args": []
    }
  }
}
5. Verify

Call these tools in order:

  1. health.check
  2. scene.info
  3. nodes.list

Tool Coverage

FamilyCount
health1
maya2
scene9
nodes7
attributes2
selection6
connections5
mesh3
viewport1
modeling15
shading3
skin6
animation6
curve2
script3

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.

Main Docs

Published docs: https://gimbalgoats.github.io/GG_MayaMCP/

Development

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

Security Notes

  • localhost only
  • no remote-host support
  • no Maya imports in the MCP server process
  • no arbitrary code execution by default
  • no secrets or raw tracebacks in client-facing errors

Privacy

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.

License

MIT. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.