-
Notifications
You must be signed in to change notification settings - Fork 8.4k
Description
Summary
I’m building a multi-user chat web app. For each user session I spawn an MCPClient and connect it to my MCPServer(typescript sdk) using Streamable HTTP as the transport.
I’ve read older issues/feature requests that recommend running one MCP server per client—but those discussions seem specific to SSE transport. I’m trying to understand whether the same constraint applies to Streamable HTTP, or if I’m misusing the transport.
Questions
Is one-server-per-client still required when using Streamable HTTP?
If yes, what’s the intended role of a transports Map keyed by session IDs in server examples/blog posts? (i.e., why maintain multiple transport entries if the server can’t handle parallel transports/sessions?)
If no, what is the correct pattern for handling multiple concurrent clients/sessions over Streamable HTTP to a single server instance?