Glen

Join the waitlist

We onboard teams in waves. Leave your work email and we'll send your invite when your spot opens.

What is function calling?

Function calling is the model-API feature that lets a language model return a structured request to invoke a named function with JSON arguments, instead of plain text; it is the foundation tool calling builds on.

Function calling is the capability, introduced at the model-API level, that lets a language model output a structured intent to call a function rather than only free-form text. You describe a set of functions with names, descriptions, and JSON Schemas for their parameters; the model, when appropriate, responds with the function name and a JSON arguments object that your code then executes. This was the breakthrough that turned chat models into reliable tool users, because the output is machine-parseable instead of prose you have to scrape. Function calling and tool calling describe the same underlying mechanism, the terminology shifted as the ecosystem matured: providers increasingly say tool use or tool calling, and that is the language the Model Context Protocol adopts. The relationship to MCP is direct: MCP servers expose tools, the host hands their schemas to the model as callable functions, and when the model emits a call the host routes it to the right server. So function calling is the model-side primitive, and MCP is the standard that supplies and connects the functions at scale.