Deployment¶
MCP 2026-07-28 requests are stateless and can be routed to any healthy
replica. There is no Mcp-Session-Id, sticky routing, GET event stream, or
replay cursor.
Application state¶
State that must outlive one request needs an explicit handle:
use application-defined IDs in tool arguments for domain workflows;
use
requestStatefor an MRTR retry, after authenticating and integrity-protecting it;use Tasks extension IDs for durable long-running operations;
use subscription request IDs only to correlate live notification streams.
The default Tasks Store is process-local and intended for development. Pass a
persistent Litestar Store through
MCPTaskConfig for multi-replica task retrieval.
Subscriptions¶
Each subscriptions/listen request owns its POST-response SSE stream. The
default notification bus is process-local. For cross-worker fan-out, pass an
already-configured Litestar ChannelsPlugin as
MCPConfig(subscription_channels=channels). Graceful shutdown closes active
streams; clients open a new subscription because replay and
Last-Event-ID are not supported.
Security¶
A missing Origin header is accepted. A present Origin must match the
request's own origin or an exact value in allowed_origins. Terminate TLS
at a trusted proxy, preserve the public scheme and host, and apply ordinary
Litestar authentication and guards to the MCP router.
See also