mcp-remote
A small tool that lets an MCP client which only supports local stdio servers connect to a remote, authorized MCP server, including custom headers and bearer tokens.
mcp-remote bridges MCP clients that only support local stdio-based servers to a remote MCP server that requires authorization. Most MCP servers in the wild still run locally over stdio, which lets client and server implicitly trust each other and keeps secrets in local environment variables, but that also means updates cannot be pushed to every user at once the way a hosted web service can; mcp-remote is a stopgap until popular MCP clients support the newer remote, OAuth-authorized server flow directly.
It is configured as the command a client such as Claude Desktop, Cursor or Windsurf launches instead of a local server, taking the remote server's URL as an argument, and it accepts custom HTTP headers, for example a bearer token, on every request to the remote server. It documents a known bug in some clients where spaces inside command arguments are not escaped, along with a workaround, and offers a way to keep a credential out of the visible process arguments. It is written in TypeScript and licensed under MIT.