mcpjungle/MCPJungle

One place to manage & connect to all your MCP servers

1,189 ★151 forksGoUpdated 4d ago

What you need to know

A self-hosted MCP gateway that lets you register many MCP servers once and expose them to Claude, Cursor, Codex, Copilot, or custom agents through a single streamable-HTTP MCP endpoint, with unified discovery, tool groups, access control, and observability.

Install

brew install mcpjungle/mcpjungle/mcpjungle
docker pull ghcr.io/mcpjungle/mcpjungle
curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.yaml && docker compose up -d

Usage

  • Start the server (default gateway at http://localhost:8080/mcp): `mcpjungle start` or docker compose
  • Register a server: `mcpjungle register --name context7 --url https://mcp.context7.com/mcp` (also supports stdio servers via JSON config with `command`/`args`)
  • Connect Claude Desktop via npx mcp-remote `http://localhost:8080/mcp --allow-http`; Cursor/Copilot use the URL directly
  • Manage tools and groups: `mcpjungle list tools`, `mcpjungle disable tool context7__get-library-docs`, `mcpjungle create group -c ./group.json`

Key features

  • One MCP endpoint over streamable HTTP for Claude, Cursor, Copilot, Codex, and custom agents
  • Tool Groups: expose only a subset of tools to a client via a group-specific endpoint
  • Stateful connections (session_mode: stateful) to avoid cold-start latency on stdio servers
  • Enterprise mode: access control per MCP client, user accounts, and Prometheus-compatible OpenTelemetry metrics
  • Supports stdio and streamable-http upstream servers, plus enabling/disabling tools and prompts

Best for

Developers or teams who want to centralize and govern many MCP servers behind one endpoint without per-client config duplication.

Caveats

  • macOS binary is not notarized yet — Homebrew install is required on macOS
  • SSE (server-sent events) upstream support exists but is 'not currently mature'
  • OAuth flow for authentication is not supported yet (static bearer tokens only)
  • Tool Groups cannot be updated in place — you must delete and recreate; prompts are not supported in Tool Groups
  • In enterprise mode, only an admin can create Tool Groups
  • stdio servers need the larger `latest-stdio` Docker image (default docker-compose.yaml already uses it); other runtimes require a custom image
Platforms: Linux · macOS · WindowsClients: Claude Desktop · Cursor · GitHub Copilot · Codex
Documentation ↗

Reviewed 2026-08-07

Topics

ai-agentsinfrastructuremcpmcp-gatewaymcp-registrymcp-servermodel-context-protocolself-hosted
View on GitHub ↗
Stars
1,189★
Forks
151
Language
Go
License
MPL-2.0
Created
2025-05-15
Last push
2026-08-02