What is Elicitation (MCP)?

Elicitation is a Model Context Protocol feature that lets a server pause mid-operation to ask the user for specific structured input, rather than failing or guessing when it needs more information.

Elicitation is a capability added in the Model Context Protocol's 2025 revisions that lets a server request additional information from the user partway through handling a request. When a tool discovers it needs a value it was not given, a confirmation before a destructive action, a missing parameter, a choice between options, it sends an elicitation/create request describing what it needs, including a JSON Schema for the expected response. The client presents this to the user, collects the answer, and returns it so the server can continue. This turns what would otherwise be a dead end (error out, or hallucinate a value) into an interactive, well-typed exchange. Because the request flows through the client, the user stays in control: they can provide the data, decline, or cancel, and servers are expected to handle all three. Elicitation is deliberately scoped to gathering input and is not a channel for arbitrary prompting; the schema keeps responses structured and machine-checkable. Like sampling, it relies on client support negotiated during initialization, so servers should treat it as optional and have a fallback path.