Elicitation
Elicitation is a Model Context Protocol method that lets an MCP server ask the person driving the agent for information or confirmation partway through a request. The server answers with an input request instead of a result, the client collects what is needed, then sends the original request again with the answer attached.
Why It Matters
Elicitation exists because an MCP server sometimes needs something the agent did not supply. A travel server may need a seat preference before it can finish a booking. A deployment server may want a confirmation before it touches production. Without elicitation the server can only fail the call or choose on the person's behalf.
An elicitation exchange takes two round trips rather than one held-open call. The client asks the server to run a tool. The server replies with an input request rather than a finished result, naming what it needs. The client puts that to the person, collects the answer and sends the original request a second time with the answer attached. Only then does the server return the real result. The pattern is called Multi Round-Trip Requests, and it exists because MCP carries no state between calls.
Elicitation has two modes. In form mode the server sends a schema, the client builds an input form from it and the answer travels back through the client. In URL mode the server sends a link the person opens themselves, so the answer never passes through the client at all. Where the answer travels is the whole distinction, which is why the MCP specification tells server authors to keep passwords, API keys and payment credentials out of form mode.
A client declares whether it supports elicitation, and not all of them do. An MCP server that depends on elicitation needs a defined answer for the client that never shows the request, because the alternative is a request that cannot finish.