# sampling/createMessage on the wire ## 1. client -> server (POST, answers arrive later on the same session) tools/call summarize_incident {"incidentId":"INC-1043"} ## 2. server -> client, on the SSE stream of that same POST { "jsonrpc": "2.0", "method": "sampling/createMessage", "id": "7899c995-7e19-45a9-8b27-a043acabe802-0", "params": { "messages": [ { "role": "user", "content": { "type": "text", "text": "Summarize this incident log:\n11:02:44 search-api WARN index segment merge running\n11:02:51 search-api INFO p99 latency 840ms (SLO 500ms)\n" } } ], "systemPrompt": "You are an SRE. Answer in two sentences, no preamble.", "includeContext": "none", "temperature": 0.2, "maxTokens": 120 } } ## 3. client -> server, a NEW POST carrying the answer (same id as the server's request) { "jsonrpc": "2.0", "id": "7899c995-7e19-45a9-8b27-a043acabe802-0", "result": { "role": "assistant", "content": { "type": "text", "text": "A segment merge pushed p99 to 840ms against a 500ms SLO." }, "model": "curl-model", "stopReason": "endTurn" } } ## 4. server -> client, the original tools/call finally completes { "jsonrpc": "2.0", "id": 7, "result": { "content": [ { "type": "text", "text": "A segment merge pushed p99 to 840ms against a 500ms SLO." } ], "isError": false } }