MCP Proxy Server

Agrega múltiples servidores de recursos MCP en una única interfaz.

Documentación

MCP Proxy Server

Un servidor proxy MCP que agrega y sirve múltiples servidores de recursos MCP a través de una única interfaz. Este servidor actúa como un centro central que puede:

  • Conectarse y gestionar múltiples servidores de recursos MCP
  • Exponer sus capacidades combinadas a través de una interfaz unificada
  • Manejar el enrutamiento de solicitudes a los servidores backend apropiados
  • Agregar respuestas de múltiples fuentes

Características

Gestión de Recursos

  • Descubrir y conectarse a múltiples servidores de recursos MCP
  • Agregar recursos de todos los servidores conectados
  • Mantener esquemas de URI consistentes entre servidores
  • Manejar el enrutamiento y la resolución de recursos

Agregación de Herramientas

  • Exponer herramientas de todos los servidores conectados
  • Enrutar llamadas de herramientas a los servidores backend apropiados
  • Mantener el estado de las herramientas y manejar las respuestas

Manejo de Prompts

  • Agregar prompts de todos los servidores conectados
  • Enrutar solicitudes de prompts a los backends apropiados
  • Manejar respuestas de prompts de múltiples servidores

Configuración

El servidor requiere un archivo de configuración JSON que especifique los servidores MCP a los que conectarse. Copie la configuración de ejemplo y modifíquela según sus necesidades:

cp config.example.json config.json

Estructura de configuración de ejemplo:

{
  "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"
      }
    }
  ]
}

El archivo de configuración debe proporcionarse al ejecutar el servidor:

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

Desarrollo

Instalar dependencias:

npm install

Compilar el servidor:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Para desarrollo con ejecución continua:

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

Instalación

Para usar con Claude Desktop, agregue la configuración del servidor:

En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json En 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 mantendrá el SSE en ejecución incluso si un cliente se desconecta. Útil cuando múltiples clientes se conectan al proxy MCP.

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser desafiante. Recomendamos usar el Inspector MCP, que está disponible como un script de paquete:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.