Skip to main content

dcc-mcp-katana

DCC-MCP · KATANA

Typed DCC-MCP control for Foundry Katana's node graph. Host work is marshalled through Katana's native event queue and runs on the event-processing thread. The adapter deliberately does not expose arbitrary Python, parameter expressions, render scripts, or shell commands.

Katana typed node-graph workflow

Illustrative workflow generated with OpenAI ImageGen from the retained source in docs/images/sources; it is not a Katana screenshot or host-validation artifact.

Install in Katana's Python environment

See the canonical Install and upgrade runbook for supported versions, explicit host/Python overrides, status, verification, rollback, upgrade, and receipt-driven uninstall.

python -m pip install dcc-mcp-katana
dcc-mcp-katana install --dry-run --json
dcc-mcp-katana install --yes --json

The installer writes an adapter-owned launcher that preserves the existing KATANA_RESOURCES entries; it does not modify shell profiles or registry keys. Run the machine-executable launcher returned in next_steps, then check the installation:

dcc-mcp-katana doctor --json
dcc-mcp-katana verify --json
dcc-mcp-cli load-skill katana-nodegraph --dcc-type katana

Each instance uses an OS-assigned port and registers with DCC-MCP discovery. Agents should use the stable local gateway at http://127.0.0.1:9765/mcp; DCC_MCP_KATANA_PORT is only for a deliberately fixed direct endpoint.

Typed tools

Diagnostics and inspection:

  • get_status
  • inspect_nodegraph
  • list_nodes
  • get_node
  • get_parameter

Node authoring:

  • create_node
  • rename_node
  • delete_nodes
  • set_node_position
  • select_nodes
  • set_parameter_value

Graph and project control:

  • add_port
  • remove_port
  • connect_ports
  • disconnect_ports
  • set_timeline
  • save_project

list_nodes is paginated and capped at 1,000 results. Selection and deletion are capped at 100 nodes. Parameter writes accept only JSON strings, booleans, or finite numbers. Deletion and port removal require confirm=true.

Safe project output

save_project accepts only absolute .katana paths inside DCC_MCP_KATANA_ALLOWED_ROOTS. The variable uses the platform path separator and defaults to the current user's home directory when unset. Existing files require overwrite=true; missing parent directories require create_parents=true. A successful result includes the file size and SHA-256.

Main-thread and timeout contract

At most 32 host calls may be pending. A timeout before Katana starts an operation cancels that operation. A timeout after execution starts reports an unknown final host outcome, so callers must inspect the graph before retrying a non-idempotent operation. Tool schemas carry main-thread affinity and bounded timeouts through the shared HostExecutionBridge.

Real-host smoke test

Open a disposable Katana project, configure an existing writable directory in both DCC_MCP_KATANA_ALLOWED_ROOTS and DCC_MCP_KATANA_SMOKE_ROOT, then run:

python tools/live_katana_smoke.py

The smoke test uses dcc-mcp-cli for discovery, readiness, skill loading, and typed calls. It creates a PrimitiveCreate/Merge graph, adds and connects ports, changes a typed parameter and timeline, saves a .katana file, and prints its byte count and SHA-256. Set DCC_MCP_KATANA_SMOKE_CLEANUP=1 only if the two generated nodes should be deleted after evidence is collected.

The repository's automated tests use a contract-compatible fake Katana API; they are not represented as real-host evidence. A production release should retain the real Katana version, typed CLI transcript, project hash, and visual node-graph evidence.

Development

python -m pip install -e ".[dev]"
python -m pytest -q
python -m ruff check src tests tools
python -m ruff format --check src tests tools
python tools/lint_skills.py
python -m build
python -m twine check dist/*

Agent workflows should use dcc-mcp-cli search, describe, and call rather than bypassing typed tools. If a tool is not visible, load the progressive katana-nodegraph skill first.

Metadata

Release files for dcc-mcp-katana 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dcc-mcp-katana 0.5.1
File Size Uploaded
dcc_mcp_katana-0.5.1.tar.gz 39.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dcc-mcp-katana 0.5.1
File Interpreter ABI Platform
dcc_mcp_katana-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 76.3 kB

Release files / dcc_mcp_katana-0.5.1.tar.gz

Download URL dcc_mcp_katana-0.5.1.tar.gz
Size 39.9 kB
Tags Source
SHA-256 checksum
How to use checksums
17e1bed25da635f973fb860fd98912eb927d7c594171f4ed82426010f3cf898e
BLAKE2b-256 checksum
How to use checksums
84bf4a0a6716a03424123dee2bc14ce59fef7aaf8e4adf2c8c92b63d919cb37c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / dcc_mcp_katana-0.5.1-py3-none-any.whl

Download URL dcc_mcp_katana-0.5.1-py3-none-any.whl
Size 36.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5d30ad4df7fd8dd3416e85511da2c6c0b114d84b135a2d5fdc664457eff5451
BLAKE2b-256 checksum
How to use checksums
a892ffdb12812973307974170d4a8ce0854247625584aa14d15bab1672aefa56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

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