/ Diretório / Playground / mcphub
● Comunidade samanhappy ⚡ Instantâneo

mcphub

por samanhappy · samanhappy/mcphub

Execute todos os seus servidores MCP atrás de um único endpoint — agrupe-os, roteamento inteligente por busca vetorial, troca dinâmica de configurações sem tempo de inatividade.

MCPHub é um hub TypeScript que monta vários servidores MCP sob um único endpoint HTTP com roteamento por grupo, por servidor ou via um roteador 'inteligente' de busca vetorial. OAuth, login social, modo PostgreSQL para produção. Docker é a implantação recomendada.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

mcphub.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcphub",
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ]
    }
  ]
}

O Continue usa um array de objetos de servidor em vez de um map.

~/.config/zed/settings.json
{
  "context_servers": {
    "mcphub": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcphub"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

claude mcp add mcphub -- npx -y mcphub

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: mcphub

Como expor 20 servidores MCP através de uma única URL para sua equipe

👤 Engenheiros de plataforma, líderes de equipe ⏱ ~30 min intermediate

Quando usar: Engenheiros continuam copiando e colando configurações locais e quebrando as configurações uns dos outros.

Pré-requisitos
  • Docker e um servidor com um nome DNS — Qualquer VPS barato funciona; use Caddy ou nginx para TLS
  • mcp_settings.json listando seus servidores — Comece a partir do exemplo do MCPHub e adicione uma entrada por MCP
Fluxo
  1. Implante o hub
    Execute: docker run -p 3000:3000 -v $PWD/mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub✓ Copiado
    → URL de login do administrador + senha gerada nos logs
  2. Crie grupos
    Na interface de administração, crie grupos 'dev' (github, filesystem, postgres) e 'data' (postgres, bigquery).✓ Copiado
    → Grupos visíveis em /mcp/dev e /mcp/data
  3. Distribua a URL
    Compartilhe https://mcp.yourco.internal/mcp/dev com a equipe; eles a adicionam como um único MCP HTTP em seu cliente.✓ Copiado
    → Membros da equipe se conectam com uma linha de configuração

Resultado: Um único endpoint operável substitui 20 configurações por máquina.

Armadilhas
  • Vazando a senha do administrador nos logs do Docker — Defina explicitamente a variável de ambiente ADMIN_PASSWORD; rotacione no primeiro login
  • Expor o hub à internet pública — Coloque atrás de uma VPN ou exija tokens portadores por usuário

Como deixar o $smart escolher o MCP certo para um prompt automaticamente

👤 Equipes que executam muitas ferramentas para caber em um único contexto ⏱ ~15 min advanced

Quando usar: Você tem 200+ ferramentas nos MCPs e ultrapassa o orçamento de ferramentas do seu modelo.

Fluxo
  1. Ative o endpoint $smart
    Aponte seu cliente para https://hub.example.com/mcp/$smart em vez de um servidor específico.✓ Copiado
    → Uma única meta-ferramenta exposta que roteia por intenção
  2. Faça um prompt naturalmente
    Encontre PRs em github.com/org/repo que estão esperando por mim e coloque-os no meu calendário como um slot de revisão de 30 minutos.✓ Copiado
    → O hub escolhe as ferramentas github + google-calendar nos bastidores

Resultado: Menos ferramentas em contexto, mesma capacidade.

Armadilhas
  • Roteador inteligente escolhe o MCP errado em prompts ambíguos — Mantenha os endpoints por grupo disponíveis como um fallback

Como adicionar um novo servidor MCP ao hub sem tempo de inatividade

👤 Operadores ⏱ ~5 min beginner

Quando usar: Um novo MCP acabou de ser lançado e você quer colocá-lo em produção hoje sem tirar ninguém de linha.

Fluxo
  1. Edite mcp_settings.json através da interface
    No painel do MCPHub, adicione uma nova entrada de servidor e salve.✓ Copiado
    → Notificação de recarga dinâmica, novas ferramentas aparecem
  2. Atribua a um grupo
    Adicione o novo servidor ao grupo 'data'.✓ Copiado
    → /mcp/data agora inclui as novas ferramentas

Resultado: Novo MCP online em menos de um minuto, sem reconexões de cliente necessárias.

Combinações

Combine com outros MCPs para 10× de alavancagem

mcphub + toolhive

Use ToolHive para containerizar os MCPs individuais, MCPHub para rotear para eles

Registre meu MCP github executado pelo ToolHive no MCPHub sob o grupo 'dev'.✓ Copiado
mcphub + proxy

Exponha MCPs apenas stdio sobre HTTP para o hub

Use mcp-proxy para conectar meu MCP stdio local a HTTP para que o MCPHub possa montá-lo.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
(meta) route-by-group HTTP path /mcp/{group} Uso regular — restrinja seu escopo de impacto free
(meta) route-by-server /mcp/{server} Quando você quer exatamente a superfície de um servidor free
(meta) $smart semantic router /mcp/$smart Quando você tem muitas ferramentas para o contexto 1 vector search per call

Custo e limites

O que custa rodar

Cota de API
Nenhuma cota imposta pelo hub; os MCPs downstream mantêm suas próprias cotas
Tokens por chamada
Adiciona ~50 tokens de sobrecarga de metadados de ferramentas
Monetário
Grátis (código aberto, Apache 2.0)
Dica
Use rotas de grupo, não $smart, para comportamento determinístico e sem custo extra de busca vetorial.

Segurança

Permissões, segredos, alcance

Escopos mínimos: Token de portador por usuário Restrição de nível de rede para clientes confiáveis
Armazenamento de credenciais: Variável de ambiente ADMIN_PASSWORD; segredos MCP downstream via mcp_settings.json ou gerenciador de segredos
Saída de dados: O hub apenas faz proxy — seus dados vão para onde cada MCP downstream os envia
Nunca conceda: Exposição pública sem autenticação Interface de administração na internet aberta

Solução de problemas

Erros comuns e correções

Não é possível fazer login / senha desconhecida

Verifique os logs do contêiner na primeira inicialização para a senha gerada ou defina ADMIN_PASSWORD.

Verificar: docker logs mcphub | grep -i password
Novo MCP aparece mas sem ferramentas

O MCP downstream provavelmente falhou ao iniciar. Clique em 'Logs' no cartão do servidor.

Roteador inteligente retorna 'nenhuma ferramenta correspondente'

Reindexe o armazenamento vetorial em Configurações > Ferramentas de índice.

Incompatibilidade de redirecionamento OAuth

Registre a URL de callback exata em seu provedor OAuth (deve corresponder à URL pública do hub).

Alternativas

mcphub vs. outros

AlternativaQuando usarTroca
Unla (MCP Gateway)Você quer conversão REST-to-MCP orientada por YAML mais multi-tenantBaseado em Go, modelo de operador diferente
ToolHiveVocê quer isolamento de nível de contêiner por MCPEnfoca a execução de MCPs, menos em roteamento/agregação
mcp-proxyVocê só precisa de ponte de transporte, não agregação multi-servidorServidor único; sem interface

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills