Skip to content

[Server][Client][Docs] SEP-2577: Mark Roots/Sampling/Logging @deprecated, emit notices, document migration #365

Description

@chr-hertel

Implements SEP-2577 for the MCP Spec 2026-07-28 release.

Tracked by umbrella #339.

Spec summary

Three core features are formally deprecated: Roots (server→client list/subscribe), Sampling (server→client LLM completion), and Logging (server→client log notifications). No wire-level changes — advisory only. All three remain fully functional for at least 12 months past this spec version (~through 2027-07).

PHP SDK changes

  • Implementations stay. SDK MUST continue supporting all three: SetLogLevelHandler, sampling Fiber suspend/resume in Server/Protocol.php, roots in src/Client/Handler/.
  • Annotate @deprecated on public API surfaces:
    • Server::builder() paths related to logging
    • Sampling-related types in Schema/
    • Client listRoots/rootsListChanged handlers
    • Use the format from SEP-2596: @deprecated Since spec 2026-07-28; will be removed no earlier than 2027-07-28
  • Emit runtime deprecation notices (E_USER_DEPRECATED and/or PSR-3 notice) when these capabilities are advertised in InitializeHandler initialize result, or at server-builder time when registered.
  • Docs: Add deprecation banners in docs/server-client-communication.md and docs/mcp-elements.md pointing to alternatives (stderr / OpenTelemetry for logging; tool parameters for roots).
  • Consider opt-out: disableDeprecatedFeatures() builder flag.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    2026-07-28All issues and PRs related to the spec release 2026-07-28ClientIssues & PRs related to the Client componentP1Significant bug affecting many users, highly requested featureServerIssues & PRs related to the Server componentdocumentationImprovements or additions to documentationenhancementRequest for a new feature that's not currently supportedimproves spec complianceImproves consistency with other SDKs such as TyepScript

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions