Skip to main content
Glama
Jeffreytsai1004

Maya MCP Server

Maya MCP Server

Connect Claude AI to Autodesk Maya through Model Context Protocol

License: MIT Python 3.10+ Maya 2020+

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Français | Deutsch | Русский


Overview

Maya MCP Server enables Claude AI to directly control Autodesk Maya through the Model Context Protocol, enabling:

  • 🎨 AI-assisted 3D modeling

  • 🤖 Natural language Maya control

  • 📸 Real-time scene preview

  • 🔧 Workflow automation

Related MCP server: Maya MCP Server

Quick Start

1. Install Dependencies

pip install "mcp[cli]>=1.3.0"

2. Load Maya Plugin

Load plug-ins/maya_mcp.py in Maya's Plug-in Manager:

  1. Copy plug-ins/maya_mcp.py to:

    • Windows: C:\Users\<username>\Documents\maya\<version>\plug-ins\

    • macOS: ~/maya/<version>/plug-ins/

  2. Open Maya → Windows > Settings/Preferences > Plug-in Manager

  3. Find maya_mcp.py, check Loaded and Auto load

  4. Verify in Script Editor:

    MayaMCP: Plugin loaded successfully
    MayaMCP: Server started at localhost:9877

3. Configure Claude Desktop

Edit config file (Settings > Developer > Edit Config):

Standard Configuration:

{
  "mcpServers": {
    "maya-mcp": {
      "command": "npx",
      "args": [
        "--yes",
        "maya-mcp-server"
      ],
      "env": {
        "MAYA_HOST": "localhost",
        "MAYA_PORT": "9877"
      },
      "alwaysAllow": [
          "get_scene_info",
          "get_object_info",
          "create_primitive",
          "delete_object",
          "set_material",
          "transform_object",
          "smart_select",
          "get_scene_summary",
          "get_console_output",
          "execute_maya_code"
      ]
    }
  }
}

Force Update Configuration (always pull latest package):

{
  "mcpServers": {
    "maya-mcp": {
      "command": "npx",
      "args": [
        "--yes",
        "--no-cache",
        "maya-mcp-server"
      ],
      "env": {
        "MAYA_HOST": "localhost",
        "MAYA_PORT": "9877"
      },
      "alwaysAllow": [
          "get_scene_info",
          "get_object_info",
          "create_primitive",
          "delete_object",
          "set_material",
          "transform_object",
          "smart_select",
          "get_scene_summary",
          "get_console_output",
          "execute_maya_code"
      ]
    }
  }
}

Option B: Using Python

{
  "mcpServers": {
    "maya-mcp": {
      "command": "python",
      "args": ["-m", "maya_mcp.server"],
      "env": {
        "PYTHONPATH": "YOUR_PROJECT_PATH/src",
        "MAYA_HOST": "localhost",
        "MAYA_PORT": "9877"
      },
      "alwaysAllow": [
          "get_scene_info",
          "create_primitive",
          "delete_object",
          "set_material",
          "transform_object",
          "smart_select",
          "get_scene_summary",
          "get_console_output",
          "execute_maya_code"
      ]
    }
  }
}

💡 More configuration options in examples/

4. Test Connection

Restart Claude Desktop, then ask:

Get current Maya scene information

If you see scene info returned, it's working! ✅

Features

🛠️ Core Tools

Tool

Function

get_scene_info

Get scene information (objects, cameras, lights)

get_object_info

Get object details (position, rotation, material)

create_primitive

Create geometry (cube/sphere/cylinder/plane/torus)

delete_object

Delete objects

transform_object

Transform objects (move/rotate/scale)

set_material

Set materials and colors

execute_maya_code

Execute Python code

smart_select

Smart object selection with regex and filters

get_scene_summary

Get comprehensive scene summary

get_console_output

Get Maya console/script editor output 🆕

💬 Example Conversations

User: Create a red cube at position (0, 5, 0)

Claude: 
1. Created cube
2. Moved to specified position
3. Applied red material
✅ Done
User: Create a simple table and chair scene

