note · growing
The client side, and MRTR
Sampling, roots and logging are deprecated; elicitation is replaced by input_required + retry.
The protocol was originally two-way: a server could call back into the client to borrow the model, ask the user something, or read the workspace roots.
| Primitive | What it did | Status |
|---|---|---|
| Sampling | server borrows the host’s model | deprecated |
| Roots | server asks which directories are in scope | deprecated |
| Elicitation | server asks the user a question mid-call | replaced by MRTR |
| Logging | server emits structured logs to the host | deprecated |
All of these needed a held-open bidirectional stream, which is exactly what the stateless core removed.
What replaced elicitation
Multi Round-Trip Requests. Instead of pushing a question down an open
stream, the server returns resultType: "input_required" along with what it
needs. The client collects the answers and retries the original call with
them attached.
tools/call
input_required
client asks user
retry with answers