Title: 2026-07-28 spec support — tracking · Issue #2891 · modelcontextprotocol/python-sdk · GitHub
Open Graph Title: 2026-07-28 spec support — tracking · Issue #2891 · modelcontextprotocol/python-sdk
X Title: 2026-07-28 spec support — tracking · Issue #2891 · modelcontextprotocol/python-sdk
Description: Umbrella for the 2026-07-28 release work. Bar: the conformance suite passes with no expected-failures waivers attributable to this release (the SEP-990 enterprise-auth waiver is unrelated and remains). Each sub-issue lists the scenarios ...
Open Graph Description: Umbrella for the 2026-07-28 release work. Bar: the conformance suite passes with no expected-failures waivers attributable to this release (the SEP-990 enterprise-auth waiver is unrelated and remai...
X Description: Umbrella for the 2026-07-28 release work. Bar: the conformance suite passes with no expected-failures waivers attributable to this release (the SEP-990 enterprise-auth waiver is unrelated and remai...
Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/issues/2891
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"2026-07-28 spec support — tracking","articleBody":"Umbrella for the 2026-07-28 release work. Bar: the conformance suite passes with no expected-failures waivers attributable to this release (the [SEP-990](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/990) enterprise-auth waiver is unrelated and remains). Each sub-issue lists the scenarios it's responsible for; design is owned by whoever takes the issue.\n\nThis sits alongside the broader v2.0 SDK rework tracked in #1253 — that umbrella covers SDK-ergonomics breaking changes; this one covers spec compliance for the 2026-07-28 protocol revision.\n\n## What's in it\n\n- Sub-issues:\n - #2892\n - #2893\n - #2894\n - #2895\n - #2896\n - #2897\n - #2898\n - #2899\n - #2900\n - #2901\n - #2902\n - #2903\n - #2904\n - #2905\n- **Architecture (direction, not law):** lowlevel `Server` = protocol interface, minimal state, no magic. The 2026 features ship as **public helpers/classes** usable directly against lowlevel `Server`. `MCPServer` is a **thin composition** of those same public helpers — a pre-built convenience, not a monolith with private machinery.\n- **Capability checkpoints** (shared targets, not tickets):\n - **M1** — a modern client makes a stateless `tools/call` against a modern server over HTTP, no initialize (minimum slice of _Backwards compatibility \u0026 version negotiation_ + _New HTTP serving path (modern + dual-era)_ + _New Client (all-versions, low-level + high-level)_)\n - **M2** — the `server-stateless` conformance scenario passes end-to-end (_Backwards compatibility \u0026 version negotiation_ + _New HTTP serving path (modern + dual-era)_ + _Context object (layered, per-request)_ + _Capabilities API + server/discover handler_ + _subscriptions/listen_ all in)\n - **M3** — all release-attributable waivers gone\n- **Landing model:** PRs land to `main`. 2026-07-28 stays modeled-but-not-negotiable until the version-negotiation work flips it on, so partial work doesn't change behaviour for existing users.\n- Standing maintenance (not a sub-issue): when bumping the conformance pin, reconcile `expected-failures.yml` in the same PR; when in-flight spec PRs merge, re-vendor `schema/2026-07-28.json` + regenerate.\n- Stretch (optional): contribute missing scenarios upstream — discover caching-hints check, dedicated `subscriptions/listen` server scenario, client-direction sessionless scenario.\n\n## Conformance\n\n- (all release-attributable waivers removed across the sub-issues)\n\n## Dependencies\n\n- Depends on: none\n\n## References\n\n- [Draft changelog](https://modelcontextprotocol.io/specification/draft/changelog)\n- [Draft schema](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/draft/schema.ts)\n- [Conformance suite](https://github.com/modelcontextprotocol/conformance)\n- [python-sdk expected-failures](https://github.com/modelcontextprotocol/python-sdk/blob/main/.github/actions/conformance/expected-failures.yml)\n","author":{"url":"https://github.com/maxisbey","@type":"Person","name":"maxisbey"},"datePublished":"2026-06-17T11:11:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/2891/python-sdk/issues/2891"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:6f7475ef-c07b-0ec3-524a-f64ec842ef09 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BB4E:1D99C8:2187BA:2EBAB8:6A5862F8 |
| html-safe-nonce | 95f134ef8ebc6b58cdf200f7808a7f666ffac0ada4454819fd7e0d299b6247f5 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQjRFOjFEOTlDODoyMTg3QkE6MkVCQUI4OjZBNTg2MkY4IiwidmlzaXRvcl9pZCI6IjI4MzEwOTQ4NTEwNTEyMTc2NTYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | b18b01e62825844982789effeb02830d298fa18c832cbc176daddba54d43bb28 |
| hovercard-subject-tag | issue:4682672481 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/modelcontextprotocol/python-sdk/2891/issue_layout |
| twitter:image | https://opengraph.githubassets.com/8d035ffd4017f0914366a4134017f54dabbd6d11dfd5d64c5882288c318cfed4/modelcontextprotocol/python-sdk/issues/2891 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/8d035ffd4017f0914366a4134017f54dabbd6d11dfd5d64c5882288c318cfed4/modelcontextprotocol/python-sdk/issues/2891 |
| og:image:alt | Umbrella for the 2026-07-28 release work. Bar: the conformance suite passes with no expected-failures waivers attributable to this release (the SEP-990 enterprise-auth waiver is unrelated and remai... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | maxisbey |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f2a0c7865178af3d91dd9f13b0cdfc3c73a2529c873d2780bb4c01271a57ec6 |
| turbo-cache-control | no-preview |
| go-import | github.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git |
| octolytics-dimension-user_id | 182288589 |
| octolytics-dimension-user_login | modelcontextprotocol |
| octolytics-dimension-repository_id | 862584018 |
| octolytics-dimension-repository_nwo | modelcontextprotocol/python-sdk |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 862584018 |
| octolytics-dimension-repository_network_root_nwo | modelcontextprotocol/python-sdk |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 8aae7b8d6caacacf5c66eaeb2702d8dc88d85b4a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width