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.

PrimitiveWhat it didStatus
Samplingserver borrows the host’s modeldeprecated
Rootsserver asks which directories are in scopedeprecated
Elicitationserver asks the user a question mid-callreplaced by MRTR
Loggingserver emits structured logs to the hostdeprecated

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.

input_required, then retry
tools/call
input_required
client asks user
retry with answers
#elicitation #mrtr #deprecated

See this note on the whiteboard →