Complete the key fields in a tools/list tool object and a tools/call request
Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
A tools/list tool carries name, description, and inputSchema; a tools/call request sends name plus arguments and gets back a content array with optional isError.
Think of a restaurant menu. Each dish has a name, a short description so you know what it is, and a list of choices you can customize, like spice level or sides. That menu is what tools/list returns: every tool's name, its description, and its inputSchema describing valid options. When you order, you don't recite the whole menu. You just say the dish name plus your choices, which is exactly what tools/call sends: name and arguments. The kitchen then hands back your plate, the content array, and if something went wrong it tells you, the isError flag. The menu lets you browse; the order form lets you act.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
4 min: discovery vs invocation split, the three list fields, the two call fields, the content array result, and the isError versus JSON-RPC error contract.
| Aspect | tools/list | tools/call |
|---|---|---|
| Direction | Host asks, server answers | Host invokes, server runs |
| Key fields | name, description, inputSchema | name, arguments |
| Returns | Array of tool descriptors | content array (+ optional isError) |
| When called | Once at discovery time | Every time the model picks a tool |
| Failure signal | JSON-RPC error if not supported | isError true inside the result |
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Confusing the list shape with the call shape. tools/list returns descriptors; tools/call sends only name plus arguments, then receives a content array.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.