Skip to content

[Server][Auth] SEP-2207: Audit PRM to ensure offline_access is not advertised as a required scope #364

Closed

Description

@chr-hertel

Implements the server-side portion of SEP-2207 for the MCP Spec 2026-07-28 release.

Tracked by umbrella #338.

Spec summary

MCP servers (as resource servers) SHOULD NOT advertise/require offline_access in their PRM (Protected Resource Metadata) responses — it's an AS concern, not RS.

PHP SDK changes

  • Audit PRM emission in src/Server/Transport/Http/OAuth/ to ensure offline_access is NOT included in the server's scopes_supported or required-scope advertisements.
  • Likely a small check/lint plus a unit test guarding against regression.

Related

Activity

  1. added
    ServerIssues & PRs related to the Server component
    authIssues and PRs related to Authentication / OAuth
    improves spec complianceImproves consistency with other SDKs such as TyepScript
    enhancementRequest for a new feature that's not currently supported
    on May 26, 2026
  2. added
    2026-07-28All issues and PRs related to the spec release 2026-07-28
    on May 26, 2026
  3. wWzZb commented on Aug 14, 2026

    @wWzZb
    Contributor

    I can take this. I traced both emission paths: ProtectedResourceMetadata currently preserves offline_access in PRM, while AuthorizationMiddleware can add it to WWW-Authenticate from either explicit result scopes or the PRM fallback.

    My plan is to filter the exact offline_access scope before both responses are emitted and add regression coverage for mixed and offline_access-only lists, including the 403 path. I prefer filtering over rejecting the configuration because SEP-2207 uses SHOULD NOT and this keeps existing deployments running. Please let me know if you would rather make it a configuration error.

  4. chr-hertel commented on Aug 19, 2026

    @chr-hertel
    MemberAuthor

    Confirmed via #440. ProtectedResourceMetadata::$scopesSupported is entirely operator-supplied; nothing in the SDK ever advertises offline_access, pinned by a regression test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    2026-07-28All issues and PRs related to the spec release 2026-07-28ServerIssues & PRs related to the Server componentauthIssues and PRs related to Authentication / OAuthenhancementRequest for a new feature that's not currently supportedimproves spec complianceImproves consistency with other SDKs such as TyepScript

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions