Skip to content

Track: complete MCP 2026-07-28 protocol upgrade #532

Open

Description

@Dumbris

Summary

The MCP 2026-07-28 spec revision (release candidate) is a major, proxy-impacting protocol change. This issue tracks mcpproxy's upgrade. Full scope captured in spec 057-mcp-2026-upgrade (specs/057-mcp-2026-upgrade/spec.md).

⛔ Dependency gate

Implementation is BLOCKED until github.com/mark3labs/mcp-go ships 2026-07-28 support. As of 2026-05-28, pinned v0.54.0 and latest v0.54.1 both target only 2025-11-25. We do not hand-roll protocol primitives ahead of the library.

Breaking changes to address (proxy-specific)

  • Sessions removed / fully stateless; */list MUST NOT vary per connection — reconcile with agent-token scoping + multiuser filtering.
  • initialize/initialized removed → new server/discover RPC + per-request _meta (protocolVersion/clientInfo/clientCapabilities), both as server and client.
  • New REQUIRED headers Mcp-Method, Mcp-Name, MCP-Protocol-Version — proxy must set/validate/forward both directions; -32001 HeaderMismatch.
  • MRTR (input_required + inputResponses) replaces server-initiated sampling/elicitation over SSE.
  • x-mcp-header param→header mirroring.
  • resources/subscribe → subscriptions/listen; GET stream removed.
  • Resource-not-found -32002 → -32602.

Additive opportunities

  • CacheableResult (ttlMs + cacheScope) → amplifies token-savings value prop.
  • Deterministic tool ordering; server:tool prefix now spec-blessed.
  • Header-based routing (avoid JSON body parse); Tasks + MCP Apps extensions.
  • W3C/OTel trace context in _meta → activity log; JSON Schema 2020-12 default.

Deprecations to migrate away from

roots, sampling, logging, HTTP+SSE 2024-11-05 transport (12-month window).

Next steps

  1. Watch mcp-go for a 2026-07-28 release (scheduled tracking agent).
  2. Re-validate spec 057 against the finalized (non-RC) spec when the gate clears.
  3. Run /speckit.plan → /speckit.tasks once unblocked.

Related spec: specs/057-mcp-2026-upgrade/spec.md

