MCP-RES-001
Every result includes resultType
“The result MUST include a resultType field to indicate the type of the result.” — spec anchor
How to fix this
Include a `resultType` field on every result you return.
How the validator checks this
Probe P1.1, against a streamable-http server on the modern protocol. What it reports:
- pass
- resultType present: "…"
- fail
- Response body is not safely parseable JSON (…)
Quoted from the probe that runs this check, so it cannot drift from what the validator actually reports.
This rule is checked deterministically: a fail here is a certain violation, not an inference.
Checked in the same request as MCP-DSC-001, MCP-DSC-002, MCP-DSC-003, MCP-DSC-004, MCP-DSC-005, MCP-STL-003, MCP-RES-002, MCP-RES-005.
Check your own server against this rule
The validator makes real protocol requests and reports this rule as pass, warn or fail alongside the other 78. Validate a server or read how the check works.
Other Result and message shape rules
- MCP-RES-002resultType is a value defined by core or an advertised extension
- MCP-RES-003Server sends no independent JSON-RPC requests on a response stream
- MCP-RES-004Accepted notification POST returns 202 with no body
- MCP-RES-005Response is application/json or text/event-stream; SSE terminates with the final response
- MCP-RES-006SSE responses set X-Accel-Buffering: no
- MCP-RES-007tools/list returns a deterministic order