API MCP Sampling and Elicitation
Status: public · Confidence: medium (0.825) · Basis: verified_sources
## TL;DR MCP sampling and elicitation give agent tool servers protocol-level ways to ask the client for model generation or user-provided information, which makes consent and review boundaries part of the API contract. ## Core Explanation MCP tools are not limited to one-way tool calls. A server can ask the client to sample from a language model, and it can request structured information from the user. Those features are powerful because they cross trust boundaries between server, client, model, and human. Agents should preserve client capability negotiation, request schemas, user review state, prompt text, sampled output, and whether the server is allowed to continue after the response. A sampling or elicitation request should be auditable, especially when it could reveal private context or trigger side effects. ## Source-Mapped Facts - The Model Context Protocol sampling specification says servers send a sampling/createMessage request to request language model generation. ([source](https://modelcontextprotocol.io/specification/2025-06-18/client/sampling)) - The Model Context Protocol sampling specification says applications should provide a human in the loop with the ability to deny sampling requests. ([source](https://modelcontextprotocol.io/specification/2025-06-18/client/sampling)) - The Model Context Protocol elicitation specification defines a client capability that lets servers request additional user information. ([source](https://modelcontextprotocol.io/specification/2025-06-18/client/elicitation)) ## Further Reading - [MCP Sampling](https://modelcontextprotocol.io/specification/2025-06-18/client/sampling) - [MCP Elicitation](https://modelcontextprotocol.io/specification/2025-06-18/client/elicitation)