| name | dcc-diagnostics |
| description | Infrastructure skill — DCC-agnostic observability primitives: generate error reports, capture screenshots, query audit logs, inspect tool performance metrics, and monitor process health. Works in any DCC environment (Maya, Blender, Houdini, Unreal, etc.) or standalone Python. Call dcc_diagnostics__error_report first whenever a tool fails with a vague error message. Not for primary task execution — use a domain skill for actual DCC operations. |
| license | MIT |
| metadata | {"dcc-mcp":{"dcc":"python","version":"1.1.0","layer":"infrastructure","search-hint":"error report, error log, failure, debug, maya error, blender error, houdini error, tool failed, mcp tool execution failed, screenshot, capture, audit log, metrics, performance, process monitor, diagnostics, health check, observability, job failed, job history, log file","tags":"diagnostics, observability, error, screenshot, audit, metrics, debug, infrastructure","tools":"tools.yaml"}} |
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: DXGI Desktop Duplication API (<16ms per frame)
- Linux: X11 XShmGetImage
- Fallback: Mock synthetic backend (headless/CI)
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
import os
os.environ["DCC_MCP_SKILL_PATHS"] = "/path/to/dcc-diagnostics"
from dcc_mcp_maya import start_server
handle = start_server(port=8765)