Most people never need this page. Claude, Claude Code, Cursor, and VS Code handle the flow automatically. This page is for client developers and security reviewers.
Endpoints
Scopes
How the granted scopes are derived from the request:
- No scope requested: both scopes.
mcp:writerequested withoutmcp:read: both scopes. A write-only grant couldn’t list projects.- Only unsupported scopes requested:
mcp:read.
ACCESS_DENIED. See Responses and errors.
Flow
1
Discover
An unauthenticated request to
/mcp returns 401 with a WWW-Authenticate header pointing at the protected resource metadata. The client reads it, then reads the authorization server metadata.2
Register
The client identifies itself with a Client ID Metadata Document (preferred) or registers through dynamic client registration at
/oauth/register. Registration is limited to 10 requests per minute per IP address.3
Authorize
The client opens
/authorize in a browser with PKCE (S256). The redirect URI must match one the client registered.If the user has no Auxilian session on mcp.auxilian.ai, they are sent to Auxilian’s sign-in page and continue with Google. Auxilian then creates or updates their account, in the same way as a web sign-in.4
Consent
The user sees the consent page with the client name, the redirect host, the scopes, and their email address. Allow issues an authorization code. Cancel redirects with
error=access_denied.5
Exchange
The client exchanges the code at
/oauth/token with its PKCE verifier and sends the access token as a bearer token on every /mcp request.Consent page protections
- The consent form carries a single-use nonce that must match a cookie scoped to
/authorizeand a server-side record. The nonce expires after 10 minutes. - The form submission is refused if the browser reports it as cross-site.
- The signed-in user must be the same when the page is shown and when it is submitted.
- The page sends
X-Frame-Options: DENYand a Content Security Policy withframe-ancestors 'none', so it can’t be embedded. - The policy’s
form-actionallows only Auxilian and the validated redirect target.