Sampling changedspecification/2025-11-25/client/sampling
Nearest release: v2.1.305, published under an hour before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 20 Oct 2026 20:02 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 20 Oct 2026 20:07 UTC.
Upstream edited
Recorded here
Lines+17added
Lines−19removed
From line
1
where the diff opens
First seen
26 Aug 2026
this site's first read of the page
Recorded edits2to this page, all time
The whole hunk
from line 1, old and new numbered
/
from line 1
11# Sampling
22
3<div id="enable-section-numbers" />
4
53The Model Context Protocol (MCP) provides a standardized way for servers to request LLM
64sampling ("completions" or "generations") from language models via clients. This flow
75allows clients to maintain control over model access, selection, and permissions while
from line 16
1816their needs—the protocol itself does not mandate any specific user interaction
1917model.
2018
21<Warning>
22 For trust & safety and security, there **SHOULD** always
23 be a human in the loop with the ability to deny sampling requests.
19> [!WARNING]
20>
21> For trust & safety and security, there **SHOULD** always
22> be a human in the loop with the ability to deny sampling requests.
23>
24> Applications **SHOULD**:
25>
26> * Provide UI that makes it easy and intuitive to review sampling requests
27> * Allow users to view and edit prompts before sending
28> * Present generated responses for review before delivery
2429
25 Applications **SHOULD**:
26
27 * Provide UI that makes it easy and intuitive to review sampling requests
28 * Allow users to view and edit prompts before sending
29 * Present generated responses for review before delivery
30</Warning>
31
3230## Tools in Sampling
3331
3432Servers can request that the client's LLM use tools during sampling by providing a `tools` array and optional `toolChoice` configuration in their sampling requests. This enables servers to implement agentic behaviors where the LLM can call tools, receive results, and continue the conversation - all within a single sampling request flow.
from line 72
7472}
7573```
7674
77<Note>
78 The `includeContext` parameter values `"thisServer"` and `"allServers"` are
79 soft-deprecated. Servers **SHOULD** avoid using these values (e.g. can just
80 omit `includeContext` since it defaults to `"none"`), and **SHOULD NOT** use
81 them unless the client declares `sampling.context` capability. These values
82 may be removed in future spec releases.
83</Note>
75> [!NOTE]
76>
77> The `includeContext` parameter values `"thisServer"` and `"allServers"` are
78> soft-deprecated. Servers **SHOULD** avoid using these values (e.g. can just
79> omit `includeContext` since it defaults to `"none"`), and **SHOULD NOT** use
80> them unless the client declares `sampling.context` capability. These values
81> may be removed in future spec releases.
8482
8583## Protocol Messages
8684
No line in this hunk matches that.