René's URL Explorer Experiment


Title: First end-to-end 2026-07-28 stateless tools/call (experimental entry + ClientSession pin) by maxisbey · Pull Request #2910 · modelcontextprotocol/python-sdk · GitHub

Open Graph Title: First end-to-end 2026-07-28 stateless tools/call (experimental entry + ClientSession pin) by maxisbey · Pull Request #2910 · modelcontextprotocol/python-sdk

X Title: First end-to-end 2026-07-28 stateless tools/call (experimental entry + ClientSession pin) by maxisbey · Pull Request #2910 · modelcontextprotocol/python-sdk

Description: First end-to-end slice of the 2026-07-28 stateless protocol, plus the interaction-suite era axis turned on so the existing transport-agnostic tests run at the new revision. Part of #2891, #2892, #2893, #2894 (closes none). Server mcp.server._streamable_http_modern — handle_modern_request direct-invocation path (private) StreamableHTTPSessionManager.handle_request branches on MCP-Protocol-Version ∈ MODERN_PROTOCOL_VERSIONS per-request ServerRunner over a SingleExchangeDispatcher (no back-channel; notifications no-op pending the SSE response mode) Client Client, ClientSession, and streamable_http_client() gain protocol_version: str | None pinned to "2026-07-28": born initialized (synthesized InitializeResult, placeholder server_info pending server/discover); initialize() is idempotent; stamps the io.modelcontextprotocol/{protocolVersion,clientInfo,clientCapabilities} envelope on every request; cancel_on_abandon=False pinned to a stateful version: initialize() requests that version instead of LATEST_PROTOCOL_VERSION transport pins MCP-Protocol-Version from the constructor; Mcp-Method/Mcp-Name derived per message; _encode_header_value Base64-sentinel-wraps RFC-7230-unsafe names MODERN_PROTOCOL_VERSIONS constant in mcp.shared.version Types CacheableResult defaults to ttl_ms=0, cache_scope="private" so list/read results constructed without explicit hints validate against the 2026-07-28 surface and never accidentally enable shared caching Interaction suite SPEC_VERSIONS = ("2025-11-25", "2026-07-28") — node ids gain a -version suffix the connect fixture forwards protocol_version through Client; in-memory and streamable-http-stateless era-locked to 2025-11-25 [streamable-http-2026-07-28]: 60 pass, 8 xfail (xfails are progress/logging — handler-emitted notifications not yet streamed on the single-exchange path) 13 lifecycle:* requirements get removed_in="2026-07-28"; 6 error-shape requirements excluded (modern-error-surface — tests pin the legacy code=0 divergence; the modern arm returns the spec-correct -32603) the wire contract (envelope, headers, no handshake, no session-id) stays pinned by transports/test_hosting_http_modern.py Conformance 23 scenarios now pass at the 2026-07-28 wire across the draft and carried-forward legs tools-call-with-progress stays expected-fail (progress delivery on the single-exchange path) Behaviour changes ClientSession.initialize() is now idempotent: a second call returns the cached result (or the synthesized one for a stateless pin) instead of re-sending the handshake. All other 2026 behaviour is opt-in via protocol_version=. SUPPORTED_PROTOCOL_VERSIONS and LATEST_PROTOCOL_VERSION are unchanged. Flagged for review 2× # type: ignore[call-arg] in server/session.py for _related_request_id (TODO at :94 — fix is the ServerSession/Context rework) 2× # type: ignore[reportPrivateUsage] in the modern entry (_compose_on_request, _EXIT_STACK_CLOSE_TIMEOUT) — both fall out of the ServerRunner driver-split Out of scope server/discover, _meta validation ladder, version negotiation, subscriptions/listen, MRTR, SSE response mode for the modern entry, public design of the new HTTP path, in-memory modern entry. AI Disclaimer

Open Graph Description: First end-to-end slice of the 2026-07-28 stateless protocol, plus the interaction-suite era axis turned on so the existing transport-agnostic tests run at the new revision. Part of #2891, #2892, #2...

X Description: First end-to-end slice of the 2026-07-28 stateless protocol, plus the interaction-suite era axis turned on so the existing transport-agnostic tests run at the new revision. Part of #2891, #2892, #2...

Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/2910

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:c0af4f08-858a-c903-b465-4d6c3807e3b2
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB516:1F761C:A7E7CD:E0DBBC:6A5A85B8
html-safe-nonce487b01904f8420cb2df56e57c8065dab5c3e7915e10614653db1b7a6918dad85
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNTE2OjFGNzYxQzpBN0U3Q0Q6RTBEQkJDOjZBNUE4NUI4IiwidmlzaXRvcl9pZCI6IjM2OTc5NTY5ODIzOTU0MDU3NTIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac0e6aa2b4d855f5cc933f721ac494194b443b92072821c45169c125897b9d4d00
hovercard-subject-tagpull_request:3898636900
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/modelcontextprotocol/python-sdk/pull/2910/files
twitter:imagehttps://avatars.githubusercontent.com/u/224885523?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/224885523?s=400&v=4
og:image:altFirst end-to-end slice of the 2026-07-28 stateless protocol, plus the interaction-suite era axis turned on so the existing transport-agnostic tests run at the new revision. Part of #2891, #2892, #2...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None922bdba685ea48400234d557977f0e32d9adbae6f5125725b4f48cacc6801106
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git
octolytics-dimension-user_id182288589
octolytics-dimension-user_loginmodelcontextprotocol
octolytics-dimension-repository_id862584018
octolytics-dimension-repository_nwomodelcontextprotocol/python-sdk
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id862584018
octolytics-dimension-repository_network_root_nwomodelcontextprotocol/python-sdk
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7c8a44665d760d73ead7e85d8f88b299152aa681
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F2910%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F2910%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=modelcontextprotocol%2Fpython-sdk
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
modelcontextprotocol https://github.com/modelcontextprotocol
python-sdkhttps://github.com/modelcontextprotocol/python-sdk
Notifications https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Fork 3.7k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Star 23.6k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Code https://github.com/modelcontextprotocol/python-sdk
Issues 256 https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests 303 https://github.com/modelcontextprotocol/python-sdk/pulls
Actions https://github.com/modelcontextprotocol/python-sdk/actions
Projects https://github.com/modelcontextprotocol/python-sdk/projects
Models https://github.com/modelcontextprotocol/python-sdk/models
Security and quality 6 https://github.com/modelcontextprotocol/python-sdk/security
Insights https://github.com/modelcontextprotocol/python-sdk/pulse
Code https://github.com/modelcontextprotocol/python-sdk
Issues https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests https://github.com/modelcontextprotocol/python-sdk/pulls
Actions https://github.com/modelcontextprotocol/python-sdk/actions
Projects https://github.com/modelcontextprotocol/python-sdk/projects
Models https://github.com/modelcontextprotocol/python-sdk/models
Security and quality https://github.com/modelcontextprotocol/python-sdk/security
Insights https://github.com/modelcontextprotocol/python-sdk/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2Fnew%2Fchoose
maxisbeyhttps://github.com/maxisbey
v2-2026-07-28https://github.com/modelcontextprotocol/python-sdk/tree/v2-2026-07-28
stateless-tools-callhttps://github.com/modelcontextprotocol/python-sdk/tree/stateless-tools-call
Conversation 11 https://github.com/modelcontextprotocol/python-sdk/pull/2910
Commits 21 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits
Checks 32 https://github.com/modelcontextprotocol/python-sdk/pull/2910/checks
Files changed https://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
First end-to-end 2026-07-28 stateless tools/call (experimental entry + ClientSession pin) https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#top
Show all changes 21 commits https://github.com/modelcontextprotocol/python-sdk/pull/2910/files
c0397c0 Add experimental 2026-07-28 stateless HTTP serving entry maxisbey Jun 18, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/c0397c075fd74fa19adae6a3d80d156a2b1f0ad7
980d57a Add protocol_version pin to ClientSession for stateless 2026-07-28 mode maxisbey Jun 18, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/980d57a196ad9a161f222eb81318a6d2ee7b5491
188dc83 Pass app and security_settings explicitly to handle_modern_request maxisbey Jun 18, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/188dc83d6e1dcf88cc8eb04b1c283cd23ae4a8d9
9aebd53 Add interaction tests for the 2026-07-28 stateless lifecycle and HTTP… maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/9aebd530490fd837901359704081ddf05ad4e7ca
a4f0939 Register 2026-07-28 stateless requirements in the interaction-suite m… maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/a4f0939030b6ce8b72ebc2d3b98100e7a52b2482
cf65e8b Add MockTransport, capstone, and client-unit tests for the 2026-07-28… maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/cf65e8b7dcb678c9719f039e47660ba30576a8d6
081c564 Register remaining 2026-07-28 stateless requirements maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/081c564712e8ea1de8d7a4fc6a1a6f7a83178b81
ae383c5 Add coverage tests for the experimental modern HTTP entry maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/ae383c54a69476167aa011b3eda29d6ec1492b33
26ff922 Reconcile conformance baselines for the stateless serving path maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/26ff9221827289d8be4deb9db1e5987135e0e8aa
92c078a Harden the experimental modern HTTP entry's error and cleanup paths maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/92c078a5717a887a8a74b32f48ef29fa8821857e
06d1492 Derive transport headers from a constructor protocol_version pin maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/06d149286e377fad28d58e718a932812099d421c
4378d15 Mark post-shielded-cancel assertions as lax-no-cover for 3.11 maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/4378d15937b4793132d294222178ffa1fa64e796
194f225 Address review feedback and consolidate 2026-07-28 interaction tests maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/194f22523e84e798a6235811376a6c0845e1dc07
3afe0f0 Tighten the consolidated 2026-07-28 interaction tests maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/3afe0f0c0c9c4940141cbf9ccd097aff335b8cc3
12f2539 Dispatch ClientSession.protocol_version by era instead of restricting… maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/12f2539601fbeab37ae8f9f2a72abffa18ba22d1
4954ed4 Make a pinned ClientSession born-initialized and centralize the moder… maxisbey Jun 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/4954ed41286d3ec08c5696fe912b1ff1fd6e07a5
47a422c Use MODERN_PROTOCOL_VERSIONS membership instead of a threshold constant maxisbey Jun 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/47a422c3920f7b68fe6b1ccdf17a786cb259aa7c
7bf87f8 Thread protocol_version through Client and default CacheableResult to… maxisbey Jun 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/7bf87f8a4dfa811fcb5e0338950f97d014db404a
3fcf832 Turn on the 2026-07-28 column in the interaction-suite matrix maxisbey Jun 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/3fcf832dc05b3079e98500e8f78184cdd063dfc5
05211a3 Reconcile conformance baselines after CacheableResult default change maxisbey Jun 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/05211a3d590625249e21b7bfaef714a7d8ddac0b
1044f42 Report the negotiated protocol_version once initialized; clarify enve… maxisbey Jun 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2910/commits/1044f42ee2649c5db47a0f2d9e1ea1e8b6493279
Clear filters https://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
expected-failures.2026-07-28.yml https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-a8ea36ef04436cd253292c3fbbe06e88795d93362fba66a5919cc6793c5f2aef
expected-failures.yml https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-9554cfe66b53ce3771454545473fbd08be68a3c6ecdd0f837273a3e41e6b67d7
migration.md https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-34e945ebc2fea8a427b8d0c45ccd28eb4e4cceb33c82048bd7998e6bb2f754f3
session.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
streamable_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-e8c18a3067a9b157c5c39a947f53d395afeb00e7026dad2d5a279011da943b5e
_streamable_http_modern.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-c5e06136c127a1503b8eab18375355c38ceb7e71b5a1c04b36ebf2fbc3d9067d
runner.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-7a9c3e13faa5730f5a8a60062e9d200513c0baeada63e3cc24b37fe68e086e90
session.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-9a603a2587011a188aa76ca19a32fcd343a253516325fbcfb4f7bfb6a814634c
streamable_http_manager.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-1071ee05567116cb77322c376307b9071c6212871068ccf41911fc337ed473af
version.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-cbd997f5b52f8757771f4257216d82d29862715947778ae776ec13385baf9184
_types.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-727bcd5cda4a440f63005368c3cbc5f6308f40630901166fd456039c52d3363e
test_client.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-f91d7d1bfecb41d80a4cc73133b82560b7284a2af2d6630c49b983ca9366ea13
test_session.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-623490a9c2dd576cc59e89f8d51f64acfffdeaad940e0bd4a0a51a50bc30d92d
test_streamable_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-09ecebf3cb1cb198a43bd3159ecf388a4dfdc38f93c9812b671f40fc2c83ec29
_connect.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-6ed9301844e916542b4f858e556d9e255de8891db09e51b737f5dd1238c50b9d
_modern_vocab.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-5db7243dd206ab35bb34a493eca0ec90387d94156184ba8fb630d8b45fef918a
_requirements.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-c12ce54cbf13a11daa3f93343e5df8c89ca2b25d0f20f00b5408a2402a223228
test_context.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-b5f7f25d66f0bed98387a6b630791fe45686eca3ae623b16d89da8a4d01b471e
test_coverage.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-b60708448fb1fbd8bdc0fa50e9ae954833dcfdc17e67bb0ff9d544492b554c64
test_hosting_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-25c736951e89c76e3f06e5f6b36924f2fecb911b5bd98e4c74bf8249e8480fac
test_hosting_http_modern.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-122f8dfa74b6aa90e3cea5c8da3a5bf7829d8ea82e66caf2ab88c0e107858914
test_legacy_wire.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-a4ea4ba5015e2bfa093bdc62b0bfb44f841d094f84ca23dca89eb81390d9c395
test_streamable_http_modern.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-1e3c8aa3513b03c2ac6b7534d2b3a45dcbf59ef32f158028e9cc2fff0760893f
test_types.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-bd467a363c9f155a2e6a7716aeca0c351089135a53d09a66138cea4f16506ebd
test_wire_frames.py https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-0228e2dde74590f01ce982796a371fc607b30a7ea5bf6f01bccf06c93d70cbdc
.github/actions/conformance/expected-failures.2026-07-28.ymlhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-a8ea36ef04436cd253292c3fbbe06e88795d93362fba66a5919cc6793c5f2aef
View file https://github.com/modelcontextprotocol/python-sdk/blob/1044f42ee2649c5db47a0f2d9e1ea1e8b6493279/.github/actions/conformance/expected-failures.2026-07-28.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2910/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-a8ea36ef04436cd253292c3fbbe06e88795d93362fba66a5919cc6793c5f2aef
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-a8ea36ef04436cd253292c3fbbe06e88795d93362fba66a5919cc6793c5f2aef
.github/actions/conformance/expected-failures.ymlhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-9554cfe66b53ce3771454545473fbd08be68a3c6ecdd0f837273a3e41e6b67d7
View file https://github.com/modelcontextprotocol/python-sdk/blob/1044f42ee2649c5db47a0f2d9e1ea1e8b6493279/.github/actions/conformance/expected-failures.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2910/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-9554cfe66b53ce3771454545473fbd08be68a3c6ecdd0f837273a3e41e6b67d7
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
View file https://github.com/modelcontextprotocol/python-sdk/blob/1044f42ee2649c5db47a0f2d9e1ea1e8b6493279/docs/migration.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2910/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
src/mcp/client/client.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-34e945ebc2fea8a427b8d0c45ccd28eb4e4cceb33c82048bd7998e6bb2f754f3
View file https://github.com/modelcontextprotocol/python-sdk/blob/1044f42ee2649c5db47a0f2d9e1ea1e8b6493279/src/mcp/client/client.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2910/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-34e945ebc2fea8a427b8d0c45ccd28eb4e4cceb33c82048bd7998e6bb2f754f3
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-34e945ebc2fea8a427b8d0c45ccd28eb4e4cceb33c82048bd7998e6bb2f754f3
https://github.com/modelcontextprotocol/python-sdk/pull/2910/checks?check_run_id=82482081644
claudehttps://github.com/apps/claude
Jun 20, 2026https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#r3446279254
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-34e945ebc2fea8a427b8d0c45ccd28eb4e4cceb33c82048bd7998e6bb2f754f3
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-34e945ebc2fea8a427b8d0c45ccd28eb4e4cceb33c82048bd7998e6bb2f754f3
src/mcp/client/session.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
View file https://github.com/modelcontextprotocol/python-sdk/blob/1044f42ee2649c5db47a0f2d9e1ea1e8b6493279/src/mcp/client/session.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2910/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
https://github.com/modelcontextprotocol/python-sdk/pull/2910/files#diff-634d1abcb8bda1a784f31e3431a10124e387f487dd243a54244515b4972aa0ee
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2910/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.