Adapter Context And Policy Helpers
This API gives DCC adapters shared contracts for concise instructions, post-tool snapshots, visual feedback, response shaping, toolset profiles, and searchable API docs.
Instruction Resources
from dcc_mcp_core import AdapterInstructionSet, register_adapter_instruction_resources
register_adapter_instruction_resources(
server,
AdapterInstructionSet(
dcc="maya",
instructions="Use screenshots after visual scene changes.",
capabilities={"screenshots": True, "in_process_execution": True},
troubleshooting="If execution stalls, check for modal dialogs.",
adapter_version="0.3.0",
),
)This registers:
docs://adapter/<dcc>/instructionsdocs://adapter/<dcc>/capabilitiesdocs://adapter/<dcc>/troubleshootingwhen provided
DccServerBase.register_adapter_instructions(...) is a thin wrapper for embedded adapters.
Context Snapshots
Adapters can attach a small, bounded scene/document snapshot after mutating tools:
from dcc_mcp_core import DccContextSnapshot, append_context_snapshot
result = append_context_snapshot(
{"success": True, "message": "Layer created"},
DccContextSnapshot(
dcc="photoshop",
document={"name": "hero.psd"},
active_layer={"name": "Glow"},
counts={"layers": 12},
),
)DccServerBase.set_context_snapshot_provider(callable) stores a provider, and DccServerBase.append_context_snapshot(result) applies it.
Response Shaping
ResponseShapePolicy truncates large lists, dicts, and strings and adds _meta["dcc.response_shape"] with omitted counts and a next_query hint.
from dcc_mcp_core import ResponseShapePolicy, shape_response
payload = shape_response(scene_graph, ResponseShapePolicy(max_items=200, max_bytes=256_000))Visual Feedback
VisualFeedbackPolicy standardizes resource-backed previews:
from dcc_mcp_core import VisualFeedbackPolicy, build_visual_feedback_context
context = build_visual_feedback_context(
resource="output://viewport.png",
width=1280,
height=720,
policy=VisualFeedbackPolicy(mode="after_mutation", max_size=800),
)Toolset Profiles
DccToolsetProfile and ToolsetProfileRegistry provide a high-level layer over skill groups for adapter modes such as modeling-basic, rendering, or photoshop-layer-editing.