Docker Compose is the recommended way to run mcpjungle for individuals running it locally. Teams deploying mcpjungle to a remote server can also use Docker Compose with the production configuration, or choose a more customized deployment approach. The repository ships 2 docker compose files:Documentation Index
Fetch the complete documentation index at: https://docs.mcpjungle.com/llms.txt
Use this file to discover all available pages before exploring further.
- docker-compose.yaml - optimized for local for individual users
- docker-compose.prod.yaml - optimized for a shared deployment running in enterprise mode
Development mode
docker-compose.yaml is the fastest path to a working local setup. It starts Mcpjungle in development mode alongside Postgres and uses the latest-stdio image by default, which includes npx and uvx for common STDIO server workflows.
If Mcpjungle is running inside Docker on macOS or Windows, the container cannot reach
127.0.0.1 on your host. Use host.docker.internal instead when registering MCP servers that run on your host machine:If you plan to run the
filesystem stdio MCP server from inside the container, see Register a stdio MCP server for the required /host mount pattern and config example.You can also run the mcpjungle image as a standalone container instead of using the Compose files provided by the repository.Keep in mind that if you do not connect Mcpjungle to a PostgreSQL database, it will create a local SQLite file inside the container.If the container is deleted, that SQLite file is deleted with it and mcpjungle’s data is lost.Running Mcpjungle as a standalone container without an external database is only recommended for testing and proofs of concept.
Enterprise mode
docker-compose.prod.yaml starts Mcpjungle in enterprise mode. It is intended for a shared deployment where access is authenticated and metrics are expected to be available.
Initialize the server
After the first boot, run See the production deployment guide for the full initialization and operating model.
init-server from your client machine to create the admin user and store its access token:Choosing an image
Mcpjungle publishes two Docker image variants:| Image tag | Base | Includes | Size |
|---|---|---|---|
latest | distroless/base | mcpjungle binary only | Minimal |
latest-stdio | uv (Debian) | mcpjungle + npx + uvx | Larger |
docker-compose.yamldefaults tolatest-stdio— suitable for local use with stdio-based MCP servers likefilesystem,time, andgithub.docker-compose.prod.yamldefaults tolatest— the minimal image recommended for production.
If your stdio servers rely on dependencies other than
npx or uvx, you need to build a custom Docker image that includes those dependencies alongside the mcpjungle binary.Graceful shutdown
Mcpjungle should be stopped cleanly so it can close active connections and flush in-flight work. For Compose-managed deployments, use:docker stop is sufficient because it sends SIGTERM by default.
Run CLI commands inside a container
The standard image does not include a shell. Usedocker exec or kubectl exec to invoke the mcpjungle binary directly:
- Docker
- Kubernetes
