A tool is a named function with a schema the agent can call at runtime; tools are what let the agent act on the world beyond producing text.
Picture someone solving a puzzle. They are sharp, but if all they can do is talk, they can only ever describe a solution. Now hand them a calculator, a phone, and a search bar. Suddenly they can compute, look things up, and call other people. They still do the thinking, but now the thinking turns into actions. A tool is one of those handheld helpers for an AI agent. Each tool has a label and instructions stuck on the front (the schema), so the agent knows what the tool is for and how to use it. When the agent decides it needs a particular tool, it asks for it by name, and the runtime actually picks it up and uses it. Tools are how an LLM stops being a clever talker and starts being an agent that does things.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
A tool is the simplest, most important word in the agent vocabulary, and it is the one that turns a chatbot into an agent. Without tools, an LLM can only produce text. With tools, the same model can read live data, run computations, change state, and chain actions together across many turns.
This deep dive walks through what a tool actually is at the API and protocol level, how the model learns about tools without being retrained, who actually runs the function when a tool is called, and what subtleties matter once you put tools into production. By the end, the line between the model's role and the tool layer's role should be clear enough that you can reason about any concrete agent system.
The anatomy of a tool
A tool is three things in one object: a name, a description, and a parameter schema. The name is a short identifier the model uses when it wants to call the tool, like search_web or run_python or send_email. The description is a natural-language explanation of what the tool does and when to use it. The parameter schema is a JSON-shaped spec listing every argument the tool accepts, with type, optionality, and constraints.
That is the entire interface. Across Anthropic, OpenAI, Google, and the Model Context Protocol standard, a tool definition is some flavor of these three fields. The model never sees the implementation, only the schema. This decoupling is what lets the same prompt-engineering pattern work across hundreds of completely different tools.
The description is the most underrated field. It is the model's only source of information about when the tool is appropriate. A tool described as query the database will be invoked at random; a tool described as fetch the most recent order for a customer by customer_id; do not use for historical analytics will be invoked correctly. Teams that ship agent products iterate on tool descriptions the same way they iterate on system prompts, because the description is the prompt for that capability.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- OpenAI function calling and Anthropic tool use both accept a JSON schema per tool and return structured tool_use blocks that your runtime executes.
- Anthropic's Model Context Protocol (MCP) exposes tools as discoverable server endpoints so Claude clients can plug into local file systems, databases, and APIs.
What an interviewer would ask next. Try answering before peeking at the approach.
QHow does the model actually pick which tool to call from a registry of twenty?
The model reads each tool's name and description in the system prompt and pattern-matches against the current state. Description quality is the main lever; teams iterate on tool descriptions the same way they iterate on prompts.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Thinking the LLM runs the tool itself. The model emits a structured request naming the tool and arguments; the runtime is what actually executes the function and feeds the result back.
60 second bullets to scan on the way to the call.
Define a tool in terms of name, description, and parameters.
Explain how the model learns about available tools through the prompt.
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.