[BUG] MCP tools/call rejected with "missing required resultType" from a server that negotiates 2025-06-18 (Microsoft Learn MCP, 2.1.296)

Status Open
Reported on v2.1.296
Maintainer reply None cached
Activity 0 comments · opened Oct 13, 2026

Same error as #88154 (closed as stale, unfixed), still present on 2.1.296, macOS, against the official microsoft-docs plugin (https://learn.microsoft.com/api/mcp, type http).

Error, on every call to microsoft_docs_search and microsoft_docs_fetch:

MCP server "plugin:microsoft-docs:microsoft-learn" returned a malformed result that failed schema validation: Invalid result for tools/call: missing required resultType — servers implementing protocol revision 2026-07-28 MUST include it (the absent-means-complete bridge applies only to earlier-revision servers)

The server is not a 2026-07-28 server. Probed directly with curl:

  • initialize requesting protocolVersion: "2026-07-28" → server answers "protocolVersion": "2025-06-18"
  • server/discover → -32601 Method 'server/discover' is not available
  • tools/call microsoft_docs_search → valid result, no resultType (correct for 2025-06-18)

So the absent-means-complete bridge should apply, but the client validates the response against the 2026-07-28 schema. #88154's guess (the server moved to the new revision) doesn't fit this evidence. The client seems to attribute 2026-07-28 to a server that never negotiated it.

Possibly related: the plugin's tool schemas expose a SessionId parameter fixed to a single value ("provided by tools/list"), which suggests a session or version-state mix-up in the client.

Expected: the version negotiated in initialize decides which result schema applies.

Related: #88154, #88128.

View original on GitHub ↗