Skip to main content

dcc-mcp-core

dcc-mcp-core logo

Core PyPI Server PyPI CI GitHub Release License

中文 | English

Rust-first control plane for connecting AI agents to live DCC sessions.

dcc-mcp-core turns Maya, Blender, Houdini, Photoshop, and custom studio hosts into discoverable MCP and REST capabilities. It provides the gateway, skills, structured results, main-thread dispatch, diagnostics, IPC, workflows, and packaged CLI/server binaries needed to operate real desktop sessions.

Choose your entry point

You want to… Start with
Control a running DCC from an agent or CI job dcc-mcp-cli
Expose a DCC adapter over MCP/REST create_skill_server
Add tools without Python registration code SKILL.md + tools.yaml
Build a new DCC adapter new-adapter-onboarding.md
Understand routing and multi-instance behavior gateway.md
Integrate from any HTTP client rest-api-surface.md

The current contract

The default agent path is CLI + REST:

dcc-mcp-cli list
  -> search
  -> describe
  -> load-skill (only when needed)
  -> call

The gateway keeps tools/list bounded. It advertises the canonical discovery/dispatch wrappers (search, describe, load_skill, and call) instead of fanning every backend tool into one large list. Backend capabilities are discovered by search, inspected by describe, and invoked through the wrapper or the REST twin (POST /v1/search, /v1/describe, /v1/call).

When a concrete DCC session is needed, read gateway://instances; each entry already includes its mcp_url. Do not use the removed legacy instance tools (list_dcc_instances, get_dcc_instance, or connect_to_dcc). Wrapper inputs belong inside arguments; do not put backend fields beside tool_slug.

For direct per-DCC MCP connections, the compatibility discovery names (search_tools, describe_tool, and call_tool) remain available where the server exposes them. New gateway integrations should use the canonical names above.

Quick start: operate a DCC

Install the standalone CLI when you need the operator/CI control plane without setting up Python:

# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh | bash

# Windows PowerShell
powershell -c "irm https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 | iex"

Then discover a live capability before calling it:

dcc-mcp-cli list
dcc-mcp-cli search --query "create sphere" --dcc-type maya --limit 20
dcc-mcp-cli describe <tool-slug>
dcc-mcp-cli call <tool-slug> --json '{"radius": 2.0}'

Replace the placeholder with the slug returned by search. For remote workstations, register a gateway profile and select it:

dcc-mcp-cli gateway register https://workstation.example:19293 --name pcA
dcc-mcp-cli gateway set pcA
dcc-mcp-cli list

Use dcc-mcp-cli doctor when startup or readiness is unclear. Open the local Admin UI at http://127.0.0.1:9765/admin after the gateway is available.

Quick start: expose skills from Python

pip install dcc-mcp-core

Point the server at a skill directory and start the MCP endpoint:

import os

from dcc_mcp_core import McpHttpConfig, create_skill_server

os.environ["DCC_MCP_MAYA_SKILL_PATHS"] = "/path/to/skills"

server = create_skill_server("maya", McpHttpConfig(port=8765))
handle = server.start()
print(handle.mcp_url())

For manual handler registration, use McpHttpServer and ToolRegistry. For adapter lifecycle, readiness, gateway registration, and hot reload, use DccServerBase as described in the adapter guides.

Add a skill without framework glue

The project follows the agentskills.io frontmatter contract. Put dcc-mcp-core extensions under metadata.dcc-mcp and keep tool declarations in a sibling file:

my-skill/
├── SKILL.md
├── tools.yaml
└── scripts/
    └── do_thing.py
# SKILL.md
---
name: my-skill
description: "Does a useful Maya task. Use when the user asks for it."
metadata:
  dcc-mcp:
    dcc: maya
    tools: tools.yaml
    search-hint: "geometry, scene task"
---
# tools.yaml
tools:
  - name: do_thing
    description: Do the task in the active Maya scene.
    source_file: scripts/do_thing.py
    execution: sync
    affinity: main
    annotations:
      read_only_hint: false
      destructive_hint: true

Run the same production validator used by CI with dcc-mcp-cli lint path/to/skills. See Skills for schemas, groups, dependencies, testing, and migration rules.

Architecture

dcc-mcp-core architecture

The runtime has four useful layers:

  1. DCC service — owns skills and executes tools inside one DCC process.
  2. Sidecar/supervisor — bridges host RPC, readiness, process lifetime, and gateway registration when an adapter uses the packaged runtime.
  3. Gateway daemon — aggregates live instances and owns discovery, routing, REST, Admin UI, audit, and diagnostics.
  4. Client surfaces — CLI, MCP clients, REST clients, and marketplace tools.

The Rust workspace and package membership are defined by the root Cargo.toml. The Python package is a PyO3 extension with pure Python helpers and supports Python 3.7–3.14. Build-from-source requirements come from rust-toolchain.toml and package metadata; the repository does not duplicate version or package counts in this README.

Documentation map

Development

Use the repository-pinned toolchain where possible:

