go-sdk/mcp/testdata/conformance/server/mrtr.txtar
2026-07-13 11:49:15 +02:00

82 lines
1.9 KiB
Text

Check the multi-round-trip request pattern under protocol version
2026-07-28. The server's tool handler returns an
InputRequiredResult on the first call, requesting elicitation input from the
client and providing an opaque RequestState token. The client fulfills the
input request and retries the tool call with the responses and the echoed
RequestState; the handler then returns the final result.
-- tools --
confirmThenGreet
-- client --
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": { "name": "ExampleClient", "version": "1.0.0" },
"io.modelcontextprotocol/clientCapabilities": { "elicitation": {} }
},
"name": "confirmThenGreet",
"arguments": {}
}
}
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": { "name": "ExampleClient", "version": "1.0.0" },
"io.modelcontextprotocol/clientCapabilities": { "elicitation": {} }
},
"name": "confirmThenGreet",
"arguments": {},
"requestState": "step=1",
"inputResponses": {
"who": { "action": "accept", "content": { "name": "MCP Go" } }
}
}
}
-- server --
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": null,
"requestState": "step=1",
"resultType": "input_required",
"inputRequests": {
"who": {
"method": "elicitation/create",
"params": {
"mode": "form",
"message": "What is your name?",
"requestedSchema": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "hello MCP Go"
}
],
"resultType": "complete"
}
}