Repository navigation
latest moves from 4.1.0 to 4.2.0. No breaking changes: everything new is behind a new flag or a config file, and a 4.1.0 command line runs as it did.
New
- Several servers from one config file.
--config servers.jsonreads themcpServersfile Claude Desktop and other clients use and serves each server at/<name>on one port, with any option set per server or as a default.--checkConfigvalidates a file;--printConfigprints the resolved one with secrets hidden (#13, #107) - Servers combined on one URL: one MCP server made of several, with sampling, roots and elicitation passed through (#106)
- Remote servers over any transport:
--sseand--streamableHttpservers served over SSE, WebSocket or Streamable HTTP, not only bridged to stdio --apiKey,--apiKeyFile,SUPERGATEWAY_API_KEY: require clients to present a key (#64, #92, #99)--healthCheck server: health endpoints that start, initialize and ping the server, and answer 503 with the reason (#83)--toolPrefixand--tools: prefix a server's tool names, and expose only those listed--host(#125),--logFormat json(#96, #101) and--exitWithProcess <pid>(#155)- Standalone executables and a Homebrew formula: Supergateway with Node built in, for macOS, Linux and Windows (#50)
- MCP 2026-07-28 also for remote Streamable HTTP servers and combined servers, when they speak it
Fixes
- Two 4.1.0 regressions: a client that reconnects without initializing again no longer has its calls refused, and a client retrying after a slow server's start gets the server already starting instead of a new one each time (#45)
- The
--sseand--streamableHttpbridges stop reading the remote server while their client is not reading, and pass an upstream application error through with its own code - A call's progress on a stateful session rides that call's own stream when several calls are in flight
--stdio=cmdand--streamable-http urlstart the gateway; a one-word--headeris no longer logged; nokill EPERMstack traces on macOS
Validation
The release candidate passed a 25-hour soak across Node 20, 22, 24 and 26 on Linux, macOS and Windows, with real MCP servers, the MCP Inspector, Python, Go and Ruby clients, and sustained load, crash and restart scenarios. Side by side with 4.1.0, and under 4.1.0's own end-to-end tests, it differs only where intended. Coverage is 100% for lines, branches and MC/DC.
Thanks to: