# DCC-MCP Core

Control plane connecting AI agents to 3D software, game engines, and 2D editors through one MCP endpoint.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 70
- Author: dcc-mcp
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dcc-mcp/dcc-mcp-core
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/dcc-mcp-core

## What it does

DCC-MCP Core routes agent calls into creative software, including Blender, Maya, Houdini, Unreal Engine, and Photoshop. The gateway manages multi-instance sessions using MCP and REST interfaces. Calls are queued onto the application main thread because running scripts in background threads crashes many desktop hosts. This keeps sessions alive.

The Rust-powered core applies three contracts across all supported host adapters. The asset import contract confirms changes by writing and then reading back the result. Declarative recipes in `RECIPES.yaml` expose host actions without custom Python servers. If a program lacks an API, fallback UI automation takes screenshots and triggers clicks.

Server execution relies on `uvx` running the `dcc-mcp-server` package. Target setups with running gateway sessions require the `DCC_MCP_GATEWAY_PORT` environment variable before connecting. Without this variable, the agent cannot discover active hosts.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `DCC_MCP_GATEWAY_PORT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env DCC_MCP_GATEWAY_PORT=<DCC_MCP_GATEWAY_PORT> --transport stdio dcc-mcp-core -- uvx dcc-mcp-server
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from dcc-mcp-server <command>

### Codex

**Platform CLI**
```bash
codex mcp add dcc-mcp-core --env DCC_MCP_GATEWAY_PORT=<DCC_MCP_GATEWAY_PORT> -- uvx dcc-mcp-server
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from dcc-mcp-server <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dcc-mcp-core": {
            "command": "uvx",
            "args": [
                "dcc-mcp-server"
            ],
            "env": {
                "DCC_MCP_GATEWAY_PORT": "<DCC_MCP_GATEWAY_PORT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from dcc-mcp-server <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "dcc-mcp-core": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "dcc-mcp-server"
            ],
            "env": {
                "DCC_MCP_GATEWAY_PORT": "<DCC_MCP_GATEWAY_PORT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from dcc-mcp-server <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e DCC_MCP_GATEWAY_PORT=<DCC_MCP_GATEWAY_PORT> dcc-mcp-core uvx dcc-mcp-server
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from dcc-mcp-server <command>

## When to use it
- drive active sessions in Blender, Maya, or Unreal Engine through an agent
- prevent host crashes by queueing tool calls onto the main application thread
- verify file modifications automatically through write-then-read-back postconditions
- automate actions in host tools lacking an API via UI click fallbacks

## Example prompts
- Query active sessions by reading `gateway://instances`.
- Run the mesh import recipe on the running Blender instance.
- Check available host capabilities defined in `RECIPES.yaml`.

## Similar
- [Pascal 3D Editor](https://affpapa.org/en/nevibecode/mcp/pascal-3d-editor.md) — MCP server · ★ 25085
- [Unity-MCP](https://affpapa.org/en/nevibecode/mcp/unity-mcp.md) — MCP server · ★ 4523
- [mcp](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — MCP server · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/en/nevibecode/mcp/gearboy-mcp-server.md) — MCP server · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/en/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP server · ★ 975
- [Nova3D](https://affpapa.org/en/nevibecode/mcp/nova3d.md) — MCP server · ★ 733

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
