A new server design relies on MCP sampling. What should you check first?
Why A is the answer
The current spec, which marks sampling as deprecated
The official docs mark sampling as deprecated as of protocol version 2026-07-28 and tell new implementations to integrate with LLM provider APIs directly.
In detail
- The official docs mark sampling as deprecated as of protocol version 2026-07-28.
- They tell new implementations to integrate with LLM provider APIs directly.
- Check the current spec first, because a new design should not depend on a deprecated feature.
- Protocol features change, so check the current spec for any new design.
Use case
An illustrative scenario, not a real incident.
A team plans a server that asks the client for model completions through sampling. A check of the current spec shows it is deprecated as of protocol 2026-07-28, so they call an LLM provider's API directly.
See it in different ways
flowchart LR H["Host"] --> C1["Client 1"] --> S1["Server 1"] H --> C2["Client 2"] --> S2["Server 2"] H --> C3["Client 3"] --> S3["Server 3"]
flowchart TD
Q{"Is the feature current in the spec?"}
Q -->|"Yes"| A0["Build on it"]
Q -->|"Deprecated"| A1["Use the recommended alternative"]Key point: Check the spec before you build on a protocol feature.
Why the other options are wrong
- B. Whether the host can show the sampling prompts in its own interface
- This asks about a host's interface before the bigger question of whether to use sampling.
- C. Whether every tool has an output schema defined for its sampling step
- Output schemas describe tool results. They have no bearing on sampling's status.
- D. Whether stdio transport has been turned off for that server
- Transport choice has nothing to do with whether sampling should be used at all.

