Skip to content
{mcpdesc}

Declare output schemas only where MCP defines them

Tool outputSchema is available from MCP 2025-06-18. A Tool whose effective scope includes an earlier protocol version cannot carry it unchanged. Omit it for the earlier version or provide disjoint variants.

A Tool declares outputSchema only for MCP protocol versions whose Tool type defines it.

Rule ID: mcp.tool.output-schema.protocol-version
Owner: mcp
Surface: Tool · Path: outputSchema
Kind: structural
Requirement level: Not specified in the rule record
Status: internal · Enforcement: internal

2024-11-05 2025-03-26 2025-06-18 2025-11-25 2026-07-28
applies applies not-applicable not-applicable not-applicable

Source: expected-invalid/output-schema-before-2025-06-18.json · Selected: /tools/0

{
"name": "early_output",
"inputSchema": {
"type": "object"
},
"outputSchema": {
"type": "object",
"properties": {
"total": {
"type": "integer"
}
}
}
}

tool.yaml at immutable tag v0.9.0-rc.3.