Implement the requested adapter or service within its owner's project. A private
service needs no public repository, catalog entry, issue or release. For operating
an existing app use dcc-mcp; for individual tool packages use dcc-mcp-skills-creator.
An already-loaded skill needs no installation or new agent turn.
Implementation boundaries
Use DccServerBase and DccServerOptions.from_env(...), with host API calls
through HostExecutionBridge. Embedded, sidecar and standalone services have
different owner/host lifetimes; resolve that contract before wiring the runtime.
Reuse Core's public lifecycle, discovery and state owners rather than parallel
adapter implementations. Keep identity and host configuration data-driven.
Application UI uses project-owned dcc-cua / ui-control. Before observation
or input report provider=dcc-cua runtime=<version> pid=<exact-pid> hwnd=<exact-native-hwnd>.
Missing binding blocks actions. Read the bundled dcc-cua skill for UI work;
never fall back to generic Computer Use without the user's explicit change of provider.
Choose relevant guidance
| Work | Read |
|---|---|
| New or modernized public adapter | Adapter workflow, host patterns |
| Private standalone service | Internal service workflow |
| Server ownership, host dispatch, state digest, UI integration, gateway or sidecar wiring | Runtime integration; consult its relevant numbered contracts |
| Proposed adapter-local workaround for shared behavior | Core escalation |
| Async/main-thread jobs, cancellation or reconnect | Async recovery |
| Runtime failure or issue ownership | Failure routing |
| Nuke/standalone examples or cross-DCC file synchronization | Integration examples |
| Validation or release | Testing and release |
Use the dcc-mcp route only when live validation is needed; source-only edits
do not require starting a host, installing a CLI, or updating a server.
Run the relevant local checks, fix failures caused by the change, and verify the
requested behavior before reporting completion. Keep source/mock validation
separate from real-host acceptance. Publishing requires the requested scope
and the applicable release gates; native Python 3.7 remains an LTS profile,
and py37-lite does not satisfy its release gate.
Non-Negotiables
- Do not touch a DCC API from a Tokio/HTTP worker thread.
- Do not parse or rewrite
SKILL.md,tools.yaml,groups.yaml, or prompt/workflow files in adapter runtime code when core exposes a typed object or catalog API. - Do not reach into
server._serverunless no public core API exists; if you must, file a core issue and keep the adapter shim small. - Do not create Maya-only abstractions in shared core or adapter templates.
- Do not expose raw script execution as the primary user workflow when a typed skill can cover the task.
- Do not require GitHub, a public catalog entry, or public issue tracking for a private internal service.
- Do not publish local paths, private machine names, or source-attribution markers in public issues or PR text.