Function calling
When a language model emits a structured request to invoke a specific function (with typed arguments), rather than free-form text. The underpinning of tool use.
Function calling is the mechanism by which a language model asks an external system to execute a specific function with specific arguments. Instead of saying “to get the weather, you’d call a weather API…”, the model emits a structured JSON request like { "name": "get_weather", "arguments": { "city": "Melbourne" } }, and your code executes it.
This is the technical underpinning of what people loosely call “tool use” or “agentic behaviour.”
How it works
You define a list of functions in the prompt (name, description, input schema). Send the prompt + functions to the model. The model decides whether to:
- Respond with plain text, OR
- Emit a
tool_useblock (also called a function call) with the function name + arguments
If it’s a function call, your code:
- Receives the structured request
- Actually executes the function (calls the API, queries the DB, runs the script)
- Sends the result back to the model
- Model continues the conversation, often calling more functions
Repeat until the task is done.
What this means for Australian small business
Function calling is the bridge between the model and your business. Without it, AI can describe what you should do. With it, AI can actually do it (via tools you’ve granted).
Practical example: “Pull this month’s unpaid Xero invoices” becomes the model emitting a get_xero_invoices function call, your code (or an MCP server) actually hitting Xero, results coming back, model interpreting + replying.
Function calling vs MCP
MCP (Model Context Protocol) is a standardised wire format for function calling between AI clients and tool servers. So:
- Function calling = the underlying capability of the model
- MCP = the open protocol for exposing functions in a standardised way across AI clients
You can do function calling without MCP (define functions directly in your prompt, handle the execution in your code). You can also use MCP, which means the function definitions live in standalone servers that any MCP-aware AI client can use.
For production tool use in 2026: prefer MCP.
Related terms
Want this built for your business?
Book a free 30-minute AI audit. We'll map your business and show you exactly which systems we'd build first. No pitch deck, no scoping fee.
Book my free AI audit