mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-18 22:44:20 +01:00
MCP Simple StreamableHttp Server Example
A simple MCP server example demonstrating the StreamableHttp transport, which enables HTTP-based communication with MCP servers using streaming.
Features
- Uses the StreamableHTTP transport for server-client communication
- Supports REST API operations (POST, GET, DELETE) for
/mcpendpoint - Task management with anyio task groups
- Ability to send multiple notifications over time to the client
- Proper resource cleanup and lifespan management
Usage
Start the server on the default or custom port:
# Using custom port
uv run mcp-simple-streamablehttp --port 3000
# Custom logging level
uv run mcp-simple-streamablehttp --log-level DEBUG
# Enable JSON responses instead of SSE streams
uv run mcp-simple-streamablehttp --json-response
The server exposes a tool named "start-notification-stream" that accepts three arguments:
interval: Time between notifications in seconds (e.g., 1.0)count: Number of notifications to send (e.g., 5)caller: Identifier string for the caller
Client
You can connect to this server using an HTTP client, for now only Typescript SDK has streamable HTTP client examples or you can use (Inspector)[https://github.com/modelcontextprotocol/inspector]