Skip to main content
Glama

Maya MCP

Connect Autodesk Maya to AI assistants (Claude, Cursor, VS Code) via the Model Context Protocol.

How it works

AI Client  ──stdio──►  MayaMCP server  ──TCP :9877──►  Maya commandPort  ──►  maya.cmds

Maya's built-in commandPort acts as the TCP bridge. The MCP server sends Python expressions to it; Maya evaluates them on its main thread and returns results. No plugin required.

The server opens a new connection for every command and closes it afterwards. Maya's commandPort serves one connection at a time, so this lets several AI clients (e.g. Claude Desktop and Claude Code) use the same Maya session.

Security: the commandPort runs any Python code sent to it, and so does the execute_maya_code tool. Only open the port on a machine you trust, keep it bound to localhost, and close it (cmds.commandPort(name=":9877", close=True)) when you don't need it.

Related MCP server: Maya MCP Server

Setup

1. Install the MCP server

Requires uv (or pip) and Python 3.10+.

uv tool install git+https://github.com/science-animated/maya-mcp
# or with pip:
pip install git+https://github.com/science-animated/maya-mcp

Install from this repository. The maya-mcp package on PyPI is a different project.

2. Configure Maya

Copy (or symlink) maya_mcp_handlers.py and userSetup.py from this repository to your Maya scripts directory:

  • macOS: ~/Library/Preferences/Autodesk/maya/scripts/

  • Linux: ~/maya/scripts/

  • Windows: %USERPROFILE%\Documents\maya\scripts\

userSetup.py opens commandPort :9877 every time Maya starts. If you already have a userSetup.py, add its contents to yours instead. After restarting Maya, the Script Editor shows maya-mcp: commandPort :9877 open: True.

Maya 2022+ may ask in a Safe Mode dialog whether to allow the new userSetup.py. Allow it, otherwise Maya skips the file (see Preferences → Security).

To activate it without restarting Maya, run this in the Script Editor:

import maya.cmds as cmds
cmds.commandPort(name=":9877", sourceType="python")

3. Configure your AI client

The AI client starts maya-mcp itself. You don't need to run it in a terminal.

Claude Desktop: edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\) and restart Claude Desktop:

{
  "mcpServers": {
    "maya": {
      "command": "/full/path/to/maya-mcp"
    }
  }
}

Use the full path (find it with which maya-mcp, usually ~/.local/bin/maya-mcp). Apps started from the Dock don't get your shell's PATH.

Claude Code CLI:

claude mcp add maya --scope user -- maya-mcp

Environment variables (optional):

Variable

Default

Description

MAYA_HOST

127.0.0.1

Maya host (Maya's commandPort listens on IPv4 only)

MAYA_PORT

9877

commandPort number

Available tools (23)

Category

Tools

Scene

get_scene_info, get_object_info, get_viewport_screenshot, execute_maya_code, get_selected_objects

Objects

create_object, delete_objects, duplicate_object, rename_object, set_parent

Transforms

set_transform, get_transform

Materials

create_material, assign_material, list_materials, set_material_property

Attributes

get_attribute, set_attribute, list_attributes

Rendering

render_scene, set_render_settings

File I/O

export_scene, import_file

render_scene uses Arnold when it is the active renderer and the Maya Software renderer otherwise. Renders without an output_path are deleted after they are returned.

Example prompts

  • "Create a red sphere at position (2, 0, 0)"

  • "List all objects in the scene"

  • "Take a screenshot of the viewport"

  • "Export the selected objects as FBX to /tmp/export.fbx"

  • "Set the render resolution to 1920x1080 and render the scene"

  • "Create a point light above the scene and set its intensity to 2"

Troubleshooting

Message

Cause

nothing is listening on 127.0.0.1:9877

Maya isn't running or the commandPort isn't open.

connecting … timed out

Maya is busy, or another client is holding the port open.

Maya did not answer … within 30s

The command is still running in Maya (long operations, renders).

Claude Desktop logs are in ~/Library/Logs/Claude/mcp-server-maya.log (macOS).

Development

git clone https://github.com/science-animated/maya-mcp
cd maya-mcp
uv tool install --editable .

With an editable install, changes to src/maya_mcp/server.py take effect when the AI client restarts the server (/mcp → reconnect in Claude Code). Changes to maya_mcp_handlers.py need a Maya restart or importlib.reload(maya_mcp_handlers).

Supported Maya versions

Maya 2022 and later (Python 3). Tested with Maya 2025 and Arnold (MtoA) 5.6 on macOS.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to connect to and control Autodesk Maya for 3D modeling, animation, and rendering operations through the Model Context Protocol, supporting object creation, transformation, scene queries, and Python command execution.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to programmatically control Autodesk Maya via natural language using over 30 tools for 3D modeling, lighting, and animation. It connects through Maya's command port to facilitate procedural scene generation and complex production-ready workflows.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants like Claude Desktop to control Autodesk Maya via natural language through the Model Context Protocol.
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables control of Autodesk Maya using natural language via Claude and the Model Context Protocol, providing tools for modeling, animation, scene management, and RAG-powered documentation search.
    17
    2
    MIT