Skip to content

MCP tools

Tool calls in the stream and in traces

How tool calls show up: tool_call and tool_result SSE events, the Playground, and the tool.execute spans in Tracing.

Reference1 min readUpdated 23 October 2026

Every tool call an agent makes is visible three ways: in the API's event stream as it happens, beside the reply in the Playground, and in the request's trace.

In the stream

POST /v1/chat/stream sends a tool_call event when the agent calls a tool and a tool_result event with what came back, then carries on with delta events for the answer.

Server-sent events
data: {"type": "tool_call", "id": "call_1", "name": "get_order",       "input": {"order_id": "10482"}}data: {"type": "tool_result", "id": "call_1", "name": "get_order",       "output": "{\"status\": \"shipped\", \"eta\": \"2026-10-27\"}"}data: {"type": "delta", "content": "Your order shipped and should arrive on 27 October."}
EventFields
tool_callid (pairs the call with its result), name, input (the arguments the model chose)
tool_resultid, name, output (the full output; the model itself sees at most 2,500 characters)
Showing tool activity in your app
for (const e of events) {  if (!e.startsWith("data: ")) continue  const event = JSON.parse(e.slice(6))  if (event.type === "tool_call") console.log("calling", event.name, event.input)  if (event.type === "tool_result") console.log("result of", event.name, event.output.length, "chars")  if (event.type === "delta") process.stdout.write(event.content)}

Full event list: Streaming events.

In the Playground

Each Playground reply lists the tools it called. The details panel's Tools tab shows the agent's MCP tools and their parameters, and Log shows each call.

In Tracing

SpanWhat it records
mcp.discoveryLoading the agent's MCP servers and tools: mcp.servers.count, mcp.tools.count
agentic.round[n]One round of the model deciding, calling tools and answering
tool.executeOne tool call: gen_ai.tool.name, gen_ai.tool.call.id, agentic.round, tool.source (mcp, rag or dedup), tool.success, tool.output.length, plus the input and output as span events with personal details redacted

Filter the Tracing list by has tools to find replies that used them. See Trace reference.

Still stuck?

Email us with what you tried and any request id. A person replies.

support@sentientone.ai