Skip to content

Commit 1b45c43

Browse files
committed
[Doc] Note sticky session requirement for multi-instance deployments
## Motivation and Context PR #290 documented that `StreamableHTTPTransport` requires a single-process server. However, when running multiple server instances behind a load balancer, requests for the same session must be routed to the same instance since session state is stored in memory. This adds a note about using sticky sessions (session affinity) based on the `Mcp-Session-Id` header. ## How Has This Been Tested? Documentation-only change. ## Breaking Changes None.
1 parent 2a1c9b7 commit 1b45c43

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,11 @@ end
138138
> so it must run in a single process. Use a single-process server (e.g., Puma with `workers 0`).
139139
> Multi-process configurations (Unicorn, or Puma with `workers > 0`) fork separate processes that
140140
> do not share memory, which breaks session management and SSE connections.
141+
>
142+
> When running multiple server instances behind a load balancer, configure your load balancer to use
143+
> sticky sessions (session affinity) so that requests with the same `Mcp-Session-Id` header are always
144+
> routed to the same instance.
145+
>
141146
> Stateless mode (`stateless: true`) does not use sessions and works with any server configuration.
142147
143148
### Configuration

0 commit comments

Comments
 (0)