Skip to content

Refresh #24 (MCP 2026 wire alignment): body is partly outdated and has no implementation #78

Closed

Description

@Shreyavemana

Type: edit #24 rather than open a new issue.
Depends on: #22, #23

Summary

[Issue #24 — Align 2026 wire: drop ping, add -32021, discover _meta, MUST headers](#24)
has an open PR (#37) with the same head commit as #36 (e458282) and contains none of the #24 work. Checked on main, two of the issue's rows no longer apply, while the rest still do.

Still true on main

  • ping is answered on the auto and modern eras, including a header-only ping with an unparseable body.
  • JsonRpcErrorCode has −32020 and −32022 but not −32021 (Missing Required Client Capability).
  • server/discover _meta contains only io.modelcontextprotocol/cacheHint; serverInfo sits in the body.

No longer true

  • A normal tools/call on the 2026 wire already returns resultType: "complete" and _meta["io.modelcontextprotocol/serverInfo"].
  • Mcp-Method and Mcp-Name are still enforced (HTTP 400, −32020) after the sidecar is removed. With [mcp-2026] Remove JSON-RPC sidecar; one /mcp owner #34 merged the check comes from the official mcp SDK.

Acceptance criteria for the refreshed issue

Activity

  1. added a commit that references this issue on Nov 3, 2026
  2. manish-wekan commented on Nov 4, 2026

    @manish-wekan
    Collaborator

    Closing together with #24 — the refreshed criteria are met on develop @ 0d51ee4 (#91, 227a187) except the items below.

    -32021 for task-augmented calls — dropping this criterion. #35 (#25) deliberately answers task-augmented calls on the 2026 wire with -32602 and its tests assert that. -32021 is Missing Required Client Capability, i.e. the client lacks something the server needs; a server without tasks support isn't that case, so -32602 stays. Verified: modern/auto → -32602, legacy → task created.

    Consequence: the -32021 branch #91 added in core/app.py is unreachable (it sits between two identical -32602 checks), and _stamp_discover_meta() is unused. Cleanup is requested in #37 / tracked in #27.

    Remaining wire leftovers (discover without headers → -32020, ping in the method-contract table) are in #37.

    ~sent from claude-code

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions