René's URL Explorer Experiment


Title: Expose session, auth, and transport information on handler Context · Issue #2098 · modelcontextprotocol/python-sdk · GitHub

Open Graph Title: Expose session, auth, and transport information on handler Context · Issue #2098 · modelcontextprotocol/python-sdk

X Title: Expose session, auth, and transport information on handler Context · Issue #2098 · modelcontextprotocol/python-sdk

Description: Problem Users consistently need access to transport-level information from inside tool, resource, and prompt handlers. Today, this data exists in the system but is not accessible through the Context object that handlers receive. There ar...

Open Graph Description: Problem Users consistently need access to transport-level information from inside tool, resource, and prompt handlers. Today, this data exists in the system but is not accessible through the Contex...

X Description: Problem Users consistently need access to transport-level information from inside tool, resource, and prompt handlers. Today, this data exists in the system but is not accessible through the Contex...

Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/issues/2098

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Expose session, auth, and transport information on handler Context","articleBody":"## Problem\n\nUsers consistently need access to transport-level information from inside tool, resource, and prompt handlers. Today, this data exists in the system but is not accessible through the `Context` object that handlers receive.\n\nThere are three categories of information users are asking for:\n\n### Session identity\n\nUsers need to identify which client session they are serving — for per-session state, logging, debugging, or multi-tenant scenarios. The session ID exists at the transport layer (e.g., `Mcp-Session-Id` header for streamable HTTP, UUID query param for SSE) but there is no way to read it from a handler.\n\n- #485 — \"How to get session_id in tool\"\n- #942 — \"How to expose mcp_session_id to user?\"\n\n### Auth credentials\n\nUsers completing an OAuth flow need to access the authenticated token or claims inside their handlers. The auth middleware already validates tokens and stores them in a `ContextVar` (`auth_context_var`), but `Context` does not expose this.\n\n- #638 — \"FastMCP Auth Context in tools\"\n\n### Transport metadata (HTTP headers, client info)\n\nUsers need access to HTTP request headers, client IP, or other request-level metadata. The Starlette `Request` object is passed through as `ServerMessageMetadata.request_context` and lands on `ServerRequestContext.request`, but it is typed as `Any` and not surfaced on `Context`.\n\n- #750 — \"How to get HTTP request headers in tools\"\n- #375 — \"Passing client context to tools\"\n\n## Current state\n\nThe underlying data is available in the system — it just is not reachable from `Context`:\n\n- **Session ID**: managed by `StreamableHTTPSessionManager` / `SseServerTransport`, not exposed to handlers\n- **Auth info**: stored in `auth_context_var` by `AuthContextMiddleware`, not exposed to handlers\n- **HTTP request**: passed through as `request_context: Any` on `ServerMessageMetadata`, available on `ServerRequestContext.request` but not on `Context`\n\n## Scope\n\nThis issue is about designing and implementing access to these three categories of information on the handler `Context`. Key design considerations:\n\n- Behavior varies by transport — stdio has no session ID, headers, or auth; stateless HTTP has no session ID; SSE has a different session ID mechanism than streamable HTTP\n- The solution should work for both MCPServer (high-level) and low-level server handlers\n- Should be consistent with the direction of #2021 (typed transport context) and #1684 (explicit context parameters)\n\n## Prior art\n\n- PR #1608 — adds `ctx.session_id` by threading through `InitializationOptions` → `ServerSession` → `RequestContext` → `Context`\n\n## Related issues\n\n- #2021 — Refactor handler context to be transport- and handler-type-aware (v2 architectural)\n- #1684 — Refactor global contextvars into explicit parameters (v2 architectural)\n- #2054 — Add dependency injection support to MCPServer (v2 architectural)\n\n\u003csub\u003e[AI Disclaimer](https://gist.github.com/maxisbey/6123d132484e4c533eab519a2800693d)\u003c/sub\u003e","author":{"url":"https://github.com/maxisbey","@type":"Person","name":"maxisbey"},"datePublished":"2026-02-19T13:20:17.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/2098/python-sdk/issues/2098"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:5ba5df81-b05e-47cf-15fe-b71253982d0c
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id9FDE:38BA0C:2BDD1EA:3F9E638:6A60DE04
html-safe-nonce9befbc4ac16b5a908bf0b422196e73c1362f24eb95d71b8d307cfd4db8ee4d65
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RkRFOjM4QkEwQzoyQkREMUVBOjNGOUU2Mzg6NkE2MERFMDQiLCJ2aXNpdG9yX2lkIjoiMjczMTAzNjkxNzgwNzI0Mjc1NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacef9f06e06c7ac70fa5afc6bb4e4e3dad710d31b00e7ffae532db1873a0169356
hovercard-subject-tagissue:3962964311
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/modelcontextprotocol/python-sdk/2098/issue_layout
twitter:imagehttps://opengraph.githubassets.com/f11648348b97eee2858a9d73905767c0e742de9c85b39cb206ebc5b0626b8353/modelcontextprotocol/python-sdk/issues/2098
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/f11648348b97eee2858a9d73905767c0e742de9c85b39cb206ebc5b0626b8353/modelcontextprotocol/python-sdk/issues/2098
og:image:altProblem Users consistently need access to transport-level information from inside tool, resource, and prompt handlers. Today, this data exists in the system but is not accessible through the Contex...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamemaxisbey
hostnamegithub.com
expected-hostnamegithub.com
None8302bdfafed4cf34ac9c1d3593108fafa53bc3f86b893907e38fa6bdd74361ac
turbo-cache-controlno-preview
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
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec3c2ff0c76b34772c83c9498a08cefee28f53da0
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/python-sdk/issues/2098#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2F2098
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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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%2Fissues%2F2098
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%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=modelcontextprotocol%2Fpython-sdk
Reloadhttps://github.com/modelcontextprotocol/python-sdk/issues/2098
Reloadhttps://github.com/modelcontextprotocol/python-sdk/issues/2098
Reloadhttps://github.com/modelcontextprotocol/python-sdk/issues/2098
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/issues/2098
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.7k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Code https://github.com/modelcontextprotocol/python-sdk
Issues 267 https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests 312 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
Expose session, auth, and transport information on handler Contexthttps://github.com/modelcontextprotocol/python-sdk/issues/2098#top
P1Significant bug affecting many users, highly requested featurehttps://github.com/modelcontextprotocol/python-sdk/issues?q=state%3Aopen%20label%3A%22P1%22
enhancementRequest for a new feature that's not currently supportedhttps://github.com/modelcontextprotocol/python-sdk/issues?q=state%3Aopen%20label%3A%22enhancement%22
v2Ideas, requests and plans for v2 of the SDK which will incorporate major changes and fixeshttps://github.com/modelcontextprotocol/python-sdk/issues?q=state%3Aopen%20label%3A%22v2%22
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
on Feb 19, 2026https://github.com/modelcontextprotocol/python-sdk/issues/2098#issue-3962964311
How to get session_id in tool #485https://github.com/modelcontextprotocol/python-sdk/issues/485
How to expose mcp_session_id to user ? #942https://github.com/modelcontextprotocol/python-sdk/issues/942
FastMCP Auth Context in tools #638https://github.com/modelcontextprotocol/python-sdk/issues/638
how to get http request headers in mcp tools logic when i use streamable http mode to run mcp server ? #750https://github.com/modelcontextprotocol/python-sdk/issues/750
Passing client context to tools #375https://github.com/modelcontextprotocol/python-sdk/issues/375
Refactor handler context to be transport- and handler-type-aware #2021https://github.com/modelcontextprotocol/python-sdk/issues/2021
Refactor global contextvars request context into explicit parameters #1684https://github.com/modelcontextprotocol/python-sdk/issues/1684
feat: propagate session_id from transport to tool context #1608https://github.com/modelcontextprotocol/python-sdk/pull/1608
Refactor handler context to be transport- and handler-type-aware #2021https://github.com/modelcontextprotocol/python-sdk/issues/2021
Refactor global contextvars request context into explicit parameters #1684https://github.com/modelcontextprotocol/python-sdk/issues/1684
Add dependency injection support to MCPServer #2054https://github.com/modelcontextprotocol/python-sdk/issues/2054
AI Disclaimerhttps://gist.github.com/maxisbey/6123d132484e4c533eab519a2800693d
P1Significant bug affecting many users, highly requested featurehttps://github.com/modelcontextprotocol/python-sdk/issues?q=state%3Aopen%20label%3A%22P1%22
enhancementRequest for a new feature that's not currently supportedhttps://github.com/modelcontextprotocol/python-sdk/issues?q=state%3Aopen%20label%3A%22enhancement%22
v2Ideas, requests and plans for v2 of the SDK which will incorporate major changes and fixeshttps://github.com/modelcontextprotocol/python-sdk/issues?q=state%3Aopen%20label%3A%22v2%22
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.