Skip to content

Commit 5bf8a72

Browse files
Add load balancer configuration details for Apollo MCP
Added instructions for configuring load balancers with Apollo MCP Server to ensure session affinity.
1 parent 88951db commit 5bf8a72

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

docs/source/deploy.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,9 @@ docker run \
5656
```
5757

5858
To learn more, review the [Apollo Runtime container documentation](/graphos/routing/self-hosted/containerization/docker).
59+
60+
### Using a load balancer
61+
62+
Because [MCP is a stateful protocol](https://modelcontextprotocol.io/docs/learn/architecture#lifecycle-management), the default configuration of most load balancers is incorrect. When the MCP client initializes a session with Apollo MCP Server, it receives a session identifier unique to that server instance. If the load balancer routes subsequent requests to a different instance, Apollo MCP Server will reject the request as unauthorized.
63+
64+
To run Apollo MCP Server in a high-availability, multi-instance setup, you must configure your load balancer to use session affinity ("sticky sessions") based on the `mcp-session-id` header. Load balancers offered by major cloud vendors do not support header-based affinity, so you will need software like Nginx, HAProxy, or Istio/Envoy Proxy in front of your Apollo MCP instances.

0 commit comments

Comments
 (0)