Skip to main content
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:

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.
1

Download the compose file

2

Start the server

3

Verify the server is running

The server listens on port 8080 by default. You can override this with the HOST_PORT environment variable.
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.
1

Download the compose file

2

Start the server

3

Initialize the server

After the first boot, run init-server from your client machine to create the admin user and store its access token:
See the production deployment guide for the full initialization and operating model.

Choosing an image

Mcpjungle publishes two Docker image variants:
  • docker-compose.yaml defaults to latest-stdio — suitable for local use with stdio-based MCP servers like filesystem, time, and github.
  • docker-compose.prod.yaml defaults to latest — the minimal image recommended for production.
If you need stdio support in enterprise mode, override the image tag:
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:
For a single container, docker stop is sufficient because it sends SIGTERM by default.

Run CLI commands inside a container

The standard image does not include a shell. Use docker exec or kubectl exec to invoke the mcpjungle binary directly:
For example, to list registered MCP servers from inside a running container: