supergateway

MCP.Pizza Chef: supercorp-ai

Many add-ons for AI assistants are built to run on the same machine as the assistant, which rules out hosted apps and teammates. Supergateway wraps one of those in a single command and puts it behind a web address instead. It also works the other way round, pulling a remote add-on down so a local, terminal-based assistant can use it. Run it with one command or a ready-made container, and pass along a login token when the far end asks for one.

Coding

Use This MCP server To

Share a tool running on my laptop with a hosted assistant Use a remote tool from a local terminal assistant Add a login token to a tool that requires one Test an add-on before wiring it into my main app Put a folder-reading tool behind a temporary public link

README

Supergateway: Run stdio MCP servers over SSE and WS

Supergateway runs MCP stdio-based servers over SSE (Server-Sent Events) or WebSockets (WS) with one command. This is useful for remote access, debugging, or connecting to clients when your MCP server only supports stdio.

Supported by Supermachine (hosted MCPs), Superinterface, and Supercorp.

Installation & Usage

Run Supergateway via npx:

npx -y supergateway --stdio "uvx mcp-server-git"
  • --stdio "command": Command that runs an MCP server over stdio
  • --sse "https://mcp-server-ab71a6b2-cd55-49d0-adba-562bc85956e3.supermachine.app": SSE URL to connect to (SSE→stdio mode)
  • --streamableHttp "https://mcp-server.example.com/mcp": Streamable HTTP URL to connect to (StreamableHttp→stdio mode)
  • --outputTransport stdio | sse | ws | streamableHttp: Output MCP transport (default: sse with --stdio, stdio with --sse or --streamableHttp)
  • --port 8000: Port to listen on (stdio→SSE or stdio→WS mode, default: 8000)
  • --baseUrl "http://localhost:8000": Base URL for SSE or WS clients (stdio→SSE mode; optional)
  • --ssePath "/sse": Path for SSE subscriptions (stdio→SSE mode, default: /sse)
  • --messagePath "/message": Path for messages (stdio→SSE or stdio→WS mode, default: /message)
  • --streamableHttpPath "/mcp": Path for Streamable HTTP (stdio→Streamable HTTP mode, default: /mcp)
  • --stateful: Run stdio→Streamable HTTP in stateful mode
  • --sessionTimeout 60000: Session timeout in milliseconds (stateful stdio→Streamable HTTP mode only)
  • --header "x-user-id: 123": Add one or more headers (stdio→SSE, SSE→stdio, or Streamable HTTP→stdio mode; can be used multiple times)
  • --oauth2Bearer "some-access-token": Adds an Authorization header with the provided Bearer token
  • --logLevel debug | info | none: Controls logging level (default: info). Use debug for more verbose logs, none to suppress all logs.
  • --cors: Enable CORS (stdio→SSE or stdio→WS mode). Use --cors with no values to allow all origins, or supply one or more allowed origins (e.g. --cors "http://example.com" or --cors "/example\\.com$/" for regex matching).
  • --healthEndpoint /healthz: Register one or more endpoints (stdio→SSE or stdio→WS mode; can be used multiple times) that respond with "ok"

stdio → SSE

Expose an MCP stdio server as an SSE server:

npx -y supergateway \
    --stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder" \
    --port 8000 --baseUrl http://localhost:8000 \
    --ssePath /sse --messagePath /message
  • Subscribe to events: GET http://localhost:8000/sse
  • Send messages: POST http://localhost:8000/message

SSE → stdio

Connect to a remote SSE server and expose locally via stdio:

supergateway FAQ

Do I need to be a developer to use this?
Largely yes. You run it from a terminal, and it is aimed at people already wiring up their own tools.
Do I need an account or a paid key?
No account for this itself, though you can pass along a login token when the tool at the other end requires one.
Can I use this to reach a tool on my laptop from a hosted assistant?
Yes — that is the main reason it exists, and pairing it with a tunnel service gives you a public address.
Which apps does it work with?
Anything that speaks MCP, including Claude Desktop and Cursor. It changes how a tool is reached, not what the tool does.
Does it work in the other direction too?
Yes. It can take a remote tool and hand it to a local, terminal-based assistant.
Is there a way to run it without setting up Node?
A ready-made container image is published, including variants that bundle Python and Deno tooling.
Does it add any tools of its own?
No. It only carries whatever the add-on you point it at already offers.