Concept Library
Fundamentals

What is Tool Use?

Illustration of tool use: a model calling external tools such as search, a calculator, and other software.

Tool use, also called function calling, is the ability of an AI model to reach beyond text and use external tools: to look something up, run a calculation, call another piece of software, or take an action in the world. It is what turns a model that can only talk into one that can also do.

Without tools, a model is sealed off from everything outside its own training. Tool use is the opening in that wall, and it is the foundation of nearly every AI system that does real work.

The problem it solves

A model on its own has two hard limits. It only knows what it learned in training, so it cannot tell you today’s weather, this customer’s order status, or the current price of anything. And it can only produce text, so it cannot actually send the email, book the meeting, or update the record, no matter how clearly it describes doing so.

Tool use removes both limits at once. Give the model a set of tools, a weather lookup, a database query, an email sender, and it can pull in live information and take real actions as part of answering. The model stops being a closed box of frozen knowledge and becomes something that can interact with the live world.

How it works

There is one detail that everyone misunderstands at first, and getting it right is the whole concept: the model does not run the tools itself.

Here is the actual sequence. The model is given a set of tool definitions, each describing what a tool does and what inputs it needs. When a request would benefit from a tool, the model does not execute anything; it outputs a structured message that says, in effect, “call this tool with these arguments.” The surrounding application code receives that, runs the tool for real, and feeds the result back to the model. The model then uses that result to write its final answer.

So the division of labor is clean. The model decides which tool to use and with what inputs. The application executes the tool and returns the outcome. The model reasons; your code acts. This matters because it is also where safety lives: the model can request an action, but what actually runs, and whether it is allowed, is controlled in code, not left to the model.

Tool descriptions carry a lot of weight. A tool with a clear description of what it does and when to use it gets chosen correctly; a vague one gets misused. And there is a limit worth knowing: pile on too many tools and the model gets worse at picking the right one, which is why well-designed systems keep each part’s tool set small and focused.

A concrete example

Ask a plain model “is the meeting room free at 3pm tomorrow?” and it can only guess, because it has no access to the calendar.

Give it a calendar tool and the interaction changes. The model recognizes it needs live data, and outputs a request to check availability for that room and time. The application runs the real calendar query and hands back the answer, “booked until 4pm.” The model turns that into a natural reply and can even go a step further, offering to request a different slot by calling a booking tool. The model never touched the calendar directly; it decided what to check, and the code did the checking.

How it connects

Tool use is the single capability that makes an agent possible: an agent is essentially a model using tools in a loop, deciding, acting, reading the result, and deciding again, until a task is done. That repeating cycle is the tool-use loop. As tool use became central, a standard emerged for connecting models to tools cleanly, the Model Context Protocol (MCP), so a tool built once can be used by many systems.

It sits at the heart of the technical roles. An AI/LLM Developer defines and wires up tools; an AI Solutions Architect decides what a system should be allowed to do and how to keep it safe; an AI Product Manager imagines what becomes possible once a product can act, not just answer.