AISuffer
agents

Tool Use

An LLM's ability to call external functions, APIs, or services to gather information or take action, the mechanism that turns a model into an agent.

What Is Tool Use

Tool use is the capability that lets an LLM call external code — a function, API, database query, or service — and incorporate the result into its response. It’s the mechanism that turns a passive chat model into an active agent. Use the term as the umbrella concept; “function calling” is the specific protocol most providers ship to implement it.

How It Works

  • Tool definitions — you give the model a JSON-schema description of each available tool (name, description, parameter types)
  • Decision — the model decides whether and which tool to call based on the user’s request, returning a structured tool-call object
  • Execution — your application code runs the tool and returns the result back to the model
  • Continuation — the model uses the result to produce its next response (or another tool call)

Tool use is the runtime substrate; ReAct is the loop pattern that uses it; MCP is the protocol that standardizes which tools are available across applications.

Why It Matters

Without tool use, an LLM is limited to what’s in its weights and its current context window. With tool use, the same model can read files, query databases, browse the web, send emails, deploy code, or call any other API. Every meaningful agent product in 2026 — Claude Code, Cursor, Perplexity, Operator, Replit Agent — is built on tool use as the core primitive.

Examples

  • Anthropic Claudetool_use content blocks, the most permissive tool-calling spec
  • OpenAI GPT-5tools parameter on the Responses API, parallel tool calls supported
  • Google Geminifunction_declarations on the generateContent API
  • MCP servers — standardized tool catalogs (filesystem, GitHub, Postgres) that any MCP-compatible client can use without provider-specific glue