An existing server uses sampling with a tools array so the client's model can run a short agent loop. The team is updating the server for revision 2026-07-28. Which statement is accurate?
Select an answer to reveal the explanation.
Short Explanation
Deprecated isn't the same as deleted. Sampling still runs for at least a year, but you should be packing your bags for a direct LLM API. And if your request carries tools, the client has to say sampling.tools first, or you don't send it.
Full Explanation
Revision 2026-07-28 deprecates Sampling under the feature lifecycle policy. A deprecated feature stays in the specification for at least twelve months and becomes eligible for removal no earlier than the first revision released on or after 2027-07-28. New implementations should not adopt it, and existing ones should migrate to integrating directly with LLM provider APIs. While it remains, tool use inside sampling has its own gate: clients must declare sampling.tools to receive tool-enabled requests, and servers must not send them to clients that have not. Claiming sampling was removed fails because deprecation keeps it working during the transition; nothing has moved to the removed list yet. Sending tool-enabled requests to any sampling-capable client fails because the tools sub-capability is a separate, mandatory declaration. Treating sampling as current and server-initiated fails twice: it is deprecated, and in this revision servers never send JSON-RPC requests; a sampling/createMessage request travels inside an InputRequiredResult and the client returns its result on the retried call. Exam caveat: includeContext values thisServer and allServers are deprecated too and go no later than sampling itself. Operational check: confirm the server checks for sampling.tools before including tools, and record a migration plan to a direct model API.