Animam exposes an OAuth 2.1 authorization server fully conformant with the MCP authorization spec. Any MCP client (Claude Desktop, claude.ai Custom Connectors, Cursor, or your own agent) can connect with zero manual configuration beyond the MCP server URL.Documentation Index
Fetch the complete documentation index at: https://docs.animam.ai/llms.txt
Use this file to discover all available pages before exploring further.
How it works
The standard OAuth 2.1 Authorization Code flow with PKCE:- Discovery — client fetches
https://api.animam.ai/.well-known/oauth-authorization-serverto learn the endpoints - Registration — client POSTs to
/oauth/register(RFC 7591 DCR) and receives aclient_id - Authorize — client opens
/oauth/authorize?response_type=code&client_id=...&code_challenge=...&code_challenge_method=S256in a browser - Consent — the tenant logs into animam.ai and approves the requested scopes
- Token exchange — client POSTs the received code to
/oauth/tokenwith its PKCE verifier - API calls — client uses the returned
access_tokenasAuthorization: Bearer <jwt>on MCP requests
Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/.well-known/oauth-authorization-server | GET | RFC 8414 metadata |
/.well-known/oauth-protected-resource | GET | RFC 9728 resource metadata |
/.well-known/jwks.json | GET | Public key for JWT verification |
/oauth/register | POST | RFC 7591 Dynamic Client Registration |
/oauth/authorize | GET | Authorization endpoint (redirects to consent UI) |
/oauth/token | POST | Exchange code for access token + refresh rotation |
/oauth/revoke | POST | RFC 7009 token revocation |
https://api.animam.ai.
Scopes
| Scope | Description |
|---|---|
mcp:corpus:read | Read the tenant knowledge base (corpus) |
mcp:corpus:write | Create and modify corpus entries |
mcp:segments:read | Read segments and slots |
mcp:segments:write | Create and modify segments and slots |
mcp:tools:read | Read tool configuration |
mcp:tools:write | Create and modify tool configuration |
mcp:conversations:read | Read conversation history |
mcp:visitors:read | Read visitor profiles and memory |
mcp:settings:read | Read tenant settings |
mcp:settings:write | Modify tenant settings |
mcp:billing:read | Read plan usage and quota |
Security
- PKCE S256 mandatory — no fallback to
plain(OAuth 2.1 hardening) - Public clients only —
token_endpoint_auth_method=none, no client_secret - Exact redirect_uri match — no wildcards, no substring matching
- Single-use authorization codes — replay attempts return
invalid_grant - Strict refresh token rotation — any reuse of a rotated refresh token triggers full-chain revocation
- JWT access tokens RS256 — signed stateless, verifiable via JWKS, hashed in DB for early revocation
- Rate limits — 5/h/IP on DCR, 30/min on token/revoke, 20/min on authorize
Example: register a client and start a flow
Connecting from Claude Desktop
Add Animam as a remote MCP server in your Claude Desktop config. Claude Desktop handles the entire OAuth flow (discovery + DCR + authorize + token exchange) transparently — you just approve the consent screen once.Legacy ApiToken cohabitation
The MCP server accepts both OAuth JWT access tokens and legacyApiToken
Bearer tokens (created from the tenant dashboard). OAuth is preferred for all
third-party integrations; ApiToken remains supported for internal scripts
and CI pipelines.