resource parameter. https://mcp.getarbol.com/ identifies a different resource and is not interchangeable with the MCP endpoint.
Request flow
- The client discovers the MCP protected resource and authorization server.
- Dynamic client registration creates an approved OAuth client.
- A person authorizes the MCP client in the context of their organization.
- The client sends the resulting MCP-audience bearer token to the MCP endpoint.
- MCP verifies issuer, audience, signature, expiry, organization context, and the MCP access scope.
- MCP exchanges that verified token for an API-audience token on the person’s behalf.
- MCP calls the generated REST operation with the exchanged token.
- The API independently verifies organization and operation permissions.
Required metadata
The deployment must expose and verify:- MCP protected-resource metadata under
https://mcp.getarbol.com/.well-known/oauth-protected-resource; - authorization-server metadata from the configured Auth0 custom domain;
- a dynamic-client-registration endpoint; and
- the downstream API protected-resource metadata at
https://api.getarbol.com/.well-known/oauth-protected-resource.
Security invariants
- MCP never forwards the incoming MCP token directly to the API.
- The incoming token’s audience must equal
https://mcp.getarbol.com/mcp. - The exchanged token’s audience is the API, and its scopes are bounded by the delegated user authority.
- Organization identity comes from verified token claims, never tool arguments.
- Tool execution still receives
401or403from the API when delegated authority is invalid or insufficient. - Token exchange credentials remain server-side and are never returned through MCP content.