Activity

  1. Dumbris commented on Jun 1, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — no change (weekly check 2026-06-01)

    Dependency gate: github.com/mark3labs/mcp-go latest release is v0.54.1 (May 25, 2026). LATEST_PROTOCOL_VERSION = "2025-11-25"; ValidProtocolVersions contains only 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. The string 2026-07-28 does not appear anywhere in the types file. Library gate is not cleared.

    Spec status: Still a Release Candidate. RC was announced May 21, 2026 (post: The 2026-07-28 MCP Specification Release Candidate). Final specification is scheduled to ship July 28, 2026 — no finalization post yet. No breaking detail changes since last check; confirmed RC details: Mcp-Session-Id header removed, new required headers MCP-Protocol-Version / Mcp-Method / Mcp-Name, initialize/initialized handshake eliminated (client info moves to _meta), error code -32002 → -32602, Tasks API requires migration.

    Tracking: Issue #532 is open. PR #533 is open / not merged (spec doc only, awaiting library gate).

    No action required this week. Will re-check next Sunday.


    Generated by Claude Code

  2. Dumbris commented on Jun 8, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — no change (weekly check 2026-06-08)

    Dependency gate: github.com/mark3labs/mcp-go latest is v0.54.1 (released May 25, 2026). LATEST_PROTOCOL_VERSION = "2025-11-25"; ValidProtocolVersions covers 2025-11-25 / 2025-06-18 / 2025-03-26 / 2024-11-05. The string "2026-07-28" does not appear anywhere in mcp/types.go. Gate is not cleared.

    Spec status: MCP 2026-07-28 is still a release candidate — the most recent blog post (May 21, 2026) at blog.modelcontextprotocol.io still uses RC language. The spec is not expected to be finalized until July 28, 2026 itself. No field-name or error-code changes vs. original RC have been detected that would require editing the spec.

    Project status: Issue #532 is open. PR #533 is open, not merged (note: PR title was corrected to "spec 058" in a revision, though tracked here as 057/058).

    No action required yet. Next check: 2026-06-15. Implementation can begin once mcp-go ships a release where "2026-07-28" appears in ValidProtocolVersions.


    Generated by Claude Code

  3. Dumbris commented on Jun 15, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — no change (weekly check, 2026-06-15)

    Dependency gate: github.com/mark3labs/mcp-go latest is v0.54.1 (released May 25, 2026). LATEST_PROTOCOL_VERSION is still "2025-11-25"; ValidProtocolVersions contains only 2024/2025 dates. No 2026-07-28 anywhere in the codebase. Library gate is not cleared.

    Spec status: The 2026-07-28 revision is still a release candidate (RC locked May 21, 2026; final ships July 28, 2026 — 43 days out). No breaking-detail changes since the RC was announced. Key breaking items remain as documented in the spec: removal of initialize/initialized handshake, session management eliminated (Mcp-Session-Id gone), new required Mcp-Method / Mcp-Name headers, MCP-Protocol-Version header replacing handshake exchange, missing-resource error code changed from -32002 → -32602.

    Project status: Issue #532 open, no new comments. PR #533 open and intentionally held (June 8 triage note confirmed: "no engineer action needed now; revisit when mcp-go ships 2026-07-28 support").

    Next check: 2026-06-22. Will fire earlier if mcp-go cuts a new release.


    Generated by Claude Code

  4. Dumbris commented on Jun 22, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — no change (weekly check 2026-06-22)

    Dependency gate: mcp-go latest is v0.55.0 (released 2026-06-16). LATEST_PROTOCOL_VERSION is still "2025-11-25"; ValidProtocolVersions is ["2025-11-25", "2025-06-18", "2025-03-26", "2024-11-05"]. The string "2026-07-28" does not appear anywhere in types.go. Library gate not cleared.

    Spec status: The 2026-07-28 revision remains a release candidate (RC announced 2026-05-21). No blog post or changelog entry indicates it has moved to final. No breaking-detail changes detected since last check.

    Project: Issue #532 is open. PR #533 is open, not merged (title now reads "spec 058" — possibly renumbered; still waiting on library).

    Nothing actionable this week. Will recheck next Monday.


    Generated by Claude Code

  5. Dumbris commented on Jun 29, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — weekly watcher check, 2026-06-29

    Dependency gate (mcp-go): Latest release is v0.55.1 (2026-06-25). LATEST_PROTOCOL_VERSION in mcp/types.go is still "2025-11-25"; ValidProtocolVersions = ["2025-11-25", "2025-06-18", "2025-03-26", "2024-11-05"]. The string "2026-07-28" does not appear anywhere in the library. Gate remains blocked.

    Spec status: The 2026-07-28 spec remains a Release Candidate (RC locked 2026-05-21). Final is scheduled for the date itself — July 28, 2026 (~4 weeks out). No breaking field/header/error-code changes detected vs. the RC captured in spec 057; no edits to the spec are needed this week.

    Project status: Issue #532 — open. PR #533 (spec/docs) — merged 2026-06-24 (all 46 CI checks passed).

    Next gate: Watch for mcp-go tag ≥ v0.56.0 with LATEST_PROTOCOL_VERSION = "2026-07-28". Expect library support to land in the ~4-week window between now and the final spec ship date.


    Generated by Claude Code

  6. Dumbris commented on Jul 6, 2026

    @Dumbris
    MemberAuthor

    🟡 Movement — spec finalization imminent, library still blocked (weekly check 2026-07-06)

    mcp-go gate: Latest is v0.55.1 (released 2026-06-25). LATEST_PROTOCOL_VERSION = "2025-11-25" — ValidProtocolVersions still contains only 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. The string "2026-07-28" does not appear anywhere in the library. Gate not cleared.

    Spec status: The 2026-07-28 revision is still an RC, but the final specification ships in 22 days (July 28, 2026). The official Tier-1 SDKs (Python v2, TypeScript v2, modelcontextprotocol/go-sdk v1.7.0-pre.1, C# v2 preview) have beta releases with 2026-07-28 support — mark3labs/mcp-go is not among them. No breaking detail changes since baseline: -32602 for missing-resource and Mcp-Method/Mcp-Name headers are confirmed in spec 057 already.

    Project: Issue #532 open. PR #533 merged 2026-06-24.

    Watch signal: With the official Go SDK beta live and the final spec ~3 weeks out, pressure on mark3labs/mcp-go to ship a compatible release should increase sharply. Recommend daily checks of mcp-go releases starting ~July 21.


    Generated by Claude Code

  7. Dumbris commented on Jul 13, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — mcp-go v0.56.0 still targets 2025-11-25 (weekly check 2026-07-13)

    mcp-go gate: Latest is v0.56.0 (released ~2026-07-09, up from v0.55.1 last week). LATEST_PROTOCOL_VERSION = "2025-11-25" — ValidProtocolVersions unchanged: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. The string "2026-07-28" does not appear in the library. Gate not cleared.

    Spec status: Still an RC. The 2026-07-28 specification is scheduled to finalize in 15 days (July 28, 2026). No breaking-detail changes detected since last check. The official modelcontextprotocol/go-sdk has a beta with 2026-07-28 support; mark3labs/mcp-go has not yet followed.

    Project: Issue #532 open. PR #533 merged 2026-06-24.

    Watch signal: Spec finalization and library release are now likely within 2 weeks of each other. Daily monitoring of mcp-go releases recommended from ~July 21 onward.


    Generated by Claude Code

  8. Dumbris commented on Jul 20, 2026

    @Dumbris
    MemberAuthor

    ⏳ Still blocked — no change (weekly check 2026-07-20)

    mcp-go gate: Latest release is v0.56.0 (2026-07-09). LATEST_PROTOCOL_VERSION remains "2025-11-25"; ValidProtocolVersions = ["2025-11-25", "2025-06-18", "2025-03-26", "2024-11-05"]. No 2026-07-28 support present. Implementation of spec 057 cannot begin yet.

    Spec status: 2026-07-28 is still a Release Candidate. The most recent MCP blog post (2026-06-29) covers beta SDKs for the RC — no finalization announcement found. No breaking-detail changes noted since last check.

    Issue #532: Open. PR #533: Merged 2026-06-24 (spec/docs only; implementation blocked pending mcp-go gate).


    Generated by Claude Code

  9. Dumbris commented on Jul 27, 2026

    @Dumbris
    MemberAuthor

    🟡 Movement — spec final ships tomorrow (2026-07-28), but mark3labs/mcp-go library gate is still not cleared.

    Weekly check — 2026-07-27

    Dependency gate (mark3labs/mcp-go): Latest release is v0.57.0 (released 2025-07-23). LATEST_PROTOCOL_VERSION is still "2025-11-25"; ValidProtocolVersions contains no 2026-07-28 entry. Gate remains blocked. Note: the official MCP Go SDK (github.com/modelcontextprotocol/go-sdk v1.7.0-pre.1) has shipped 2026-07-28 beta support, but mcpproxy depends on mark3labs/mcp-go, which has not been updated.

    Spec status: The 2026-07-28 revision was still RC as of last blog post (2026-06-29, beta SDKs announced). The final spec release date is tomorrow, 2026-07-28 — expect it to land imminently. No new breaking detail changes identified beyond what's already in spec 057 (stateless architecture, no initialize handshake, MCP Apps/Tasks, auth hardening).

    Issue #532: Open. PR #533: Merged 2026-06-24 (spec/docs only — implementation still pending the library gate).

    Next action: Watch mark3labs/mcp-go for a new release tagging 2026-07-28 support, likely following the spec going final tomorrow. Once that drops, spec 057 implementation can begin.


    Generated by Claude Code

  10. Dumbris commented on Aug 3, 2026

    @Dumbris
    MemberAuthor

    🟡 Movement — 2026-07-28 spec is now FINAL; library gate still blocked (weekly check 2026-08-03)

    Dependency gate (mark3labs/mcp-go): Latest release is v0.57.0 (2026-07-23) — unchanged since last check (July 27). LATEST_PROTOCOL_VERSION = "2025-11-25"; ValidProtocolVersions = ["2025-11-25", "2025-06-18", "2025-03-26", "2024-11-05"]. The string "2026-07-28" does not appear in the library. Gate is still blocked. No new tag has been published since the spec went final 6 days ago.

    Spec status: The 2026-07-28 MCP specification is now officially FINAL — released July 28, 2026 per the MCP blog ("Today, we're officially pushing the release button on the next version of the MCP specification, 2026-07-28"). No breaking-detail changes from RC to final detected; fields, error codes, and headers in spec 057 remain correct. The modelcontextprotocol/go-sdk (official, not mark3labs) has beta support at v1.7.0-pre.1; mark3labs/mcp-go has not yet followed.

    Project: Issue #532 open. PR #533 merged 2026-06-24.

    Watch signal: The spec is final and the window for mark3labs/mcp-go to ship a compatible release is now open. Expect a tagged release within days to weeks. This is the first post-finalization check — escalate to daily monitoring of mcp-go releases.


    Generated by Claude Code

  11. Dumbris commented on Aug 10, 2026

    @Dumbris
    MemberAuthor

    🟡 Movement — spec is now FINAL, but library gate is still blocked (2026-08-10 weekly check)

    mcp-go gate: mark3labs/mcp-go latest is v0.57.0 (released 2025-07-23). LATEST_PROTOCOL_VERSION = "2025-11-25"; no 2026-07-28 in ValidProtocolVersions. Gate still blocked. Note: the official modelcontextprotocol/go-sdk added 2026-07-28 support (v1.7.0-pre.1), but mcpproxy-go depends on mark3labs, not the official SDK — no impact yet.

    Spec status: 2026-07-28 moved from RC to FINAL on 2026-07-28. Key final-spec breaking changes that may require edits to spec 057: (1) initialize/initialized handshake eliminated; (2) Mcp-Session-Id header removed; (3) Mcp-Method + Mcp-Name headers now mandatory on streamable HTTP; (4) roots/sampling/logging deprecated with 12-month window; (5) legacy HTTP+SSE transport officially deprecated; (6) tasks moved to io.modelcontextprotocol/tasks extension (poll-based tasks/get / tasks/update); (7) list responses gain ttlMs + cacheScope fields. These should be reviewed against spec 057 for any RC→final delta.

    Issue #532: Open. PR #533: Merged (2026-06-24, docs/spec only).


    Generated by Claude Code

  12. Dumbris commented on Aug 17, 2026

    @Dumbris
    MemberAuthor

    🟢 GATE CLEARED — mcp-go now supports 2026-07-28 (2026-08-17 weekly check)

    mcp-go gate: mark3labs/mcp-go v1.0.0-beta.1 (released 2026-08-12) sets LATEST_PROTOCOL_VERSION = "2026-07-28" and lists it first in ValidProtocolVersions. ⚠️ This is a beta release — stable v0.58.0 (Aug 11) is still on 2025-11-25. Recommend pinning v1.0.0-beta.1 (or waiting for a stable v1.0.0) before starting spec 057 implementation; validate the beta's API surface for breaking changes vs v0.x first.

    Spec 057 can begin once the beta is accepted. Key validation step: re-read spec 057 against the finalized spec before /speckit.plan — the spec moved to FINAL on 2026-07-28, but per last week's check, delta items to review include: tasks moved to io.modelcontextprotocol/tasks extension (poll-based tasks/get/tasks/update), Mcp-Session-Id removed, and list-response ttlMs/cacheScope fields.

    Spec status: 2026-07-28 is FINAL (no longer RC). No new breaking changes found since 2026-08-10 check.

    Issue #532: Open. PR #533: Merged (2026-06-24, spec/docs only).


    Generated by Claude Code

  13. 3 remaining items

  14. Dumbris commented on Aug 31, 2026

    @Dumbris
    MemberAuthor

    🟢 GATE CLEARED — no change since last week (2026-08-31 weekly check)

    • mcp-go latest: v1.0.0-beta.1 (released 2026-08-12) — no new release since last week's check. Still the only version targeting 2026-07-28; stable v0.58.0 (Aug 11) remains on 2025-11-25. No v1.0.0 stable or v1.0.0-beta.2 yet — worth watching for the stable drop before merging implementation work.
    • 2026-07-28 spec: FINAL (unchanged). No new breaking details found this week.
    • Issue Track: complete MCP 2026-07-28 protocol upgrade #532: open. PR docs(spec): MCP 2026-07-28 protocol upgrade (spec 058, blocked on mcp-go) #533: merged (2026-06-24, spec-only).
    • Status: Gate cleared as of 2026-08-12; the 2026-08-23 readiness update (compile probe, 2 failing tests, implementation plan) is the current actionable starting point. Implementation can begin against v1.0.0-beta.1; recommend holding merge until v1.0.0 stable ships or the legacy transport pin is in place.

    Generated by Claude Code

  15. Dumbris commented on Sep 7, 2026

    @Dumbris
    MemberAuthor

    🟢 GATE CLEARED — spec 057 implementation can begin

    Weekly watcher check — 2026-09-07

    Dependency gate: CLEARED ✅

    • mcp-go v1.0.0 shipped (released ~2026-09-02) — LATEST_PROTOCOL_VERSION = "2026-07-28", ValidProtocolVersions includes ["2026-07-28", "2025-11-25", ...].
    • The repo's go.mod is already pinned to v1.0.0 (landed via spec 058 branch).

    MCP 2026-07-28 spec: FINAL (no longer RC) ✅

    Published 2026-07-28 as the official release. No field-name or error-code changes vs. the RC that was captured in spec 057 — all breaking details (removed initialize/initialized, new Mcp-Method/Mcp-Name/MCP-Protocol-Version headers, MRTR, subscriptions/listen, -32002→-32602) are confirmed final. Spec 057 does not need structural edits, though a re-validation pass is still recommended before /speckit.plan.

    Issue / PR status

    Next step

    Run /speckit.plan → /speckit.tasks on spec 057-mcp-2026-upgrade to generate the implementation plan. The library gate is gone; only the re-validation pass before coding remains.


    Generated by Claude Code

  16. Dumbris commented on Sep 14, 2026

    @Dumbris
    MemberAuthor

    🟢 GATE CLEARED — implementation in progress (weekly check 2026-09-14)

    Dependency gate: mcp-go v1.0.0 (stable, released ~2026-09-02) ships 2026-07-28 support — LATEST_PROTOCOL_VERSION = "2026-07-28" / 2026-07-28 present in ValidProtocolVersions. The repo's go.mod is already pinned to v1.0.0 (landed via spec 058 branch). Gate has been cleared since 2026-08-12 (beta.1); stable v1.0.0 confirmed in the 2026-09-07 check.

    Implementation status: Phase 1/2 era-testing harness is real and working (internal/server/protocol_era_test.go). Phase 3+ tasks (list-resolver gating, MCP-* header emission, MRTR, cache-hints, tool-ordering, trace-context, architecture docs, etc.) remain absent per today's gardener run (#1277).

    MCP 2026-07-28 spec: FINAL (no longer RC, published 2026-07-28). No field-name or error-code changes from RC to final that would affect spec 057/058 — existing breaking-change list (removed initialize/initialized, stateless sessions, Mcp-Method/Mcp-Name/MCP-Protocol-Version headers, MRTR, subscriptions/listen, -32002→-32602) remains correct.

    Issue #532: open (tracking). PR #533: merged 2026-06-24 (spec/docs only — done).

    Next: continue Phase 3+ implementation on the 058 branch. No watcher action needed until issue closes.


    Generated by Claude Code

  17. changed the title [-]Track: upgrade to MCP 2026-07-28 protocol revision (blocked on mcp-go)[/-] [+]Track: complete MCP 2026-07-28 protocol upgrade[/+] on Sep 16, 2026
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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions