Title: refactor: move streamable HTTP app creation from FastMCP to lowlevel Server by maxisbey · Pull Request #1899 · modelcontextprotocol/python-sdk · GitHub
Open Graph Title: refactor: move streamable HTTP app creation from FastMCP to lowlevel Server by maxisbey · Pull Request #1899 · modelcontextprotocol/python-sdk
X Title: refactor: move streamable HTTP app creation from FastMCP to lowlevel Server by maxisbey · Pull Request #1899 · modelcontextprotocol/python-sdk
Description: Summary Moves the Starlette app creation logic for streamable HTTP transport from FastMCP down to the lowlevel Server, and relocates StreamableHTTPASGIApp to streamable_http_manager.py. Changes Move streamable_http_app() implementation to lowlevel Server: The Starlette app creation (routes, middleware, auth setup) now lives in the lowlevel Server class. FastMCP's method becomes a thin wrapper that passes through its settings. Move StreamableHTTPASGIApp to streamable_http_manager.py: This ASGI app class directly wraps StreamableHTTPSessionManager, so it belongs in the same module. Add session_manager property to lowlevel Server: Exposes the session manager after streamable_http_app() is called. FastMCP's property now delegates to this. Fix circular import: Use TYPE_CHECKING in streamable_http_manager.py for the Server import since it's only needed for type annotations. Why The lowlevel Server shouldn't depend on FastMCP. Previously, it imported StreamableHTTPASGIApp from FastMCP, inverting the expected dependency hierarchy. This refactor ensures dependencies flow in one direction: FastMCP → lowlevel.
Open Graph Description: Summary Moves the Starlette app creation logic for streamable HTTP transport from FastMCP down to the lowlevel Server, and relocates StreamableHTTPASGIApp to streamable_http_manager.py. Changes M...
X Description: Summary Moves the Starlette app creation logic for streamable HTTP transport from FastMCP down to the lowlevel Server, and relocates StreamableHTTPASGIApp to streamable_http_manager.py. Changes M...
Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/1899
X: @github
Domain: patch-diff.githubusercontent.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:1ad27205-117d-b462-26e0-3377fe36d6d7 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A80C:18334E:584D6F8:77BABA3:696E21AC |
| html-safe-nonce | e8627627c0696885ce602f303eae072b4a7adc7e805c57a8a9eac2b86798956d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBODBDOjE4MzM0RTo1ODRENkY4Ojc3QkFCQTM6Njk2RTIxQUMiLCJ2aXNpdG9yX2lkIjoiNDU5NjI4NDkwMzEyNzkxNjk3MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 82cb7f03b1c18ec7c7288ffcb9988827d6c15905bb0a83dbc2cf0174dedb6192 |
| hovercard-subject-tag | pull_request:3182044677 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,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/modelcontextprotocol/python-sdk/pull/1899/files |
| twitter:image | https://avatars.githubusercontent.com/u/224885523?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/224885523?s=400&v=4 |
| og:image:alt | Summary Moves the Starlette app creation logic for streamable HTTP transport from FastMCP down to the lowlevel Server, and relocates StreamableHTTPASGIApp to streamable_http_manager.py. Changes M... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 2fbe8cba5e260284c10af515699ff9bb2d6ace05ab6c2e2e585b71d93b2812c3 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| 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 full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7fb3bc5c995a876085291706b75cf9b08900c338 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width