Install
openclaw skills install dcc-cli-gatewayControl live DCC hosts (Maya, Blender, Houdini, Photoshop, 3ds Max, and custom studio tools) through the dcc-mcp-cli command line. For ClawHub, OpenClaw, Cursor, Claude, and shell-capable agent hosts: verify gateway health, inventory registered DCC instances, search tools, inspect schemas, and invoke tools without speaking MCP directly. If dcc-mcp-cli is missing, ask for consent, download it from GitHub Releases, and fall back to Python stdlib REST only if download fails.
openclaw skills install dcc-cli-gatewayUse this skill when an agent host can run shell commands and should connect to
DCC-MCP through dcc-mcp-cli instead of MCP JSON-RPC. The CLI wraps the
gateway REST API and returns JSON by default.
Connection order:
dcc-mcp-cli when it is already on PATH.dcc-mcp-cli from GitHub Releases.Install via OpenClaw/ClawHub, or point your agent at this SKILL.md after cloning
dcc-mcp-core/skills/dcc-cli-gateway/.
| Situation | You MUST |
|---|---|
| Starting any DCC task | Run python scripts/dcc_gateway.py health and python scripts/dcc_gateway.py list first |
dcc-mcp-cli missing | Ask permission before --ensure-cli; fallback Python REST is allowed if download fails |
Inventory returns total == 0 | Stop; do not run search, describe, or call |
| Gateway unreachable | Stop; explain; ask user permission before troubleshooting |
| User has not agreed to setup | Do not install packages, edit env files, launch GUI apps, or write configs |
| User approved setup | Follow references/ZERO_INSTANCES_CLI.md |
| After DCC crash/restart | Re-run list and search; old slugs may be invalid |
dcc-mcp-cli and the Python helper read the gateway URL from DCC_MCP_BASE_URL.
export DCC_MCP_BASE_URL="${DCC_MCP_BASE_URL:-http://127.0.0.1:9765}"
dcc-mcp-cli health
python scripts/dcc_gateway.py health
For a one-off command:
python scripts/dcc_gateway.py --base-url http://127.0.0.1:9765 health
Quick probe helper:
python3 scripts/check_cli.py
py -3 scripts\check_cli.py
Flags: --base-url URL, --cli dcc-mcp-cli, --ensure-cli, --install-dir DIR, --pretty.
When the user approves downloading the CLI:
# Linux / macOS
python3 scripts/dcc_gateway.py --ensure-cli list
vx python scripts/dcc_gateway.py --ensure-cli list
# Windows
py -3 scripts\dcc_gateway.py --ensure-cli list
vx python scripts\dcc_gateway.py --ensure-cli list
Release assets are selected by platform:
| Platform | Asset |
|---|---|
| Windows x86_64 | dcc-mcp-cli-windows-x86_64.exe |
| Linux x86_64 | dcc-mcp-cli-linux-x86_64 |
| macOS Intel/Apple Silicon | dcc-mcp-cli-macos-universal2 |
If Python is not easy to locate, install vx first and run the helper through
vx python:
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/loonghao/vx/main/install.sh | bash
# Windows PowerShell
powershell -c "irm https://raw.githubusercontent.com/loonghao/vx/main/install.ps1 | iex"
Run this every time you begin work or after the user starts/stops a DCC host:
python scripts/dcc_gateway.py health
python scripts/dcc_gateway.py list
Interpret dcc-mcp-cli list:
{
"total": 1,
"instances": [
{
"instance_id": "full-uuid",
"instance_short": "a1b2c3d4",
"dcc_type": "maya",
"status": "available",
"stale": false,
"mcp_url": "http://127.0.0.1:8765/mcp"
}
]
}
Report to the user:
totaldcc_typestale: true rowsinstance_id or instance_short you will useIf total == 0, stop and ask whether the user wants setup guidance for the
target DCC. Continue only after explicit approval.
Only run this when inventory shows at least one non-stale target:
python scripts/dcc_gateway.py search --query sphere --dcc-type maya --limit 20
Copy the returned slug exactly. Gateway slugs look like:
maya.a1b2c3d4.maya_primitives__create_sphere
Never hand-build slugs.
python scripts/dcc_gateway.py describe maya.a1b2c3d4.maya_primitives__create_sphere
Read tool.inputSchema and safety annotations before calling.
python scripts/dcc_gateway.py call maya.a1b2c3d4.maya_primitives__create_sphere \
--json '{"radius":2.0}'
Tool-specific fields (code, file_path, radius, and similar) belong inside
the --json object. Do not pass them as top-level CLI flags unless the CLI adds
an explicit first-class flag later.
See references/CLI_CHEATSHEET.md for command
patterns and common errors.
tools/list, tools/call, or resources/readcurl workflows except when debugging the gateway itselfThe CLI is the preferred agent-facing control plane. The Python fallback uses the same gateway REST endpoints only when the CLI is unavailable after a download attempt fails.