/ Diretório / Playground / MCPJungle
● Comunidade mcpjungle ⚡ Instantâneo

MCPJungle

por mcpjungle · mcpjungle/MCPJungle

Um binário Go, um endpoint — conecte o Claude, Cursor ou qualquer cliente MCP a todos os seus servidores MCP de uma vez. O agregador MCP de menor esforço.

O MCPJungle é um pequeno e rápido agregador Go: registre N servidores MCP upstream e obtenha um único endpoint composto para apontar os clientes. Ele aplica namespace às ferramentas por upstream, suporta transportes stdio e HTTP, e é distribuído como um único binário estático ou imagem Docker. Útil quando você já não aguenta mais editar 8 entradas diferentes no claude_desktop_config.json mas não precisa de uma plataforma corporativa como o Archestra.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

mcpjungle-mcp.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcpjungle-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-p",
        "9090:9090",
        "ghcr.io/mcpjungle/mcpjungle:latest"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcpjungle-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-p",
        "9090:9090",
        "ghcr.io/mcpjungle/mcpjungle:latest"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcpjungle-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-p",
        "9090:9090",
        "ghcr.io/mcpjungle/mcpjungle:latest"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcpjungle-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-p",
        "9090:9090",
        "ghcr.io/mcpjungle/mcpjungle:latest"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcpjungle-mcp",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-p",
        "9090:9090",
        "ghcr.io/mcpjungle/mcpjungle:latest"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "mcpjungle-mcp": {
      "command": {
        "path": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "-p",
          "9090:9090",
          "ghcr.io/mcpjungle/mcpjungle:latest"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

claude mcp add mcpjungle-mcp -- docker run --rm -i -p 9090:9090 ghcr.io/mcpjungle/mcpjungle:latest

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

Casos de uso

Usos do mundo real: MCPJungle

Como consolidar 8 entradas MCP em uma única linha de configuração do cliente

👤 Usuários avançados com muitos MCPs no Claude Desktop ou Cursor ⏱ ~20 min intermediate

Quando usar: Seu claude_desktop_config.json tem 200 linhas e editá-lo é uma dor de cabeça.

Pré-requisitos
  • MCPJungle rodando localmentedocker run -p 9090:9090 ghcr.io/mcpjungle/mcpjungle:latest ou baixe um binário
Fluxo
  1. Registrar upstreams
    Registre github, postgres, filesystem, fetch e time como MCPs upstream no MCPJungle.✓ Copiado
    → 5 upstreams listados; tool_namespaces os exibe
  2. Trocar o cliente
    Substitua minhas 5 entradas em claude_desktop_config.json por uma única entrada apontando para o MCPJungle em localhost:9090.✓ Copiado
    → Entrada MCP única; o Claude lista as ferramentas de todos os 5 servidores por meio dela
  3. Verificar o roteamento
    Execute uma ferramenta do github e uma do postgres — confirme que ambas alcançam seus respectivos upstreams.✓ Copiado
    → Ambas têm sucesso; logs mostram o roteamento correto

Resultado: Configuração do cliente mais limpa, mesma capacidade, mesma latência.

Armadilhas
  • Dois upstreams expõem ferramentas com o mesmo nome — O MCPJungle prefixa pelo nome do upstream automaticamente — github.search_repositories vs gitlab.search_repositories

Rodar um MCPJungle compartilhado para que devs compartilhem um conjunto curado de MCPs

👤 Equipes pequenas (2 a 10 devs) ⏱ ~60 min advanced

Quando usar: Cada um continua instalando versões ligeiramente diferentes do MCP; um endpoint de equipe único para essa divergência.

Pré-requisitos
  • Um host compartilhado (VM pequena ou máquina de dev compartilhada) — Execute o mcpjungle em Docker; exponha a porta 9090 via Tailscale ou VPN
Fluxo
  1. Subir a instância compartilhada
    Implante o MCPJungle na VM da equipe via docker compose. Vincule a 100.x.x.x:9090 (Tailscale).✓ Copiado
    → Serviço responde na URL da equipe
  2. Fixar versões dos upstreams
    Adicione os MCPs github, filesystem e postgres em versões específicas. Salve o registro como um arquivo YAML no repositório da equipe.✓ Copiado
    → registered.yaml commitado; igual em todas as máquinas

Resultado: Toda a equipe usa as mesmas versões e ferramentas MCP.

Armadilhas
  • MCP compartilhado compartilha credenciais — qualquer pessoa usando o endpoint pode usá-las — Não coloque MCPs com capacidade de escrita em uma instância compartilhada a menos que aceite isso
Combine com: github

Adicionar e remover MCPs sem reiniciar o Claude

👤 Devs experimentando novos servidores MCP ⏱ ~5 min beginner

Quando usar: Você quer testar um novo MCP sem sair do Claude e editar a configuração.

Fluxo
  1. Adicionar a quente
    Registre um novo upstream MCP arxiv no MCPJungle sem reiniciar.✓ Copiado
    → Ferramentas aparecem na próxima atualização da sessão do Claude
  2. Remover a quente
    Cancele o registro do MCP do slack, já que terminei o experimento.✓ Copiado
    → Ferramentas do slack não aparecem mais na lista

Resultado: Ciclo de iteração de MCP mais rápido.

Armadilhas
  • Alguns clientes fazem cache da lista de ferramentas — Recarregue a conversa no Claude Desktop para atualizar

Combinações

Combine com outros MCPs para 10× de alavancagem

mcpjungle-mcp + github

Gerenciar o registered.yaml como código para que a configuração da equipe esteja sob controle de versão

Sincronize os upstreams registrados do MCPJungle a partir de /infra/mcp/registered.yaml no repositório.✓ Copiado
mcpjungle-mcp + filesystem

Persistir os registros de inicialização

Salve a lista atual de upstreams em ./mcpjungle.json ao desligar.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
register name, transport: 'stdio'|'http', command_or_url, env Adicionar um MCP upstream gratuito
unregister name Remover um MCP upstream gratuito
list_upstreams (nenhum) Ver o que está registrado gratuito
<upstream>.<tool> varies Chamar qualquer ferramenta de qualquer upstream registrado 1 chamada upstream

Custo e limites

O que custa rodar

Cota de API
Nenhuma (proxy do upstream)
Tokens por chamada
Overhead mínimo
Monetário
Gratuito (MIT)
Dica
Execute no menor servidor que atenda às necessidades de memória dos seus upstreams

Segurança

Permissões, segredos, alcance

Armazenamento de credenciais: Variáveis de ambiente repassadas para subprocessos upstream
Saída de dados: Igual aos MCPs upstream

Solução de problemas

Erros comuns e correções

Upstream registrado mas nenhuma ferramenta exibida

O MCPJungle faz proxy da listagem de ferramentas uma vez no registro — reiniciar o upstream pode ser necessário se ele declarou ferramentas dinamicamente após a inicialização

Verificar: Execute o upstream isoladamente com `mcptools list` para confirmar que ele lista ferramentas
Upstream stdio zumbi

O MCPJungle coleta subprocessos no cancelamento de registro — se um servidor ficou órfão, reinicie o MCPJungle

Verificar: ps aux | grep <server>
Cliente diz 'tool name conflict'

O MCPJungle aplica namespace por upstream — chame <upstream>.<tool>, não apenas <tool>

Alternativas

MCPJungle vs. outros

AlternativaQuando usarTroca
ArchestraVocê precisa de SSO, auditoria e políticas além da agregaçãoO Archestra é corporativo; o MCPJungle é leve para desenvolvedores
samanhappy/mcphubVocê quer uma interface web mais ricaO MCPHub tem UI; o MCPJungle é puramente binário + API

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills