Skip to main content

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.

CI PyPI Python License: MIT

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

  1. Load the plugin via Window > Settings/Preferences > Plug-in Manager and find dcc_mcp_maya.
  2. 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dcc_mcp_maya-0.2.3.tar.gz (534.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dcc_mcp_maya-0.2.3-py3-none-any.whl (548.6 kB view details)

Uploaded Python 3

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

Hashes for dcc_mcp_maya-0.2.3.tar.gz
Algorithm Hash digest
SHA256 d41416a2d3b4a009d7d2f8c5aacbeec299282fef719da820890a4cf975063af9
MD5 602a9d2df2457c4417dd32cc996247ae
BLAKE2b-256 295bf250fc4f8c514928054cec1b239581c517ec98822a3d9393f138960791c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_maya-0.2.3.tar.gz:

Publisher: release.yml on loonghao/dcc-mcp-maya

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for dcc_mcp_maya-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 baacb3c34ef3f3d57bbab448fa47689b2571c641a7cd8283ebde647cbe83fc99
MD5 f4b14d67c99d08651c70b0ef817b0ce5
BLAKE2b-256 c57e13324d876bc78d06b92bc2d78153ebed70e5f29f1d19d18d3e2300f1a645

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page