MCP Proxy Server

Agrega múltiplos servidores de recursos MCP em uma única interface.

Documentação

MCP Proxy Server

Um servidor proxy MCP que agrega e serve múltiplos servidores de recursos MCP através de uma interface única. Este servidor atua como um hub central que pode:

  • Conectar-se e gerenciar múltiplos servidores de recursos MCP
  • Expor suas capacidades combinadas através de uma interface unificada
  • Lidar com o roteamento de solicitações para os servidores backend apropriados
  • Agregar respostas de múltiplas fontes

Recursos

Gerenciamento de Recursos

  • Descobrir e conectar-se a múltiplos servidores de recursos MCP
  • Agregar recursos de todos os servidores conectados
  • Manter esquemas de URI consistentes entre servidores
  • Lidar com roteamento e resolução de recursos

Agregação de Ferramentas

  • Expor ferramentas de todos os servidores conectados
  • Roteamento de chamadas de ferramentas para os servidores backend apropriados
  • Manter o estado das ferramentas e lidar com respostas

Tratamento de Prompts

  • Agregar prompts de todos os servidores conectados
  • Roteamento de solicitações de prompts para os backends apropriados
  • Lidar com respostas de prompts de múltiplos servidores

Configuração

O servidor requer um arquivo de configuração JSON que especifica os servidores MCP aos quais se conectar. Copie o exemplo de configuração e modifique-o conforme suas necessidades:

cp config.example.json config.json

Exemplo de estrutura de configuração:

{
  "servers": [
    {
      "name": "Server 1",
      "transport": {
        "command": "/path/to/server1/build/index.js"
      }
    },
    {
      "name": "Server 2",
      "transport": {
        "command": "server2-command",
        "args": ["--option1", "value1"],
        "env": ["SECRET_API_KEY"]
      }
    },
    {
      "name": "Example Server 3",
      "transport": {
        "type": "sse",
        "url": "http://localhost:8080/sse"
      }
    }
  ]
}

O arquivo de configuração deve ser fornecido ao executar o servidor:

MCP_CONFIG_PATH=./config.json mcp-proxy-server

Desenvolvimento

Instale as dependências:

npm install

Compile o servidor:

npm run build

Para desenvolvimento com recompilação automática:

npm run watch

Para desenvolvimento com execução contínua:

# Stdio
npm run dev
# SSE
npm run dev:sse

Instalação

Para usar com o Claude Desktop, adicione a configuração do servidor:

No MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json No Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-proxy": {
      "command": "/path/to/mcp-proxy-server/build/index.js",
      "env": {
        "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json",
        "KEEP_SERVER_OPEN": "1"
      }
    }
  }
}
  • KEEP_SERVER_OPEN manterá o SSE em execução mesmo se um cliente desconectar. Útil quando múltiplos clientes se conectam ao proxy MCP.

Depuração

Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. Recomendamos usar o MCP Inspector, que está disponível como um script de pacote:

npm run inspector

O Inspector fornecerá uma URL para acessar as ferramentas de depuração no seu navegador.