Labsco
MCP SERVER

Supergateway

by supercorp-ai

Run any stdio MCP server over SSE, WebSockets or Streamable HTTP — and the reverse — with one npx command.

MCP Plumbing: Proxies, Registries & Inspectors
Summary
A one-line fix for the transport mismatch, with the auth and CORS flags you need to actually deploy it.

The conversion itself is trivial to describe; what makes this usable beyond a demo is the surrounding flags — repeated headers and a bearer token for authenticated remotes, CORS by origin or regex, a health endpoint, and quiet logging. If you expose a stdio server on a port, those are the settings that decide whether it is safe.

What it is

A transport converter. Point it at a stdio MCP server and it serves that server over the network; point it at a remote SSE or Streamable HTTP server and it exposes it locally over stdio. Useful when the server you have and the client you want speak different transports.

What you get
  • Stdio to SSE: subscribe at `/sse`, post messages to `/message`, with `--port`, `--baseUrl`, `--ssePath` and `--messagePath` all configurable
  • Stdio to Streamable HTTP, stateless by default or `--stateful` with a `--sessionTimeout`, at `/mcp` by default
  • Stdio to WebSocket, exposing `ws://localhost:8000/message`
  • SSE to stdio and Streamable HTTP to stdio, for pulling a remote server into a command-line client
  • Authentication passed through: `--oauth2Bearer` adds an Authorization header, and `--header` can be repeated for anything else
  • Operational flags that matter when it is exposed: `--cors` allowing all origins or a list you supply including regex matching, `--healthEndpoint` for monitoring, and `--logLevel` set to debug, info or none
Requirements

Node, and `npx -y supergateway` with `--stdio`, `--sse` or `--streamableHttp` naming what to connect to. Nothing to install and no account. The package is `supergateway` 3.4.3.

Setup effort

One command — npx -y supergateway --stdio "uvx mcp-server-git"