Skip to content

Commit 6196f2b

Browse files
committed
docs: add migration guide for StreamableHTTPASGIApp move and new lowlevel streamable_http_app()
Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%) Claude-Steers: 0 Claude-Permission-Prompts: 1 Claude-Escapes: 1
1 parent a7117e5 commit 6196f2b

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

docs/migration.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,29 @@ from mcp.server.streamable_http_manager import StreamableHTTPASGIApp
244244

245245
## New Features
246246

247-
<!-- Add new features below -->
247+
### `streamable_http_app()` available on lowlevel Server
248+
249+
The `streamable_http_app()` method is now available directly on the lowlevel `Server` class, not just `FastMCP`. This allows using the streamable HTTP transport without the FastMCP wrapper.
250+
251+
```python
252+
from mcp.server.lowlevel.server import Server
253+
254+
server = Server("my-server")
255+
256+
# Register handlers...
257+
@server.list_tools()
258+
async def list_tools():
259+
return [...]
260+
261+
# Create a Starlette app for streamable HTTP
262+
app = server.streamable_http_app(
263+
streamable_http_path="/mcp",
264+
json_response=False,
265+
stateless_http=False,
266+
)
267+
```
268+
269+
The lowlevel `Server` also now exposes a `session_manager` property to access the `StreamableHTTPSessionManager` after calling `streamable_http_app()`.
248270

249271
## Need Help?
250272

0 commit comments

Comments
 (0)