Labsco
MCP SERVER · OFFICIAL PROJECT

MCPJungle

by mcpjungle

Register every MCP server once and give clients a single endpoint — with tools you can disable individually and groups that expose only a subset.

MCP Plumbing: Proxies, Registries & InspectorsOfficial source
Summary
Tool Groups are the reason to bother — one endpoint per client, carrying only the tools that client should see.

A gateway that merges everything creates the problem it was meant to solve: hundreds of tools in one list, and a model that picks badly among them. Groups fix that by cherry-picking tools or whole servers into a named endpoint, so Claude Desktop and a production agent can share the registry without sharing a tool list. Disabling is the blunter version of the same idea, and it applies everywhere at once.

What it is

A self-hosted MCP gateway. Servers are registered once in MCPJungle, and Claude, Cursor, Codex or your own agents connect to one endpoint instead of each carrying its own configuration.

What you get
  • One MCP endpoint fronting every registered server, reachable over Streamable HTTP or through mcp-remote for clients that need a bridge
  • Unified discovery: tools, prompts and resources from all registered servers listed in one place, with tool names namespaced by server
  • Individual tools disabled and re-enabled, or a whole server switched off — a disabled tool disappears from the proxy and from every group, while staying manageable over the HTTP API
  • Tool Groups, each with its own endpoint, built by naming the tools to include, whole servers to include, or servers minus specific exclusions
  • Prompts registered alongside tools, listed per server and retrieved with arguments supplied
  • Static token authentication for upstream servers — a bearer token per registered server, or arbitrary headers when the Authorization format is not standard
  • A dashboard UI, and an enterprise mode with access control for shared deployments
  • A CLI for the whole lifecycle: register servers, list what is available, enable and disable, and create groups from JSON configuration
Requirements

Somewhere to run it: the published docker-compose file starts the server locally, and container images are on GHCR. Upstream servers that need credentials take a bearer token or custom headers at registration time; OAuth against upstream servers is not supported yet. Clients point at the gateway's /mcp path — directly if they speak Streamable HTTP, or through mcp-remote with --allow-http for a local deployment. Running it for a team means the enterprise mode, started with --enterprise or SERVER_MODE=enterprise.

Setup effort

One command — brew install mcpjungle/mcpjungle/mcpjungle