Large language models are text-in, text-out systems. Tool use (also called function calling) extends this by allowing the model to emit a structured call to a predefined function — a web search, a database query, a calculation, or an API request — and then incorporate the result into its response. The model decides when to call a tool based on the user's query and the tool descriptions it has been given.
Tool use transforms an LLM from a static knowledge store into an active agent. A model equipped with a web scraping tool can fetch the current price of a product rather than guessing from training data. A model with a code execution tool can run calculations rather than approximating them in text. Chaining multiple tool calls allows complex multi-step reasoning.
AI platforms expose tool use through API schemas (OpenAI's `tools` parameter, Anthropic's `tools` block) or via protocols like MCP. Each tool is described by a name, description, and JSON Schema for its parameters. The model's output may include a `tool_use` block; the calling application executes the tool and passes results back in the next turn.