MCP behind a load balancer and --serverUrl
- Server
- MCP
- eoas CLI
- Dashboard
MCP works with several replicas
The MCP handler kept sessions in process memory. Behind a load balancer, initialize landed on one replica and the next request on another, which answered 404 session not found. The handler now runs stateless: every POST is self-contained, the server is rebuilt per request from the caller's principal, and the shared schema cache keeps the cost negligible. What goes away is the out-of-request server to client channel (SSE push, sampling, stream resumption), which none of the tools use.
eoas --serverUrl
Some setups serve the manifest publicly and accept publishes on an internal origin only. --serverUrl overrides the origin derived from updates.url on publish, republish and rollback. Only the origin is kept, and updates.url is no longer required when the flag is set. Contributed with @greeeg.
eoas publish --branch production --serverUrl https://publish.internal
Dashboard
The update health history query is bounded to the 90-day window the API accepts, so older updates render instead of erroring. Time axis labels pick their format from the data span and their count from the chart width.