dcc-mcp-nuke
Agent workflow
AI agents should use the shared gateway through dcc-mcp-cli; IDE users may
continue to use the MCP endpoint. Prefer typed skills and tools over raw scripts.
Install or update the CLI
dcc-mcp-cli is the preferred control path for every shell-capable agent. If
it is missing, ask the user before installing the latest official release:
# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 | iex"
Keep an official build current through the release manifest:
dcc-mcp-cli update check
dcc-mcp-cli update apply
update apply downloads and stages the latest CLI for the next launch. It
does not update a running dcc-mcp-server; update that server in its own
environment.
dcc-mcp-cli dcc-types
dcc-mcp-cli list
dcc-mcp-cli search --query "<task>" --dcc-type nuke
dcc-mcp-cli describe <tool-slug>
dcc-mcp-cli call <tool-slug> --json '{"key":"value"}'
dcc-types reports release-catalog support; list reports live sessions. If a
tool belongs to an inactive progressive skill, call dcc-mcp-cli load-skill <skill-name> --dcc-type nuke before retrying. For post-task improvement,
attach a stable session id with --meta-json, query dcc-mcp-cli stats --range 24h --session-id <task-id>, then pass the bounded evidence to the
review_skill_improvement prompt from dcc-mcp-skills-creator.
Nuke adapter for the DCC Model Context Protocol. It embeds a Streamable HTTP MCP server in Nuke and uses Nuke's main-thread execution API for scene tools.
See install.md for the agent-first install, verify, upgrade, and receipt-driven uninstall workflow on Windows, macOS, and Linux.
Host flavors: Nuke, NukeX, and Nuke Studio
One package covers all three Foundry entry points. Nuke, NukeX, and Nuke Studio
ship from one installation, share one embedded Python interpreter and one
~/.nuke plug-in profile, and install once. Core registers all three as
executable stems of a single dcc-type (nuke), so there is no second
package, entry point, or release channel to install.
What differs between them is the feature surface available at runtime. The adapter classifies the running entry point as one of three host flavors and reports it as server capability metadata:
dcc-mcp-cli call nuke_diagnostics__host_flavor --dcc-type nuke --json '{}'
| Host flavor | Provides |
|---|---|
nuke |
Shared baseline: compositing, node_graph, scripting |
nukex |
The same shared baseline |
nukestudio |
Baseline plus studio.timeline, studio.sequence, studio.project_bin, studio.conform, studio.track |
Detection prefers nuke.env, then the executable name, and treats an
importable hiero module as a supporting signal rather than a decisive one.
Set DCC_MCP_NUKE_HOST_FLAVOR only to override detection for a host that
really runs that flavor; unrecognized values are ignored.
Studio-only skills are gated, not silently unavailable
A bundled skill that needs the Studio surface declares it in its manifest:
metadata:
dcc-mcp:
host-flavors: [nukestudio]
On a nuke or nukex session that skill stays discoverable, so an agent can
still see the capability exists, but it will not load.
dcc-mcp-cli load-skill nuke-studio-timeline --dcc-type nuke fails with an
explicit veto naming both the required flavor and the current one, and calling
the tool directly returns the same capability_unavailable error. A Studio
skill never fails silently.
nuke-studio-timeline is the first Studio skill. It inspects open projects,
sequences, track counts, and frame range through the Hiero surface, read-only,
and reports an explicit studio_surface_unavailable error when a Studio build
does not expose the expected API instead of skipping it.
Probe the host with nuke_diagnostics__host_flavor first when the entry point
is unknown.
Automated Houdini AOV compositing
This real Nuke session progressively isolates Albedo, Sun, Diffuse, Glossy, and
Emission passes, then merges them into the approved composite. The 35-layer,
114-channel EXR source was rendered from a solar-system scene built in Houdini with
dcc-mcp-houdini; Nuke reads the
Houdini AOVs rather than bundled sample footage.
Nuke loads the lifecycle-managed plug-in path and asks the operating system for
an available instance port. Use dcc-mcp-cli list or the stable gateway at
http://127.0.0.1:9765/mcp to discover and connect to the running instance.
Set DCC_MCP_NUKE_PORT only when a fixed direct port is required.
The bundled nuke-script skill can open an existing absolute .nk path,
inspect bounded node topology and knob values, sample per-channel AOV
statistics, and explicitly save the current script. The nuke-node-graph
skill adds non-clearing node CRUD, exact input connections, and readback-
verified static knob edits while rejecting executable knobs. The
nuke-text-layout skill creates or updates one bounded
Text2 label, maps requested pixel size through Nuke's effective
global_font_scale, and returns verified node position, text box, and
alignment readback with rollback on mismatch. It rejects arbitrary node
classes, Python, Tcl, scripts, expressions, callbacks, bracket/backslash/control
text, animated/keyed/expression-bearing required knobs, and UI input while
preserving ordinary Unicode labels. Dynamic-state probes must return their
documented boolean, curve-list, and non-negative key-count shapes; unsupported
or unobservable probe results fail closed before mutation. Scale, box, and
position readback must use finite non-boolean numeric values with exact bounded
shapes; malformed readback fails closed and rolls back. Releases
use a canonical tag and exact-main identity check, one digest-bound wheel/sdist
bundle, and a minimal-OIDC publisher in release.yaml and the GitHub pypi
environment. Immediately before publishing, the workflow force-refreshes
authoritative main and tag refs into an isolated namespace and repeats the
identity checks. CI obtains the Install SOP schema from the isolated minimum-
Core environment used for the installed-wheel smoke rather than its ambient
interpreter.
The nuke-node-assets skill packages reusable, versioned Gizmos with an
explicit public knob interface, instantiates saved assets, and validates live
instances. Its registered tools use DCC_MCP_NUKE_PLUGIN_ROOT, stable ids and
versions, bounded typed knobs, and reject executable callbacks.
The nuke-layered-compositing skill supports ordered global and
Cryptomatte-scoped gain, saturation, edge-feather, and bounded albedo-fill
adjustments without changing pixels outside the selected material.
Metadata
Release files for dcc-mcp-nuke 0.16.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dcc_mcp_nuke-0.16.0.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dcc_mcp_nuke-0.16.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.7 MB
Release files / dcc_mcp_nuke-0.16.0.tar.gz
| Download URL | dcc_mcp_nuke-0.16.0.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
630c809a9f694e0bb6256d510f5635b500c501554c42c4c18ff25f67ad12b0f8
|
|
BLAKE2b-256 checksum How to use checksums |
f04ba20b1819b045fc9004ecc1efebaea713a8b64a420f0b3cc0382773f2fc42
|
| 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 21, 2026.
Transparency logRelease files / dcc_mcp_nuke-0.16.0-py3-none-any.whl
| Download URL | dcc_mcp_nuke-0.16.0-py3-none-any.whl |
|---|---|
| Size | 83.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
964f6046ce4f627b37148b47fdd497527b74b06c5bfbb34edae6d64c9c0e78e8
|
|
BLAKE2b-256 checksum How to use checksums |
e687f9f44d85af703ded92f79dcac7b3890a81d5b0e97c60e52f29eabdc35f82
|
| 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 21, 2026.
Transparency log