DCC Diagnostics
Cross-DCC observability and debugging tools powered by dcc-mcp-core.
All tools work in any DCC environment (Maya, Blender, Houdini, Unreal, 3ds Max) or standalone Python — no DCC-specific APIs required.
Recommended debugging workflow
When a DCC tool fails with a vague error, call tools in this order:
1. dcc_diagnostics__error_report ← start here: log lines + failed jobs + env 2. dcc_diagnostics__audit_log ← sandbox-level denials and recent invocations 3. dcc_diagnostics__tool_metrics ← identify consistently slow or failing tools 4. dcc_diagnostics__screenshot ← capture current visual state for confirmation 5. dcc_diagnostics__process_status ← check if the DCC process is still alive
Tools
dcc_diagnostics__error_report
Start here when any tool fails. Collects a single-response diagnostic bundle:
- Log tail: last N lines of
dcc-mcp-<dcc>.*.log, extracting ERROR/WARNING lines - Failed jobs: recent failed/interrupted entries from the SQLite job-persistence DB
- Process snapshot: PID, platform, Python version, active
DCC_MCP_*env vars - Diagnosis hints: actionable text explaining what is wrong and how to fix it
Requires
DccServerBase(enable_file_logging=True, enable_job_persistence=True). Both are on by default since dcc-mcp-core v0.14.6.
dcc_diagnostics__screenshot
Capture the current screen or a specific window as a PNG/JPEG image.
Backed by the dcc_mcp_core.Capturer class which uses:
- Windows display: DXGI Desktop Duplication API
- Windows window: Windows.Graphics.Capture
- Linux: X11 XShmGetImage
- Fallback: Mock synthetic backend (headless/CI)
Successful DCC-window results include window_handle, window_title,
capture_backend and capture_health. Treat
capture_health=unverified as pixels without semantic content validation and
unusable_capture and
desktop_unavailable are structured failures; do not retry them through
another desktop or input path.
dcc_diagnostics__audit_log
Query the sandbox audit log from dcc_mcp_core.SandboxContext.
Returns recent tool invocations with outcome (success/denied) and timestamps.
dcc_diagnostics__tool_metrics
Inspect per-tool performance counters from dcc_mcp_core.ToolRecorder:
invocation count, success rate, average latency, P95/P99 percentiles.
dcc_diagnostics__process_status
Check process health via dcc_mcp_core.PyProcessMonitor.
Lists tracked PIDs and their liveness status.
Usage with any DCC MCP server
pythonimport os os.environ["DCC_MCP_SKILL_PATHS"] = "/path/to/dcc-diagnostics" from dcc_mcp_maya import start_server # or dcc_mcp_blender, etc. handle = start_server(port=8765) # dcc_diagnostics__error_report and all other tools are now available


