Skip to content

Requirements ​

What bundlemcp needs from you before it will run, split by whether you are trying it out or running it for other people.

Trying it locally ​

Docker Engine24 or newer, with the compose plugin
Free ports8000 (gateway), 3000 (admin UI), 8080 (dev identity provider)
Memory~4 GB free. Postgres, Valkey, Keycloak (a JVM), the gateway, the admin UI and a demo MCP server
Disk~5 GB, mostly the two images built from source
TimeA few minutes for the first build; --wait can time out before it finishes

Nothing else. The compose stack brings its own Postgres, Valkey and identity provider. Go to the Quickstart.

Running it for other people ​

Postgres17 is what the reference stack and CI run. Holds all durable state, so back it up
Valkey or RedisAny RESP-compatible server; Valkey 8 is what the reference stack runs. One shared instance, not one per replica
An OIDC identity providerMandatory, and yours. See below
A TLS-terminating reverse proxyYours. The gateway speaks plain HTTP on one port
A container registryOnly if you build your own images; otherwise pull the published ones, see Deploy
PythonOnly if you run the gateway outside a container: 3.13 or newer; the image ships 3.15
Node.jsOnly if you build or run the admin UI outside a container: 24 or newer (npm ci refuses older); the image ships 26

The identity provider is not optional ​

There is no local password store, no signup and no password reset, by design. Every human login goes through an external OIDC provider, and administrator status is decided by matching the provider's email claim against BUNDLEMCP_ADMIN_EMAILS. Two consequences worth knowing before you commit:

  • If your provider does not release the email claim, users can sign in but can never become administrators.
  • One issuer per deployment. Multi-provider federation is out of scope — federate at the provider instead.

Any compliant issuer works; Identity provider has per-provider notes for Keycloak, Google, Entra, Okta and Auth0. The Keycloak in the compose file is for development and ships with sslRequired: none and a well-known password.

What you own that the gateway does not do ​

  • TLS. Terminate it at your proxy.
  • Backups. Postgres only; Valkey is deliberately disposable.

Not multi-tenant ​

One instance is one shared workspace. Every administrator sees and can change every server, bundle and endpoint. If you need isolated tenants, run separate instances with separate databases — see What it is not.

Next steps ​