vx just install
vx just dev
vx just test
vx just test-rust
vx just lint
vx just docs-check

docs-check builds the VitePress site and catches documentation links and syntax errors. Markdown lint runs in the docs CI workflow. See CONTRIBUTING.md for coding, testing, and release rules.

License

MIT — see LICENSE.

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_core-0.19.45.tar.gz (7.7 MB view details)

Uploaded Source

Built Distributions

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

dcc_mcp_core-0.19.45-py3-none-any.whl (460.4 kB view details)

Uploaded Python 3

dcc_mcp_core-0.19.45-cp38-abi3-win_amd64.whl (19.2 MB view details)

Uploaded CPython 3.8+Windows x86-64

dcc_mcp_core-0.19.45-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

dcc_mcp_core-0.19.45-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (36.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

dcc_mcp_core-0.19.45-cp37-cp37m-win_amd64.whl (19.2 MB view details)

Uploaded CPython 3.7mWindows x86-64

dcc_mcp_core-0.19.45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

File details

Details for the file dcc_mcp_core-0.19.45.tar.gz.

File metadata

  • Download URL: dcc_mcp_core-0.19.45.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dcc_mcp_core-0.19.45.tar.gz
Algorithm Hash digest
SHA256 bc1602aa9097ec6349d77ae167b0ccbd94f2a2b810a6e9a0a3ba106e50e2a1f9
MD5 5090574edc0172517246e66bdca7dfdf
BLAKE2b-256 2781bddc960f63141251bf6475e430257de6838ddaa0ae2fd06a1b97d65289b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45.tar.gz:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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_core-0.19.45-py3-none-any.whl.

File metadata

  • Download URL: dcc_mcp_core-0.19.45-py3-none-any.whl
  • Upload date:
  • Size: 460.4 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_core-0.19.45-py3-none-any.whl
Algorithm Hash digest
SHA256 b70a1312a86e3265c0b3b85a6ecb83a7c89e72a3ebf43f09f0c4cf538eed6c82
MD5 fe1ee41a649ead208ee2d3d1ba02b047
BLAKE2b-256 cad9a690032ba6cdfe098c475a6aa393ef44700761aa6b35844f2abbaadd9698

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45-py3-none-any.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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_core-0.19.45-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for dcc_mcp_core-0.19.45-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 baed62e254df9b5a402858b22e0a51f87aebf4d957e4be0c9a487402f7d7c2ba
MD5 82555c3c0d9cb3984b706e724a91a25a
BLAKE2b-256 48e927d22480db9836c2528f549e0a9acee3fafdc4c8969728983852221f27d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45-cp38-abi3-win_amd64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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_core-0.19.45-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dcc_mcp_core-0.19.45-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8550100d6c52d57177f892e7dc938b811dfcb2256a6bf90edecd80e10396bf69
MD5 bace318395474ccbd3c01386c86b1e6a
BLAKE2b-256 f315bddb8d3a5aaafb2e3302ecac6c1a7529e2e01783093e7232c85f32812423

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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_core-0.19.45-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for dcc_mcp_core-0.19.45-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7cd4f25e2156d9101320f1bc7a4de14c9050254a6b0ec7a20ec5b7b2b5dfb33c
MD5 3ac5e6ecda7df4136df437c26c5edf60
BLAKE2b-256 fd1d055f9ce9ec43d6e6802bbfb07fae166b63451f13114d9261ed9a3bdb98fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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_core-0.19.45-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for dcc_mcp_core-0.19.45-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 70ae9ec86286a1874862d0083eca7afaffde5ea2fdda1d988e4b2917375f72b1
MD5 7841464988358d8f64db98a85f44bbfd
BLAKE2b-256 fd82ed24107feb7e62b10ac818e3d4ad53824c692910b9e09987bd400e6fbfbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45-cp37-cp37m-win_amd64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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_core-0.19.45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dcc_mcp_core-0.19.45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9a6d98d99e8a1aa24a13993aed622a6a570ba0a0ca2d9ac8617227d9d90b4a9
MD5 add50dac51f2ffc68f09ff8a33d25dfd
BLAKE2b-256 abd6909820e6a3e6b8a705de7c118c753ea672d40d1f62d435478252a164df7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_core-0.19.45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

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

Release history Release notifications | RSS feed

0.20.21

7 files

0.20.20

7 files

0.20.19

7 files

0.20.18

7 files

0.20.17

7 files

0.20.16

7 files

0.20.15

7 files

0.20.14

7 files

0.20.13

7 files

0.20.12

7 files

0.20.11

7 files

0.20.8

7 files

0.20.7

1 file

0.20.6

2 files

0.20.5

7 files

0.20.4

7 files

0.20.3

7 files

0.20.2

7 files

0.20.1

7 files

0.20.0

7 files

0.19.94

7 files

0.19.92

4 files

0.19.91

7 files

0.19.90

7 files

This release

0.19.45 This release

7 files

0.19.4

1 file

0.19.3

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page