Flow 1
Request a token for one RS
- 1
From PRM, take the resource identifier.
- 2
Include resource=that URI on authorize and token requests.
- 3
AS puts it in RFC 9068 aud (or equivalent).
- 4
RS compares aud to itself; mismatch → 401.
IETF · February 2020
RFC 8707
B. Campbell, J. Bradley, H. Tschofenig
Without audience restriction, a token an agent obtained for a calendar MCP server might be accepted by a payments MCP server. That is a confused-deputy class bug.
At a glance
Actors
01
Access tokens that work at every API get replayed at the wrong API. RFC 8707's resource parameter lets the client name the intended RS at authorization and token time so the AS can audience-restrict the token.
Without this, a token an agent obtained for a calendar MCP server might be accepted by a payments MCP server. That is a confused-deputy class bug. MCP 2026-07-28 makes resource a MUST on both authorization and token requests, even if the AS ignores it. The RS MUST still reject tokens not issued for itself.
02
The client asserts where it wants to go. The AS decides whether that is allowed and mints aud accordingly. The RS is the last gate: it must not honor a token for someone else.
03
One or more resource parameters (absolute URIs) on authorization and token requests. AS issues a token valid only for those resources. MCP requires the canonical MCP server URI.
04
Flow 1
From PRM, take the resource identifier.
Include resource=that URI on authorize and token requests.
AS puts it in RFC 9068 aud (or equivalent).
RS compares aud to itself; mismatch → 401.
05
Authorization audience control. Complements RFC 9068 aud. Not identity.
06
Where aud is carried.
Where the canonical resource URI is published.
MUST on both requests.
Audience restriction when multiple resources exist.
07
You still send it (MCP MUST). The RS must still audience-check. An AS that mints globally valid tokens is not MCP-safe.
8707 allows several. Narrower is better for agents. Prefer one RS per token.
08
RFC 8707, February 2020. Stable. https://www.rfc-editor.org/rfc/rfc8707.html
MCP 2026-07-28 makes resource a MUST on both authorization and token requests, even if the AS ignores it. The RS MUST still reject tokens not issued for itself.