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 codecov 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  ──►  ToolRegistry                   │   │
│  │  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_plugin")
    

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_plugin.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
DCC_MCP_MAYA_SKILL_PATHS (none) Extra skill directories (semicolon-separated on Windows, colon on Unix)
DCC_MCP_SKILL_PATHS (none) Global fallback skill directories for all DCC adapters

Bundled Skills (Zero Configuration)

dcc-mcp-maya automatically loads the bundled general-purpose skills shipped inside the dcc-mcp-core wheel — no path configuration required.

Skill Tools Notes
dcc-diagnostics screenshot, audit_log, action_metrics, process_status Observability & debugging
workflow run_chain Multi-step action chaining
git-automation repo_stats, changelog_gen Git analysis
ffmpeg-media convert, probe, thumbnail Requires ffmpeg on PATH
imagemagick-tools resize, composite Requires ImageMagick on PATH

To opt-out of bundled skills:

# Disable all bundled core skills
handle = dcc_mcp_maya.start_server(include_bundled=False)

# Or fine-grained control
server = MayaMcpServer()
server.register_builtin_actions(include_bundled=False)

Skill search-path priority (highest → lowest):

  1. extra_skill_paths argument
  2. Built-in Maya skills (shipped in this package)
  3. DCC_MCP_MAYA_SKILL_PATHS environment variable
  4. DCC_MCP_SKILL_PATHS environment variable
  5. Bundled dcc-mcp-core skills ← loaded by default
  6. Platform default skills directory

Diagnostic IPC Actions

When register_builtin_actions() is called, three IPC callback actions are automatically registered so the dcc-diagnostics skill can retrieve live runtime data from the running Maya process:

Action Returns
get_audit_log SandboxContext audit entries
get_tool_metrics ToolRecorder performance counters
dispatch_tool Relay for workflow__run_chain

The DCC_MCP_IPC_ADDRESS environment variable is set automatically so skill subprocesses can connect back without any manual configuration.

Available MCP Tools

dcc-mcp-maya currently ships 64 built-in skill packages and 370+ Maya MCP tools. The sections below are representative categories, not an exhaustive inventory. Skill discovery is progressive: register_builtin_actions() indexes available skills, and individual skill toolsets are loaded on demand by the MCP server.

Scene

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

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

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

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

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

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.9.tar.gz (608.8 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.9-py3-none-any.whl (558.0 kB view details)

Uploaded Python 3

File details

Details for the file dcc_mcp_maya-0.2.9.tar.gz.

File metadata

  • Download URL: dcc_mcp_maya-0.2.9.tar.gz
  • Upload date:
  • Size: 608.8 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.9.tar.gz
Algorithm Hash digest
SHA256 ecdf7e455c425160331cc11568657c77c2329ad6d01d5bac5c2650675e2b8ba7
MD5 47ab3a1a50a77b7ae1d00132e26c2f88
BLAKE2b-256 6c0c450c04ffe76fa1779008e883a8f3d344ddaee9df9fbbbd0bacc5b87d80fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_maya-0.2.9.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.9-py3-none-any.whl.

File metadata

  • Download URL: dcc_mcp_maya-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 558.0 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8b1405ad548d2143ff8eee32e3214bf815105c20abd414d65b5115e57f1711c6
MD5 dbcaa80e2febe4f9c0174de50a65f80d
BLAKE2b-256 b519410584b2875be2bcefe3d62d9df8a2212fb0ccfc76ef693455aabfad92ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_maya-0.2.9-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