Skip to content
{mcpdesc}

Check early Tool schemas without inferring a dialect

Early MCP protocol versions define a limited Tool-schema shape without a default embedded dialect. Check the known properties and required-name list without rejecting other keywords using an inferred meta-schema. Incomplete example validation is reported separately.

Before MCP 2025-11-25, Tool schema properties is an object of objects and required is an array of strings; other keywords are preserved.

Rule ID: mcp.tool.schema.legacy-shape
Owner: mcp
Surface: Tool · Path: inputSchema, outputSchema
Kind: structural
Requirement level: must
Status: internal · Enforcement: internal

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

From MCP 2025-11-25 the embedded dialect governs these keywords (json-schema.tool-schema.valid); mcp.tool.schema.native-shape warns where the MCP 2025-11-25 Tool type is narrower.

Source: expected-invalid/malformed-pre-dialect-tool-schema-shape.json · Selected: /tools/0/inputSchema

{
"type": "object",
"required": "value"
}

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