MCP Proxy

Un proxy ligero que permite a los clientes conectarse a servidores MCP a través de HTTP sin transporte de streaming.

Documentación

mcp-proxy

Un proxy MCP ligero. Permite a los clientes conectarse a servidores MCP a través de HTTP sin transporte de streaming. Permite colocarlo en una infraestructura simple.

Cómo instalar

go install github.com/ubie-oss/mcp-proxy

Cómo usar

Prepare su archivo de configuración mcp

Cree un archivo de configuración. El formato es similar al de Claude. $VARNAME se reemplazará con variables de entorno. Soporta tanto json como yaml.

{
  "mcpServers": {
    "server1": {
      "command": "npx",
      "args": ["module1"],
      "env": {
        "VAR1": "$SERVER1_VAR1",
        "VAR2": "$SERVER1_VAR2"
      }
    },
    "server2": {
      "command": "npx",
      "args": ["module2"],
      "env": {
        "VAR1": "$SERVER2_VAR1",
        "VAR2": "$SERVER2_VAR2"
      },
      "_extensions": {
        "tools": {
          "allow": [
            "tool1",
            "tool2"
          ],
          "deny": [
            "tool11",
            "tool12"
          ]
        }
      }
    }
  }
} 
mcpServers:
  server1:
    command: "npx"
    args:
      - "module1"
    env:
      VAR1: $SERVER1_VAR1
      VAR2: $SERVER1_VAR2
  server2:
    command: "npx"
    args:
      - "module2"
    env:
      VAR1: $SERVER2_VAR1
      VAR2: $SERVER2_VAR2
    _extensions:
      tools:
        allow:
          - tool1
          - tool2
        deny:
          - tool11
          - tool12

Filtrado de herramientas con listas de permitidos/denegados

Puede controlar qué herramientas están disponibles para cada servidor MCP usando la configuración _extensions.tools:

  • allow: Solo las herramientas listadas aquí serán permitidas. Si esta lista está vacía o no se especifica, todas las herramientas son permitidas (a menos que estén denegadas).
  • deny: Las herramientas listadas aquí serán bloqueadas, incluso si están en la lista de permitidos.

Cuando se especifican tanto las listas allow como deny, la lista de denegados tiene prioridad. Es decir, las herramientas en la lista de denegados serán bloqueadas incluso si también aparecen en la lista de permitidos.

Ejecutar mcp-proxy con la configuración

go run . -config config.json -port 9090