MCP SSE Launcher

Un sistema de gestión en Python para servidores MCP que envuelve servidores basados en stdio como endpoints SSE e incluye un inspector web para pruebas.

Documentación

MCP SSE Launcher

Un sistema de gestión basado en Python para servidores del Protocolo de Contexto de Modelos (MCP) que envuelve automáticamente servidores basados en stdio con Supergateway para exponerlos como endpoints SSE, además de proporcionar un inspector basado en web para pruebas.

Características principales

  • Actualización automática - mantiene los servidores MCP actualizados automáticamente
  • Monitoreo en segundo plano - reinicia servidores que se han bloqueado automáticamente
  • Inspector web - depura y prueba servidores MCP mediante el navegador
  • Conversión SSE - envuelve servidores stdio para acceso HTTP/SSE
  • Integración con asistentes de IA - funciona con Cursor, Claude Desktop, etc.

Inicio rápido

# 1. Install dependencies
pip install -r requirements.txt

# 2. Set up environment (copy .env.example to .env and add API keys)
cp .env.example .env

# 3. Start all MCP servers (with auto-restart)
make run-servers

# 4. Start web inspector for debugging
make run-inspector

# 5. View inspector at the URL shown in the output

Casos de uso comunes

Depurar un servidor MCP específico

# Start inspector (will show URL with auth token)
make run-inspector
# Visit the URL shown in output to test MCP servers

Agregar un nuevo servidor MCP

# Add GitHub MCP server
python mcp_servers.py add \
  --name github \
  --cmd npx \
  --args "-y @modelcontextprotocol/server-github" \
  --env GITHUB_TOKEN=your_token_here \
  --port 8094

Usar con Cursor AI

Agregar a ~/.cursor/mcp.json:

{
  "mcpServers": {
    "filesystem": { "url": "http://localhost:8090/sse" },
    "github": { "url": "http://localhost:8094/sse" },
    "brave-search": { "url": "http://localhost:8096/sse" }
  }
}

Reiniciar un servidor problemático

# Kill conflicts and restart specific server
make restart-server SERVER=github

Ejecutar sin reinicio automático (para desarrollo)

make run-servers KEEP_ALIVE=0

Qué sucede automáticamente

  • Actualizaciones: los paquetes npm y repositorios git se verifican/actualizan antes de iniciar
  • Conflictos de puertos: los procesos conflictivos se detectan y pueden eliminarse
  • Monitoreo de procesos: los servidores bloqueados se reinician hasta 3 veces
  • Registro: cada servidor registra en /tmp/<server_name>.log
  • Limpieza: todos los procesos se terminan correctamente al salir

Servidores MCP disponibles

La configuración predeterminada incluye servidores populares como:

  • filesystem (8090) - acceso a archivos locales
  • github (8094) - interacción con repositorios de GitHub
  • brave-search (8096) - búsqueda web
  • fetch (8093) - solicitudes HTTP
  • youtube (8092) - búsqueda/información de YouTube
  • memory (8100) - memoria persistente
  • puppeteer (8101) - automatización web

Solución de problemas

# Check what's using server ports
make check-server-ports

# Kill conflicting processes on server ports
make kill-server-conflicts

# Stop servers (inspector stops with Ctrl+C)
make stop-servers

# View server logs
tail -f /tmp/filesystem.log

Configuración

Los servidores se definen en mcp_config.json. Las variables de entorno usan la sintaxis ${VAR} y se cargan desde .env.

Ejemplo de configuración de servidor:

{
  "name": "github",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-github"], 
  "env": {"GITHUB_TOKEN": "${GITHUB_TOKEN}"},
  "port": 8094,
  "server_type": "stdio"
}