/ 디렉터리 / 플레이그라운드 / MCPJungle
● 커뮤니티 mcpjungle ⚡ 바로 사용

MCPJungle

제작: mcpjungle · mcpjungle/MCPJungle

Go 바이너리 하나, 엔드포인트 하나 — Claude / Cursor / 모든 MCP 클라이언트를 모든 MCP 서버에 동시에 연결. 가장 간편한 MCP 집계기.

MCPJungle은 소형 고속 Go 집계기입니다: N개의 업스트림 MCP 서버를 등록하면 클라이언트가 가리킬 하나의 복합 엔드포인트를 얻을 수 있습니다. 업스트림별로 도구에 네임스페이스를 지정하고, stdio + HTTP 전송을 지원하며, 단일 정적 바이너리나 Docker 이미지로 배포됩니다. claude_desktop_config.json에서 8개의 서로 다른 경로를 편집하는 것이 지겨워졌지만 Archestra 같은 엔터프라이즈 플랫폼은 필요하지 않을 때 유용합니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

mcpjungle-mcp.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/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"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

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

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

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

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

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

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

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

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

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

context_servers에 추가. 저장 시 Zed가 핫 리로드.

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

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: MCPJungle

8개 MCP 항목을 클라이언트 설정 한 줄로 통합하는 방법

👤 Claude Desktop / Cursor에 많은 MCP를 사용하는 파워 유저 ⏱ ~20 min intermediate

언제 쓸까: claude_desktop_config.json이 200줄이 되어 편집하기 힘들 때.

사전 조건
  • 로컬에서 실행 중인 MCPJungledocker run -p 9090:9090 ghcr.io/mcpjungle/mcpjungle:latest 또는 바이너리 다운로드
흐름
  1. 업스트림 등록
    Register github, postgres, filesystem, fetch, and time as upstream MCPs in MCPJungle.✓ 복사됨
    → 5개 업스트림 목록; tool_namespaces에 표시됨
  2. 클라이언트 전환
    Replace my 5 entries in claude_desktop_config.json with one entry pointing at MCPJungle on localhost:9090.✓ 복사됨
    → 단일 MCP 항목; Claude가 그것을 통해 5개 서버의 모든 도구를 나열
  3. 라우팅 확인
    Run a github tool and a postgres tool — confirm both reach their respective upstreams.✓ 복사됨
    → 둘 다 성공; 로그에 올바른 라우팅 표시

결과: 더 깔끔한 클라이언트 설정, 동일한 기능, 같은 지연 시간.

함정
  • 두 업스트림이 같은 이름의 도구를 노출 — MCPJungle이 업스트림 이름으로 자동 접두사 지정 — github.search_repositories vs gitlab.search_repositories

개발자들이 선별된 MCP 세트를 공유하는 팀 MCPJungle 실행

👤 소규모 팀 (2~10명) ⏱ ~60 min advanced

언제 쓸까: 모든 사람이 약간 다른 MCP 버전을 설치하는 경우; 하나의 팀 엔드포인트가 드리프트를 막습니다.

사전 조건
  • 공유 호스트 (소형 VM 또는 공유 개발 서버) — Docker에서 mcpjungle 실행; Tailscale이나 VPN으로 포트 9090 노출
흐름
  1. 공유 인스턴스 설정
    Deploy MCPJungle on the team VM via docker compose. Bind to 100.x.x.x:9090 (Tailscale).✓ 복사됨
    → 서비스가 팀 URL에서 응답
  2. 업스트림 버전 고정
    Add github + filesystem + postgres MCPs at specific versions. Save the registration as a YAML file in the team repo.✓ 복사됨
    → registered.yaml 커밋됨; 모든 팀원의 설정과 동일

결과: 전체 팀이 동일한 MCP 버전과 도구 사용.

함정
  • 공유 MCP는 자격증명도 공유 — 엔드포인트를 사용하는 모든 사람이 그것을 사용할 수 있음 — 이를 수용하지 않는 한 공유 인스턴스에 쓰기 가능 MCP를 넣지 마세요
함께 쓰기: github

Claude를 재시작하지 않고 MCP 추가 및 제거

👤 새 MCP 서버를 실험하는 개발자 ⏱ ~5 min beginner

언제 쓸까: Claude를 종료하고 설정을 편집하지 않고 새 MCP를 시도하고 싶을 때.

흐름
  1. 핫 추가
    Register a new MCP arxiv upstream into MCPJungle without restarting.✓ 복사됨
    → 다음 Claude 세션 새로고침에서 도구 표시
  2. 핫 제거
    Unregister the slack MCP, since I'm done with that experiment.✓ 복사됨
    → 도구 목록에서 slack 도구 더 이상 없음

결과: 더 빠른 MCP 반복 루프.

함정
  • 일부 클라이언트가 도구 목록을 캐시 — Claude Desktop에서 대화를 새로 고쳐 갱신하세요

조합

다른 MCP와 조합해 10배 효율

mcpjungle-mcp + github

registered.yaml을 코드로 관리하여 팀 설정을 버전 제어

mcpjungle-mcp + filesystem

부팅 시 등록 유지

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
register name, transport: 'stdio'|'http', command_or_url, env 업스트림 MCP 추가 free
unregister name 업스트림 MCP 제거 free
list_upstreams (none) 등록된 항목 확인 free
<upstream>.<tool> varies 등록된 업스트림의 모든 도구 호출 1 upstream call

비용 및 제한

운영 비용

API 쿼터
없음 (업스트림에 프록시)
호출당 토큰
작은 오버헤드
금액
무료 (MIT)
업스트림의 메모리 요구 사항에 맞는 최소 서버에서 실행하세요

보안

권한, 시크릿, 파급범위

자격 증명 저장: 업스트림 서브프로세스로 전달되는 환경 변수
데이터 외부 송신: 업스트림 MCP와 동일

문제 해결

자주 발생하는 오류와 해결

업스트림이 등록됐지만 도구가 표시되지 않음

MCPJungle이 등록 시 도구 목록을 한 번 프록시합니다 — 서버가 시작 후 동적으로 도구를 선언하면 업스트림 재시작이 필요할 수 있습니다

확인: `mcptools list`로 업스트림을 단독 실행하여 도구가 목록에 있는지 확인
Stdio 업스트림 좀비 프로세스

MCPJungle이 등록 해제 시 서브프로세스를 정리합니다 — 서버가 고아가 되면 MCPJungle을 재시작하세요

확인: ps aux | grep <server>
클라이언트가 '도구 이름 충돌' 표시

MCPJungle이 업스트림으로 네임스페이스를 지정합니다 — 단순 <tool>이 아닌 <upstream>.<tool>을 호출하세요

대안

MCPJungle 다른 것과 비교

대안언제 쓰나단점/장점
Archestra집계 외에 SSO, 감사, 정책이 필요할 때Archestra는 엔터프라이즈용이지만 MCPJungle은 개발자 경량 도구입니다
samanhappy/mcphub더 풍부한 웹 UI를 원할 때MCPHub는 UI가 있지만 MCPJungle은 순수 바이너리 + API입니다

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기