MCP.so
Sign In

MCP Remote for Go

@naotama2002

About MCP Remote for Go

This Go implementation allows MCP clients that only support local (stdio) connections to connect to remote MCP servers with authentication support.

Basic information

Category

Other

License

MIT license

Runtime

go

Transports

stdio

Publisher

naotama2002

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "mcp-remote-go": {
      "command": "docker",
      "args": [
        "pull",
        "ghcr.io/naotama2002/mcp-remote-go:latest"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is MCP Remote for Go?

It is a Go implementation that proxies between a local MCP client using stdio transport and a remote MCP server using Server-Sent Events (SSE) with OAuth authentication. It enables MCP clients that only support local connections to reach remote servers securely.

How to use MCP Remote for Go?

Install by building from source or pulling the Docker image from GitHub Container Registry. Run as mcp-remote-go <remote-sse-url> [port] [--header ...] [--allow-http] or via Docker with docker run .... Configure MCP clients (Claude Desktop, Cursor, Windsurf) by editing their JSON config files to point to the binary or Docker command.

Key features of MCP Remote for Go

  • Bridges local stdio MCP clients to remote SSE servers.
  • Supports OAuth authentication with browser-based authorization.
  • Stores OAuth tokens in ~/.mcp-auth for reuse.
  • Compatible with Claude Desktop, Cursor, and Windsurf.
  • Allows custom HTTP headers and optional HTTP (--allow-http).
  • Available as binary or Docker image from GitHub Container Registry.

Use cases of MCP Remote for Go

  • Connect a local MCP client to a remote MCP server requiring authentication.
  • Use Claude Desktop or Cursor with a cloud-hosted MCP server.
  • Securely proxy MCP traffic through OAuth without exposing tokens directly.
  • Integrate remote MCP services into local development workflows.

FAQ from MCP Remote for Go

How does authentication work?

On first connection to an auth‑requiring server, you are prompted to open a URL in your browser to authorize. The program waits for the OAuth flow, then stores tokens in ~/.mcp-auth for reuse.

How do I clear saved authentication data?

Run rm -rf ~/.mcp-auth to delete all stored OAuth tokens.

What if I have certificate issues behind a VPN?

Set the environment variable SSL_CERT_FILE to the path of your CA certificates file before running the program.

How do I use a different port for the OAuth callback?

Pass the port number as a second argument; e.g., mcp-remote-go https://remote.mcp.server/sse 9090. In Docker, map the container port accordingly.

Can I use HTTP instead of HTTPS?

Yes, use the --allow-http flag. This should only be done on trusted internal networks, as HTTPS is normally required.

Comments

More Other MCP servers