/.well-known/oauth-protected-resource/api/mcpMCP resource-server metadata (RFC 9728)
Served by the MCP server (the resource server), NOT main_api. Returns `{ resource: <canonical /api/mcp URI>, authorization_servers: [<FinRadar AS>], scopes_supported: ['mcp'], bearer_methods_supported: ['header'] }`. An unauthenticated MCP call returns 401 with `WWW-Authenticate: Bearer ... resource_metadata=<this URL>` — how a client discovers where to authorize.
free
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| resource | string | no | The canonical resource identifier this metadata describes — the MCP server URI (e.g. `.../api/mcp`). A client MUST use exactly this value as the token audience; the resource server matches it exactly. |
| authorization_servers | array | no | The authorization server(s) that can issue tokens for this resource. An array of issuer URLs; the client fetches each one's RFC 8414 metadata to find the authorize / token / registration endpoints. |
| scopes_supported | array | no | The scope values the resource advertises (the full read-scope taxonomy plus the `mcp` superscope). Strings. |
| bearer_methods_supported | array | no | How the access token is presented to the resource. Always `['header']` — the token goes in the `Authorization: Bearer` header. |
Errors
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected server-side failure. Retry with backoff; report if persistent. |
Code samples
curl "https://api.finradar.ai/.well-known/oauth-protected-resource/api/mcp" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).