CONF-011: structuredContent matches the tool's outputSchema¶
| Severity | Applies to | Spec section |
|---|---|---|
| error | both eras, stdio, http | 2026-07-28/server/tools#output-schema |
Calls each safe tool that declares an outputSchema. When a call completes without isError, servers MUST provide structured results that conform to the schema, so structuredContent must be present and validate against it (JSON Schema 2020-12 unless $schema says otherwise; remote $ref is never fetched). Tools are called only if marked readOnlyHint: true or destructiveHint: false (all tools with --allow-destructive), never if openWorldHint: true, with the minimal valid arguments built from their inputSchema. Skipped when no called tool exercises the rule. 2025-11-25 has the same MUST (https://modelcontextprotocol.io/specification/2025-11-25/server/tools#output-schema). On servers that speak both eras it runs twice: once with modern requests, and once inside a legacy initialize session as
From the command line: mcpprobe checks explain CONF-011. To leave it out of a run, add "CONF-011" to [checks] disable in mcpprobe.toml; to change how much it counts, use severity_overrides.