Skip to content

Protocols API

dcc_mcp_core.protocols types — MCP specification-compliant type definitions.

ToolDefinition

FieldTypeDescription
namestrTool name
descriptionstrTool description
input_schemastrJSON Schema string for input (serde: inputSchema)
output_schemaOptional[str]JSON Schema string for output (serde: outputSchema)
python
from dcc_mcp_core import ToolDefinition

tool = ToolDefinition(
    name="create_sphere",
    description="Creates a sphere",
    input_schema='{"type": "object"}',
)

ToolAnnotations

FieldTypeDescription
titleOptional[str]Human-readable title
read_only_hintOptional[bool]serde: readOnlyHint
destructive_hintOptional[bool]serde: destructiveHint
idempotent_hintOptional[bool]serde: idempotentHint
open_world_hintOptional[bool]serde: openWorldHint
python
from dcc_mcp_core import ToolAnnotations

ann = ToolAnnotations(read_only_hint=True)

ResourceDefinition

FieldTypeDefaultDescription
uristrResource URI
namestrResource name
descriptionstrDescription
mime_typestr"text/plain"MIME type (serde: mimeType)
python
from dcc_mcp_core import ResourceDefinition

res = ResourceDefinition(uri="scene://objects", name="Objects", description="Scene objects")

ResourceTemplateDefinition

FieldTypeDefaultDescription
uri_templatestrURI template (serde: uriTemplate)
namestrTemplate name
descriptionstrDescription
mime_typestr"text/plain"MIME type (serde: mimeType)
python
from dcc_mcp_core import ResourceTemplateDefinition

tmpl = ResourceTemplateDefinition(
    uri_template="scene://objects/{name}",
    name="Object",
    description="A scene object",
)

PromptArgument

FieldTypeDefaultDescription
namestrArgument name
descriptionstrDescription
requiredboolFalseWhether required
python
from dcc_mcp_core import PromptArgument

arg = PromptArgument(name="object_name", description="Object to review", required=True)

PromptDefinition

FieldTypeDescription
namestrPrompt name
descriptionstrDescription
python
from dcc_mcp_core import PromptDefinition

prompt = PromptDefinition(name="review", description="Review a model")

Released under the MIT License.