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.

Example: failing and passing

resultType is "success", which is not a core value and does not come from any advertised extension.
Violates MCP-RES-002 · JSON
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "resultType": "success",
    "supportedVersions": ["2026-07-28"],
    "capabilities": {"tools": {}},
    "ttlMs": 3600000,
    "cacheScope": "public"
  }
}
resultType is "complete", one of the two values the core protocol defines.
Complies with MCP-RES-002 · JSON
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "resultType": "complete",
    "supportedVersions": ["2026-07-28"],
    "capabilities": {"tools": {}},
    "ttlMs": 3600000,
    "cacheScope": "public"
  }
}

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 MCP-RES-002

Probe P1.1 checks MCP-RES-002 in the same request as 8 other rules, so one run shows your server's result for this rule next to the rest. Validate a server or read how the validator works.

Background on this topic: the 2026-07-28 migration guide.

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