Start in enterprise mode
You can enable enterprise mode in three ways:- CLI flag
- Environment variable
- Docker Compose
Initialize the server once
After the first boot in enterprise mode, runmcpjungle init-server once from your client machine to create the initial admin identity and authenticate your CLI.
For the exact bootstrap flow and command details, see:
Recommended runtime pattern
For a shared deployment, the recommended pattern is:- Run the standard
ghcr.io/mcpjungle/mcpjungle:latestimage. - Keep the CLI installed separately on operator machines.
- Point Mcpjungle at a separate PostgreSQL instance or cluster.
Run with Docker
For production, use the standard (minimal) Mcpjungle image. It is based ondistroless/base and contains only the mcpjungle binary.
Supply your database connection string with the DATABASE_URL environment variable:
Graceful shutdown
Mcpjungle handlesSIGTERM for graceful shutdown. It closes all active stateful sessions, flushes telemetry, and stops accepting new connections before exiting.
Send SIGTERM to stop the server cleanly:
docker stop sends SIGTERM by default, so no extra flags are needed.
What enterprise mode enables
| Feature | Development mode | Enterprise mode |
|---|---|---|
| Authentication | Disabled | Required for Users & MCP clients |
| Access control (ACLs) | Disabled | Enabled |
| OpenTelemetry metrics | Disabled (opt-in) | Enabled by default |
| Server initialization | Automatic | Manual (init-server) |
Even in enterprise mode, you can override metrics with
OTEL_ENABLED=false if needed, though that is not the recommended default for shared deployments.What to read next
Database
Configure PostgreSQL correctly for production use.
Observability
Scrape Prometheus-compatible metrics from the
/metrics endpoint.Governance overview
Understand enterprise mode, tokens, clients, and users.
Access control
Give each MCP client access only to the servers it should reach.
