Maya plugin for the DCC Model Context Protocol (MCP) ecosystem — embeds a Streamable HTTP MCP server directly inside Maya
Project description
dcc-mcp-maya
Maya plugin for the DCC Model Context Protocol (MCP) ecosystem.
Embeds a standards-compliant MCP Streamable HTTP server (2025-03-26 spec) directly inside Maya — no external gateway or separate IPC process required.
Architecture
┌─────────────────────────────────────────────────────────┐
│ Maya (embedded Python) │
│ │
│ import dcc_mcp_maya │
│ handle = dcc_mcp_maya.start_server(port=8765) │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ McpHttpServer (dcc-mcp-core / Rust/axum) │ │
│ │ POST /mcp ──► ActionRegistry │ │
│ │ GET /mcp ──► SSE stream │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────┘
│ http://127.0.0.1:8765/mcp
┌─────────────────────────────▼───────────────────────────┐
│ MCP Host (Claude Desktop / OpenClaw / Cursor / …) │
└─────────────────────────────────────────────────────────┘
Installation
Into Maya's Python
mayapy -m pip install dcc-mcp-maya
As a Maya Plugin
- Load the plugin via Window > Settings/Preferences > Plug-in Manager and find
dcc_mcp_maya. - Or add to your
userSetup.py:import maya.cmds as cmds cmds.loadPlugin("dcc_mcp_maya")
Quick Start
Option A — From Python Script Panel
import dcc_mcp_maya
handle = dcc_mcp_maya.start_server(port=8765)
print(handle.mcp_url()) # http://127.0.0.1:8765/mcp
Point your MCP host at the URL above.
Option B — Load Plugin
Copy maya/plugin/dcc_mcp_maya.py to a directory on MAYA_PLUG_IN_PATH.
The server starts automatically when the plugin loads.
Configuration
| Environment variable | Default | Description |
|---|---|---|
DCC_MCP_MAYA_PORT |
8765 |
TCP port for the MCP server |
DCC_MCP_MAYA_SERVER_NAME |
maya-mcp |
Name shown in MCP initialize |
Available MCP Tools
Scene (7 tools)
| Tool | Description |
|---|---|
get_session_info |
Maya version, scene path, FPS, object count |
new_scene |
Create a new scene |
save_scene |
Save scene to disk |
open_scene |
Open a scene file |
list_objects |
List DAG objects (optional type filter) |
get_selection |
Get current selection |
set_selection |
Set active selection |
Geometry (8 tools)
| Tool | Description |
|---|---|
create_sphere |
Create polygon sphere |
create_cube |
Create polygon cube |
create_cylinder |
Create polygon cylinder |
create_plane |
Create polygon plane |
delete_objects |
Delete objects from the scene |
set_transform |
Set translate/rotate/scale |
get_transform |
Query translate/rotate/scale |
rename_object |
Rename an object |
Material (4 tools)
| Tool | Description |
|---|---|
create_material |
Create Lambert/Blinn/Phong/Arnold material |
assign_material |
Assign material to objects |
set_material_attribute |
Set material color, roughness, etc. |
list_materials |
List all scene materials |
Animation (5 tools)
| Tool | Description |
|---|---|
set_keyframe |
Set keyframe on object attributes |
get_keyframes |
Get keyframe times for object/attribute |
set_timeline |
Set playback timeline range |
get_current_time |
Get current frame number |
set_current_time |
Set current frame number |
Render (4 tools)
| Tool | Description |
|---|---|
set_render_settings |
Set resolution, frame range, renderer |
capture_viewport |
Capture viewport as base64-encoded PNG |
import_file |
Import FBX/OBJ/Alembic/Maya file |
export_selection |
Export selection to FBX/OBJ/Alembic |
Scripting (2 tools)
| Tool | Description |
|---|---|
execute_mel |
Execute a MEL script |
execute_python |
Execute Python inside Maya |
Claude Desktop Integration
Add to claude_desktop_config.json:
{
"mcpServers": {
"maya": {
"url": "http://127.0.0.1:8765/mcp"
}
}
}
Requirements
- Maya 2020+ (Python 3.7+)
dcc-mcp-core≥ 0.12.7
Development
git clone https://github.com/loonghao/dcc-mcp-maya
cd dcc-mcp-maya
pip install -e ".[dev]"
pytest tests/
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcc_mcp_maya-0.2.3.tar.gz.
File metadata
- Download URL: dcc_mcp_maya-0.2.3.tar.gz
- Upload date:
- Size: 534.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d41416a2d3b4a009d7d2f8c5aacbeec299282fef719da820890a4cf975063af9
|
|
| MD5 |
602a9d2df2457c4417dd32cc996247ae
|
|
| BLAKE2b-256 |
295bf250fc4f8c514928054cec1b239581c517ec98822a3d9393f138960791c9
|
Provenance
The following attestation bundles were made for dcc_mcp_maya-0.2.3.tar.gz:
Publisher:
release.yml on loonghao/dcc-mcp-maya
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_maya-0.2.3.tar.gz -
Subject digest:
d41416a2d3b4a009d7d2f8c5aacbeec299282fef719da820890a4cf975063af9 - Sigstore transparency entry: 1280523034
- Sigstore integration time:
-
Permalink:
loonghao/dcc-mcp-maya@e75509faaaaa0be823bbbd955dbd0b5149e2538a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e75509faaaaa0be823bbbd955dbd0b5149e2538a -
Trigger Event:
push
-
Statement type:
File details
Details for the file dcc_mcp_maya-0.2.3-py3-none-any.whl.
File metadata
- Download URL: dcc_mcp_maya-0.2.3-py3-none-any.whl
- Upload date:
- Size: 548.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baacb3c34ef3f3d57bbab448fa47689b2571c641a7cd8283ebde647cbe83fc99
|
|
| MD5 |
f4b14d67c99d08651c70b0ef817b0ce5
|
|
| BLAKE2b-256 |
c57e13324d876bc78d06b92bc2d78153ebed70e5f29f1d19d18d3e2300f1a645
|
Provenance
The following attestation bundles were made for dcc_mcp_maya-0.2.3-py3-none-any.whl:
Publisher:
release.yml on loonghao/dcc-mcp-maya
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_maya-0.2.3-py3-none-any.whl -
Subject digest:
baacb3c34ef3f3d57bbab448fa47689b2571c641a7cd8283ebde647cbe83fc99 - Sigstore transparency entry: 1280523035
- Sigstore integration time:
-
Permalink:
loonghao/dcc-mcp-maya@e75509faaaaa0be823bbbd955dbd0b5149e2538a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e75509faaaaa0be823bbbd955dbd0b5149e2538a -
Trigger Event:
push
-
Statement type: