Summary
Add a focused Multi Round-Trip Request (MRTR) exercise using MCP C# SDK 2.x so attendees can learn how a stateless tool requests user input before a consequential action.
Follow-up to #616 and complementary to the optional stateless HTTP lab. MRTR was deliberately deferred during the 2.2.0 migration because the current read-only tools do not justify the interaction complexity.
Proposed scenario
Extend the optional Part 6 business server with a consequential operation such as cancelling an order or approving a return. The tool should request confirmation and an optional reason before making the simulated change.
Required behavior
- Input supplied up front succeeds without a round trip.
InputRequiredException requests elicitation with opaque requestState.
- Accepted input completes the action.
- Declined or cancelled input leaves state unchanged.
- A down-level stateless client receives actionable guidance and can resubmit required input directly.
- A compatible SDK client handles the
input_required response and retry automatically.
Acceptance criteria
References
Summary
Add a focused Multi Round-Trip Request (MRTR) exercise using MCP C# SDK 2.x so attendees can learn how a stateless tool requests user input before a consequential action.
Follow-up to #616 and complementary to the optional stateless HTTP lab. MRTR was deliberately deferred during the 2.2.0 migration because the current read-only tools do not justify the interaction complexity.
Proposed scenario
Extend the optional Part 6 business server with a consequential operation such as cancelling an order or approving a return. The tool should request confirmation and an optional reason before making the simulated change.
Required behavior
InputRequiredExceptionrequests elicitation with opaquerequestState.input_requiredresponse and retry automatically.Acceptance criteria
requestStatecontains no secret or trusted client-supplied state.References