mcp-remote
View on GitHubConnect an MCP Client that only supports local (stdio) servers to a Remote MCP Server.
A TypeScript CLI proxy that lets stdio-only MCP clients (Claude Desktop, Cursor, Windsurf) talk to remote MCP servers, handling OAuth, custom headers, multi-session isolation, and tool filtering. Drop it into mcpServers config via npx until clients support remote servers natively.
Use Cases
Connect stdio-only MCP clients like Claude Desktop and Cursor to remote MCP servers over HTTP/SSEHandle the MCP OAuth authorization flow on behalf of clients that only support stdioPass custom auth headers or header files to a remote MCP serverRun multiple isolated OAuth sessions for the same server across different tenants or resourcesFilter or block specific remote tools with wildcard --ignore-tool patternsTune network timeouts, keep-alives, and ping intervals for long-lived SSE streamsRoute MCP traffic through corporate HTTP(S) proxiesDebug MCP auth and connection issues with verbose logsSupport extra OAuth authorize parameters such as access_type, prompt, audience, login_hint
Built With
- Language
- TypeScript
- Frameworks
- Model Context Protocol SDK · @modelcontextprotocol/client · @modelcontextprotocol/server · Express · undici · Zod · tsup · Vitest · TypeScript · pnpm
Tags
mcp · proxy · stdio · remote · oauth · sse · http-transport · cli · npx · typescript · oauth2 · rfc8707 · custom-headers · tool-filtering · keep-alive · multi-instance