docs: correct MCP authorization spec drift to the 2026-07-28 revision - #385
Merged
Conversation
This was referenced Aug 6, 2026
The repo tracked MCP Authorization revision 2025-11-25 while the code had already moved past it. Two revisions shipped since (2025-11-25, 2026-07-28); ADR-007's delta section was written against the 2026-07-28 release candidate and asserted gaps that have since been closed. - ADR-007: review the final 2026-07-28 spec rather than the RC. Record RFC 9207 `iss` (#282), the mcp-guard 401 `scope` challenge (#284) and `offline_access` filtering as shipped -- all three were claimed missing. Add the items the RC review missed: DCR deprecation (PR #2858) and the SEP-2596 lifecycle policy, `application_type` (SEP-837) and client-credential issuer binding (SEP-2352) as client-side MUSTs requiring nothing of the AS, the new scope-hierarchy MUST, and the stable EMA / draft client-credentials extensions. Correct the claim that CIMD's normative strength firmed between revisions -- it is SHOULD in both; only DCR's characterisation changed. - Repoint spec pins from 2025-11-25 to 2026-07-28 across mcp-guard, the root README, the MCP quickstart, the API reference and the Docker guide. - agent-authorization: the agent scope modes are independent OAuth scopes, not a hierarchy. `agent:admin` does not imply `agent:readonly` -- mcp-guard matches exactly and case-sensitively per RFC 6749 3.3, so a client needing both must request both. Correct the same claim at its source in `scope-modes.ts` and on the `agent_mode` enum. - discovery.ts: 2026-07-28 is published, not "upcoming", and the AS-side MUST is to advertise the flag once `iss` is emitted. Comments and documentation only; no behaviour change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01764LWL3PEHphHBwRRkUv1W
EsTharian
force-pushed
the
docs/mcp-2026-07-28-spec-drift
branch
from
August 6, 2026 12:29
82fda1e to
dd9af81
Compare
EsTharian
changed the base branch from
main
to
fix/docker-deploy-workspace-symlinks
August 6, 2026 12:29
EsTharian
changed the base branch from
fix/docker-deploy-workspace-symlinks
to
main
August 6, 2026 12:57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repo tracked MCP Authorization revision
2025-11-25while the code had already moved past it. Two revisions have shipped since (2025-11-25,2026-07-28), and ADR-007's delta section was written against the 2026-07-28 release candidate, asserting gaps that have since been closed.Comments and documentation only — no behaviour change.
ADR-007
iss(feat(oauth): emit RFC 9207issin authorization responses (MCP 2026-07-28) #282), the mcp-guard 401scopechallenge (feat(oauth): includescopein the mcp-guard 401 challenge #284), andoffline_accessfiltering. All three were verified in code.application_type(SEP-837) and client-credential issuer binding (SEP-2352) as client-side MUSTs requiring nothing of the AS; the new scope-hierarchy MUST; and the stable EMA / draft client-credentials extensions.SHOULDin both, and DCR isMAYin both. Only DCR's characterisation changed to "deprecated".Spec pins
Repointed
2025-11-25→2026-07-28across mcp-guard, the root README, the MCP quickstart, the API reference and the Docker guide — only where the described behaviour is actually current.Scope model correction
The agent scope modes are independent OAuth scopes, not a hierarchy.
agent:admindoes not implyagent:readonly: mcp-guard matches exactly and case-sensitively per RFC 6749 §3.3, so a client needing both must request both. The⊇ ReadOnlyclaim is corrected indocs/agent-authorization.mdand at its source inscope-modes.tsand theagent_modeenum.Known leftovers
2025-11-25pins remain in unassigned auth-server/config source (cimd.ts,client-resolution.ts,discovery.ts,step-up.ts,authorize.ts,well-known.ts,config/schemas/auth.ts). Pins, not false claims — deliberately left for a scoped sweep.2025-11-25references are the intentional audit trail of the superseded review.🤖 Generated with Claude Code
https://claude.ai/code/session_01764LWL3PEHphHBwRRkUv1W