Authentication
Two authentication methods are available. The appropriate one depends on the client being built.
Access tokens
Section titled “Access tokens”For scripts and self-hosted services. Create a token under Settings → Integrations, grant the narrowest permissions sufficient for the task, and send it as a bearer token.
The token is displayed once. Only a hash is stored, together with an eight-character prefix for identification in the list. A lost token must be replaced.
Tokens expire. An expiry date is required at creation; permanent tokens are not available.
Note the asymmetry: over REST a token is read-only, and every non-GET request is refused. See
what an external client can reach.
OAuth, for MCP clients
Section titled “OAuth, for MCP clients”An AI agent does not use a manually supplied token; it discovers the authentication endpoint.
The flow follows the MCP authorization spec, which builds on RFC 9728 protected resource metadata:
- The client calls the MCP endpoint with no credential and receives 401.
- The response points it at a metadata document describing where to authenticate.
- The client reads that document, runs the OAuth flow against the authorisation server it names, and retries with the token it obtains.
Two discovery paths are served, because clients probe both forms:
/.well-known/oauth-protected-resource |
Origin-wide |
/.well-known/oauth-protected-resource/v1/mcp |
Path-suffixed, per RFC 9728 §3.1 |
Both are unauthenticated by design: the client holds no credential at that stage, which is the purpose of the document.
Something wrong on this page? Report it