Skip to content

v2.0.1: tools/list response missing resultType under MCP 2026-07-28, breaks Claude Code #3453

Description

@cdemarco-drw

Description

Starting with v2.0.0, the server negotiates MCP protocol revision 2026-07-28
with clients that request it, but its tools/list response omits the
resultType field that revision requires. Strict clients reject the response,
so no tools load.

Claude Code fails on connect with:

  Invalid result for tools/list: missing required resultType — servers
  implementing protocol revision 2026-07-28 MUST include it (the
  absent-means-complete bridge applies only to earlier-revision servers)

Clients that negotiate an earlier revision (for example, Codex CLI) are
unaffected, because a missing resultType is allowed there.

Versions

  • Broken: ghcr.io/github/github-mcp-server:v2.0.1 (latest)
  • Working: ghcr.io/github/github-mcp-server:v1.14.0
  • Client: Claude Code 2.1.292

Steps to reproduce

  1. Configure Claude Code with the server over stdio:

    "github": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env-file", "<env file>",
               "ghcr.io/github/github-mcp-server"]
    }
    
  2. Start Claude Code or reconnect with /mcp.

  3. The connection succeeds, but fetching tools fails with the error above.

Expected behavior

When 2026-07-28 is negotiated, tools/list (and any other paginated list
results) should include resultType. Alternatively, the server should not
claim 2026-07-28 until it fully supports it.

Workaround

Pin ghcr.io/github/github-mcp-server:v1.14.0.

Activity

  1. A-RYAN-1 commented on Oct 9, 2026

    @A-RYAN-1

    I could not reproduce this with ghcr.io/github/github-mcp-server:v2.0.1 over stdio. A logging wrapper between the client and the server shows resultType: "complete" on server/discover, prompts/list, resources/list and tools/list, and the tools load. Same result with --toolsets all, --read-only, --insiders, --lockdown-mode and dynamic toolsets.

    The two linked workarounds mention an MCP gateway in front of the server. Is one in your path? If it re-serializes responses with an older schema, it would drop resultType before the client sees it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions