LSD
▌ GlossaryGlossary / Tool Calling

Tool Calling

Also: Function Calling · Tool Invocation

Tool calling (also called function calling) is the LLM capability that allows agents to invoke external functions, APIs, or services during reasoning. Instead of just generating text, the LLM decides that a tool is needed, selects which one, fills in the required arguments, and executes it. The result is returned to the LLM, which interprets it and continues reasoning or calls another tool. Tool calling is the core mechanic that transforms LLMs from answering machines into autonomous agents.

AI Agents / MCP · 4 min read

What Tool Calling Enables

Before tool calling, LLMs were text-in, text-out. They could answer questions, summarize documents, and generate content, but they couldn't act on the world. If you asked an LLM "What is the NAP consistency for Acme Plumbing in Denver?" it couldn't call an API. It could only say "I don't have that information" or generate a made-up answer.

Tool calling changes this. An LLM with access to a tool can reason: "To answer this question, I need to call the Citation Audit API with the business name and location. Let me do that." It calls the API, gets back structured data (company name, phone, address across 15 directories), and interprets the result. If NAP inconsistencies are found, it can chain another tool — maybe pulling the business profile or checking competitor citations — and synthesize findings into a report.

This is what makes agents autonomous. Tool calling is the bridge between reasoning and action. Without it, an LLM is just a language model. With it, an LLM becomes a functional agent that can audit, analyze, retrieve data, and modify systems.

How Tool Calling Works

Tool calling follows a structured exchange. The LLM is given:

1. A list of available tools — Each tool has a name, description, and input schema (what arguments it accepts). For example, the Citation Audit API is described as "Audit NAP consistency across Google Business Profile, Yelp, BBB, Yellow Pages, and other directories." The schema specifies it accepts business_name (string) and location (string, city + state).

2. A user prompt — "Audit NAP consistency for [business] in [location]."

The LLM processes the prompt and decides: "I need to call the Citation Audit tool with these arguments." It returns a structured response saying "call this tool with these args." The system executes the tool, gets the result, and returns it to the LLM.

The LLM then either: (a) Answers the user's question using the result, (b) Calls another tool if more information is needed, or (c) Clarifies that it can't answer with available tools.

Critically, the LLM doesn't write code or construct HTTP requests. It doesn't need to know how the API works. It just says "I need Citation Audit called" and the system handles the rest. This abstraction is why tool calling works at scale — new tools can be added and the LLM instantly knows how to use them without retraining.

Tool Calling in Agent Workflows

In agent workflows, tool calling is constant. An agent running an audit might:

1. Call the Business Profile API to fetch current NAP data. 2. Call the Citation Audit API to check directory consistency. 3. Call the Google Reviews API to assess review sentiment. 4. Call the Competitor Gap API to analyze competitor advantages. 5. Call the Search Volume API to identify keyword opportunities. 6. Generate a final recommendation and write it to a database.

Each step is a tool call. The agent reasons between calls — if NAP is inconsistent, the agent might prioritize citation cleaning over keyword research. If reviews are mostly negative, the agent might suggest reputation management before SEO work.

Tool calling also enables error recovery. If a tool call fails (timeout, invalid arguments, API error), the LLM can reason about the failure and retry or try a different approach. If the Citation Audit tool is unavailable, the agent might fall back to scraping directories manually. This resilience is why agents are more solid than fixed scripts.

Tool Calling in Production

In production, tool calling requires several components: First, the LLM (Claude, GPT-4, Llama) must support tool calling — most modern models do. Second, the tools must be defined with clear names, descriptions, and schemas so the LLM knows what each tool does and what arguments it accepts. This is often done via JSON schema or frameworks like MCP (Model Context Protocol).

Third, the runtime must handle the tool call lifecycle: receive the LLM's decision, validate arguments against the schema, execute the tool (call the API, fetch from database, run a script), handle errors, and return the result to the LLM. Most agent frameworks (Claude API, OpenAI, LangChain, OpenClaw) handle this automatically.

Fourth, authentication and rate limiting must be in place. Tools often require API keys; these must be securely scoped to the specific tools an agent needs. Rate limits prevent abuse and control costs. Tool calls are metered — each call to a paid API counts against your budget.

Finally, observability is critical. Logs should capture: which tools were called, with what arguments, what the result was, and how the LLM interpreted it. This helps debug agent failures and understand why an agent made a decision.

FAQ

How is tool calling different from a regular API call?+
A regular API call is manual — the developer writes code, constructs the request, and handles the response. Tool calling is automatic — the LLM decides when to call the API, what arguments to pass, and how to interpret the result. The developer defines what tools are available; the LLM figures out which ones to use and in what order.
Does the LLM need to know how the API works?+
No. The LLM only needs to know the tool's name, description, and input schema. You provide this via tool definitions (JSON schema). The LLM reads "Citation Audit API accepts business_name and location" and decides whether to call it. The LLM doesn't need to know the URL, HTTP method, headers, or response format — the system handles that.
What happens if the LLM calls a tool with wrong arguments?+
The tool definition (schema) validates the arguments before execution. If arguments don't match the schema, the system returns an error message to the LLM: "Location must be in 'City, State' format." The LLM reads the error, corrects the arguments, and retries. This validation loop prevents malformed API calls.
Can an LLM refuse to call a tool?+
Yes. The LLM can decide that a tool isn't needed or isn't appropriate for the task. If the user asks "What is the weather in Denver?" and the agent has no weather tool, it says "I don't have access to real-time weather data." LLMs also make judgment calls about tool appropriateness — they won't call a Delete Database tool without explicit user approval.
Is tool calling the same as MCP?+
No, but they're related. Tool calling is the LLM capability — the ability to invoke functions. MCP is a protocol that standardizes how tools are discovered and described. MCP makes tool calling simpler by defining a universal format for tool definitions so agents don't need custom integration code per tool.

Want this at API scale?

All 40+ endpoints support tool calling. Connect via Claude Desktop, Claude API, or any agent framework.

See Local SEO Data API