Claude:
1. Created table top (scaled cube)
2. Created 4 table legs (cylinders)
3. Created chair
4. Set materials
✅ Scene created successfully

Usage Examples

Basic Operations

# Scene queries
"Show all objects in the current scene"
"Get detailed info for pCube1"
"Get console output to see recent Maya logs"

# Create objects
"Create a sphere named mySphere"
"Create 10 cubes in a row"

# Modify objects
"Move pCube1 to (5, 0, 0)"
"Set pSphere1 to blue"
"Rotate pCylinder1 45 degrees on Y axis"

# Smart selection
"Select all objects with 'character' in their name"
"Find all meshes with more than 5000 faces"

Advanced Operations

# Procedural modeling
"Execute code to create a 5x5 cube grid"

# Vertex/Face editing
"Create a plane and edit vertices to make a terrain"
"Extrude faces to create details"

# UV editing
"Apply automatic UV projection to selected objects"
"Create spherical UV mapping for the sphere"

# Animation
"Create keyframe animation for bouncing ball"
"Set up 3-point lighting system"

# Rigging
"Create a spine bone chain with 5 joints"
"Set up parent constraints"

# Dynamics
"Create particle system with gravity"
"Apply bend deformer to plane"

# Boolean operations
"Subtract cube2 from cube1"
"Union two overlapping spheres"

# Batch operations
"Set all spheres to random colors"

# Complex scenes
"Create a simple interior scene with floor, walls, and furniture"

Configuration Options

Environment Variables

Variable

Default

Description

MAYA_HOST

localhost

Maya server address

MAYA_PORT

9877

Maya server port

PYTHONPATH

-

Python module search path (Python direct mode only)

Custom Port

In Maya plugin:

start_maya_mcp_server(host='localhost', port=9878)

In config file:

"env": {
  "MAYA_PORT": "9878"
}

Troubleshooting

Connection Failed

Issue: "Cannot connect to Maya"

Solutions:

  1. ✅ Verify Maya is running

  2. ✅ Confirm plugin is loaded (check Plug-in Manager)

  3. ✅ Check Script Editor for startup messages

  4. ✅ Ensure port 9877 is not in use

Module Not Found

Issue: "ModuleNotFoundError: No module named 'maya_mcp'"

Solutions:

  1. Install dependencies: pip install "mcp[cli]>=1.3.0"

  2. Check PYTHONPATH setting (if using Python direct mode)

  3. Try using npx method instead

NPX Configuration Issues

Issue: npx fails to start the server or can't find files

Solutions:

  1. Use absolute paths in configuration (not relative paths)

  2. Use forward slashes / in Windows paths

  3. Verify project structure is intact

  4. See detailed guide: NPX_TROUBLESHOOTING.md

Plugin Load Failed

Issue: Maya reports "No initializePlugin() function"

Solutions:

  • Ensure using latest version of maya_mcp.py

  • Plugin file contains initializePlugin() and uninitializePlugin() functions

Security Notes

⚠️ Important:

  • execute_maya_code tool allows execution of arbitrary Python code

  • Always save Maya scene before executing

  • Use with caution in production environments

  • Test operations in a test scene first

Logs

Server logs are saved at:

  • Windows: %TEMP%\maya-mcp\maya-mcp.log

  • macOS/Linux: /tmp/maya-mcp/maya-mcp.log

Check logs to debug connection issues or command execution errors.

Development

Adding New Tools

  1. Add command handler in plug-ins/maya_mcp.py

  2. Add MCP tool definition in src/maya_mcp/server.py

  3. Test new tool

Run Development Server

# Set environment
export PYTHONPATH=/path/to/maya-mcp-server/src

# Run server
python -m maya_mcp.server

Contributing

Contributions welcome! See CONTRIBUTING.md

Acknowledgments

Inspired by:

License

MIT License

Disclaimer

This is a third-party project, not an official Autodesk product.


Get StartedConfiguration GuideReport Issues

Made with ❤️ for Maya artists and AI enthusiasts

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jeffreytsai1004/maya-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server