A client developer starting a new implementation for revision 2026-07-28 wants to offer servers only those client features that are not deprecated. Which client feature fits?
Select an answer to reveal the explanation.
Short Explanation
In 2026-07-28 the client-feature lineup got trimmed: elicitation stays active, while sampling and roots carry a deprecation sticker. If you're building fresh, you want the one without the sticker. The roots-notification option is worse still — it was removed outright.
Full Explanation
Revision 2026-07-28 lists elicitation as the client feature servers may use: it lets a server request additional information from the user, in form mode for structured, non-sensitive data or in URL mode for interactions such as third-party authorization. Elicitation requests reach the client inside an InputRequiredResult under the multi round-trip requests pattern, and the client retries the original request with inputResponses. Sampling is deprecated in this revision, with a migration path of integrating directly with LLM provider APIs; it still works but new implementations should not adopt it. Roots is also deprecated, and its migration path is passing directories or files through tool parameters, resource URIs or server configuration; roots were always informational rather than access control. The roots list-change notification has been removed from this revision, so it is not merely deprecated but unavailable to a new client. Exam caveat: deprecated features remain in the specification and work until they become eligible for removal in the first revision released on or after 2027-07-28, so existing deployments are not immediately broken. Operational check: confirm the client's io.modelcontextprotocol/clientCapabilities declares elicitation and that new code paths do not depend on sampling or roots.