createmcps.com

MCP-RES-002

resultType is a value defined by core or an advertised extension

A resultType of any value unrecognized by the client MUST be considered invalid.spec anchor

How to fix this

Use `complete` for an ordinary result and `input_required` for a multi round-trip request. Any other value has to come from an extension the client advertised, or the client must treat the result as invalid.

How the validator checks this

Probe P1.1, against a streamable-http server on the modern protocol. What it reports:

pass
resultType "…" is defined by core
fail
resultType "…" is neither of the core values ("complete", "input_required"). The validator advertises no extensions, so an extension-defined value is unrecognized and the spec requires an unrecognized resultType be treated as invalid.
skip
No resultType was present to check — see MCP-RES-001 for the missing field itself

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-001, 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-001Every result includes resultType
  • 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