Skip to content

[Schema][Client][Server] Deprecate Roots, Sampling and Logging (SEP-2577) - #427

Merged
chr-hertel merged 2 commits into
modelcontextprotocol:mainfrom
chr-hertel:deprecate-roots-sampling-logging
Aug 17, 2026
Merged

[Schema][Client][Server] Deprecate Roots, Sampling and Logging (SEP-2577)#427
chr-hertel merged 2 commits into
modelcontextprotocol:mainfrom
chr-hertel:deprecate-roots-sampling-logging

Conversation

@chr-hertel

@chr-hertel chr-hertel commented Aug 17, 2026

Copy link
Copy Markdown
Member

Implements SEP-2577 (deprecating Roots, Sampling and Logging as of protocol revision 2026-07-28, earliest removal 2027-07-28) following the Tier 1 SDK obligations in SEP-2596:

  • @deprecated tags on the schema, client and server surface of the three features, each referencing the SEP, the earliest removal date and the suggested migration.
  • Runtime notice when a feature is exercisedClientGateway::log() / sample() / listRoots(), or registering a client-side SamplingRequestHandler, ListRootsRequestHandler or LoggingNotificationHandler — via trigger_deprecation() (symfony/deprecation-contracts, silenced E_USER_DEPRECATED), so it surfaces in phpunit-bridge / debug tooling without noise in production. Deliberately not on capability advertisement: logging is always advertised, and a server should not warn because the client declared roots/sampling.
  • Docs banners on the Sampling / Logging / Roots sections of server-client-communication.md, mcp-elements.md and client.md.

Not included: the disableDeprecatedFeatures() opt-out floated in #365 — nothing in the spec asks for it and it is an independent feature if anyone needs it.

Everything remains fully functional until removal.

Closes #365

@chr-hertel chr-hertel added 2026-07-28 All issues and PRs related to the spec release 2026-07-28 improves spec compliance Improves consistency with other SDKs such as TyepScript labels Aug 17, 2026
@chr-hertel
chr-hertel force-pushed the deprecate-roots-sampling-logging branch from 2394348 to a1d01d6 Compare August 17, 2026 23:19
@chr-hertel
chr-hertel force-pushed the deprecate-roots-sampling-logging branch from a1d01d6 to 71da843 Compare August 17, 2026 23:20
@chr-hertel
chr-hertel merged commit 590afb5 into modelcontextprotocol:main Aug 17, 2026
23 checks passed
@chr-hertel
chr-hertel deleted the deprecate-roots-sampling-logging branch August 17, 2026 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2026-07-28 All issues and PRs related to the spec release 2026-07-28 improves spec compliance Improves consistency with other SDKs such as TyepScript

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant