Reference
Authentication
Every request to Lumin carries credentials. There is one endpoint and two auth modes. Pick the mode that fits your integration.
Endpoint
Everything goes to https://mcp.lumin.guru/mcp. The server reads the Authorization header and accepts either mode on the same URL.
| Mode | Header | Use for |
|---|---|---|
| API key | Bearer mcp_... | Service-to-service, scripting, backend jobs |
| OAuth 2.1 | Bearer access token | Per-user integrations, claude.ai, public clients |
API key
Generate a key at developer.lumin.guru. Keys are prefixed mcp_ followed by a random suffix.
Authorization: Bearer mcp_abc123...You can hold up to five keys, one per app or environment, and they all meter against your account's one monthly call allowance. Every tool is available to every key, nothing is gated. Custom limits exist for bigger arrangements, write to contact@lumin.guru. Keys are revocable at any time and do not require client-side rotation logic. Pull a new one and replace.
OAuth 2.1
Lumin exposes standard OAuth 2.1 endpoints:
GET /.well-known/oauth-protected-resource
GET /.well-known/oauth-authorization-server
GET /authorize
POST /token
POST /registerFor claude.ai connectors, the discovery flow is automatic. Paste the endpoint URL and Claude will run the consent flow. For custom clients, follow the standard authorization-code-with-PKCE flow against the discovery document.
At the sign-in screen the user enters an email address, then a six digit code sent to that address. There is no password step.
A request without credentials returns 401 with a WWW-Authenticate header. Compliant clients read that header and start the flow above, so an unauthenticated first call is the normal way in, not an error to handle.