MCP SSE Launcher

Um sistema de gerenciamento Python para servidores MCP que encapsula servidores baseados em stdio como endpoints SSE e inclui um inspetor web para testes.

Documentação

MCP SSE Launcher

Um sistema de gerenciamento baseado em Python para servidores Model Context Protocol (MCP) que automaticamente encapsula servidores baseados em stdio com Supergateway para expô-los como endpoints SSE, além de fornecer um inspetor baseado na web para testes.

Principais Recursos

  • Atualização automática - mantém os servidores MCP atualizados automaticamente
  • Monitoramento em segundo plano - reinicia servidores que falharam automaticamente
  • Inspetor web - depure e teste servidores MCP via navegador
  • Conversão SSE - encapsula servidores stdio para acesso HTTP/SSE
  • Integração com assistentes de IA - funciona com Cursor, Claude Desktop, etc.

Início 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 Comuns

Depurar um 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

Adicionar um novo 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 com Cursor AI

Adicione em ~/.cursor/mcp.json:

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

Reiniciar um servidor com problemas

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

Executar sem reinicialização automática (para desenvolvimento)

make run-servers KEEP_ALIVE=0

O Que Acontece Automaticamente

  • Atualizações: pacotes npm e repositórios git são verificados/atualizados antes de iniciar
  • Conflitos de porta: processos conflitantes são detectados e podem ser encerrados
  • Monitoramento de processos: servidores que falharam reiniciam até 3 vezes
  • Registro de logs: cada servidor registra logs em /tmp/<server_name>.log
  • Limpeza: todos os processos são encerrados adequadamente ao sair

Servidores MCP Disponíveis

A configuração padrão inclui servidores populares como:

  • filesystem (8090) - acesso a arquivos locais
  • github (8094) - interação com repositórios GitHub
  • brave-search (8096) - busca na web
  • fetch (8093) - requisições HTTP
  • youtube (8092) - busca/informações do YouTube
  • memory (8100) - memória persistente
  • puppeteer (8101) - automação web

Solução 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

Configuração

Os servidores são definidos em mcp_config.json. As variáveis de ambiente usam a sintaxe ${VAR} e são carregadas de .env.

Exemplo de configuração de servidor:

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