Vocabulary-Based Access
An agent discovers a resource's MCP vocabulary and declares the exact tools it needs. The resource maps declared operations to an R3 document — a signed, content-addressed authorization definition — and returns a resource token carrying the document's URI and SHA-256 hash. The agent sends this to its Person Server (PS), which federates with the AS. The AS fetches and verifies the R3 document, then issues an auth token with r3_granted. The resource enforces access directly from the token with no introspection call.
Agent fetches well-known metadata to discover which vocabularies the resource supports.
r3_vocabularies maps vocabulary URIs to discovery endpoints — the MCP server URL, OpenAPI spec URL, etc.
Instead of guessing at scope strings, the agent can now declare the exact operation names the resource itself uses.
The resource advertises two vocabularies here. The agent will use MCP since it's interacting via an MCP server.
Step 1: GET /.well-known/aauth-resource.json → r3_vocabularies
calendar.example.com