A TypeScript SSE proxy for MCP servers that use stdio transport.
If you already use MCP, the mcp mcp server is the piece that lets your assistant work with it directly. A TypeScript SSE proxy for MCP servers that use stdio transport.
mcp-proxy on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
proxyServer — const server = new Server(serverVersion, { capabilities: {}, });startHTTPServer — Starts a proxy that listens on a port, and sends messages to the attached server via StreamableHTTPServerTransport and SSEServerTransportstartStdioServer — Starts a proxy that listens on a stdio, and sends messages to the attached sse or streamable servertapTransport — const transport = tapTransport(new StdioClientTransport(), (event) => { console.log(event); });Configuration is passed through the environment: MCP_PROXY_API_KEY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. MCP's toolset — proxyServer, startHTTPServer, startStdioServer and 1 more — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| proxyServer | const server = new Server(serverVersion, { capabilities: {}, }); |
| startHTTPServer | Starts a proxy that listens on a port, and sends messages to the attached server via StreamableHTTPServerTransport and SSEServerTransport. |
| startStdioServer | Starts a proxy that listens on a stdio, and sends messages to the attached sse or streamable server. |
| tapTransport | const transport = tapTransport(new StdioClientTransport(), (event) => { console.log(event); }); |
{
"mcpServers": {
"server-proxy": {
"command": "npx",
"args": ["-y", "mcp-proxy"],
"env": {
"MCP_PROXY_API_KEY": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| MCP_PROXY_API_KEY | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.