MCP Proxy

Um proxy leve que permite que clientes se conectem a servidores MCP via HTTP sem transporte de streaming.

Documentação

mcp-proxy

Um proxy MCP leve. Ele permite que clientes se conectem a servidores MCP via HTTP sem transporte de streaming. Ele possibilita colocá-lo em uma infraestrutura simples.

Como instalar

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

Como usar

Prepare seu arquivo de configuração mcp

Crie um arquivo de configuração. O formato é semelhante ao do Claude. $VARNAME será substituído por variáveis de ambiente. Ele suporta tanto json quanto 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

Filtragem de ferramentas com listas de permissão/negação

Você pode controlar quais ferramentas estão disponíveis para cada servidor MCP usando a configuração _extensions.tools:

  • allow: Somente as ferramentas listadas aqui serão permitidas. Se esta lista estiver vazia ou não for especificada, todas as ferramentas serão permitidas (a menos que sejam negadas).
  • deny: As ferramentas listadas aqui serão bloqueadas, mesmo que estejam na lista de permissão.

Quando ambas as listas allow e deny forem especificadas, a lista de negação tem precedência. Ou seja, as ferramentas na lista de negação serão bloqueadas mesmo que também apareçam na lista de permissão.

Execute o mcp-proxy com a configuração

go run . -config config.json -port 9090