Multi-tenancy
What is isolated per tenant#
- API keys and their rotation state
- Registered OAuth clients
- Quota balance, decremented atomically in Redis
- Usage events and the billing history built from them
- Rate limits, applied per plan
Why billing stays independent#
Billing does not live inside your MCP server logic. Your server calls the auth and billing endpoints, which means you can rewrite, redeploy or replace the server without touching the tenancy model or the billing history attached to it.
That separation is also what makes the boilerplate framework agnostic. Whatever your MCP server is written against, it talks HTTP to this layer.
Related: OAuth 2.1, rate limiting.