mcp-proxy

Un proxy independiente para conectar clientes MCP basados en STDIO con servidores MCP basados en HTTP (SSE).

Documentación

mcp-proxy

Un binario independiente para conectar clientes MCP basados en STDIO con servidores MCP basados en HTTP (SSE).

Nota: el proxy admite tanto SSE según la especificación 2024-11-05 como HTTP transmisible según la especificación 2025-03-26. Sin embargo, puede ocurrir que el cliente que se conecta no admita la versión enviada por el servidor.

Instalación

Las últimas versiones están disponibles en la página de versiones.

macOS

Dependiendo de tu Mac, puedes descargar la última versión con uno de los siguientes comandos:

Apple Silicon:

curl -sL https://github.com/tidewave-ai/mcp_proxy_rust/releases/latest/download/mcp-proxy-aarch64-apple-darwin.tar.gz | tar xv

Intel:

curl -sL https://github.com/tidewave-ai/mcp_proxy_rust/releases/latest/download/mcp-proxy-x86_64-apple-darwin.tar.gz | tar xv

lo que colocará el binario mcp-proxy en el directorio de trabajo actual (pwd).

Ten en cuenta que los binarios no están notarizados, por lo que si descargas la versión con el navegador, no podrás abrirla.

Alternativamente, puedes eliminar la marca de cuarentena con:

xattr -d com.apple.quarantine /path/to/mcp-proxy

Linux

Puedes descargar la última versión desde la página de versiones o con un solo comando, dependiendo de tu arquitectura:

x86:

curl -sL https://github.com/tidewave-ai/mcp_proxy_rust/releases/latest/download/mcp-proxy-x86_64-unknown-linux-musl.tar.gz | tar zxv

arm64 / aarch64:

curl -sL https://github.com/tidewave-ai/mcp_proxy_rust/releases/latest/download/mcp-proxy-aarch64-unknown-linux-musl.tar.gz | tar zxv

Windows

Puedes descargar la última versión desde la página de versiones o con el siguiente comando de Powershell:

curl.exe -L -o mcp-proxy.zip https://github.com/tidewave-ai/mcp_proxy_rust/releases/latest/download/mcp-proxy-x86_64-pc-windows-msvc.zip; Expand-Archive -Path mcp-proxy.zip -DestinationPath .

Compilación desde cero

El proxy está construido en Rust. Si tienes Rust y sus herramientas instaladas, el proyecto se puede compilar con cargo:

cargo build --release

Luego, el binario se ubicará en target/release/mcp-proxy.

Uso

Si tienes un servidor MCP SSE disponible en http://localhost:4000/tidewave/mcp, un cliente como Claude Desktop se configuraría de la siguiente manera.

En macOS/Linux

{
  "mcpServers": {
    "my-server": {
      "command": "/path/to/mcp-proxy",
      "args": ["http://localhost:4000/tidewave/mcp"]
    }
  }
}

En Windows

{
  "mcpServers": {
    "my-server": {
      "command": "c:\\path\\to\\mcp-proxy.exe",
      "args": ["http://localhost:4000/tidewave/mcp"]
    }
  }
}

Configuración

mcp-proxy acepta la URL SSE como argumento o mediante la variable de entorno SSE_URL. Para fines de depuración, también puedes pasar --debug, que registrará mensajes de depuración en stderr.

Otras banderas admitidas:

  • --max-disconnected-time la cantidad máxima de tiempo para intentar reconectarse mientras está desconectado. Cuando no se establece, el valor predeterminado es infinito.
  • --override-protocol-version para anular la versión del protocolo informada por el proxy. Esto es útil cuando se usa el proxy con un cliente que espera una versión de protocolo diferente, cuando la única razón para la discrepancia de protocolos es el uso de transportes transmisibles / SSE.