← All questions
AgentsMedium· Agent Fundamentals

What's the actual difference between tool calling, func...

The three terms describe the same underlying mechanism at increasing levels of standardization, and the distinction is worth being precise about because interviewers and specs use them inconsistently:

  • Function calling is the original term, tied to a specific vendor’s implementation: the model outputs structured JSON naming a function and its arguments, and the calling application executes it.
  • Tool calling is the framework-agnostic generalization of the same idea, covering not just named functions but any external capability — a database, a search engine, a code interpreter, a file system. Most modern frameworks use “tool” as the standard vocabulary rather than “function” specifically.
  • MCP is a further layer on top: a standardized protocol so that a tool built once works with any MCP-compatible model or framework, rather than needing bespoke integration code for every combination of model and tool.

The practical distinction: function calling is one vendor’s implementation detail, tool calling is the concept independent of vendor, and MCP is the interoperability standard that makes tool calling portable across vendors and frameworks without rewriting the integration each time.

Code playground (Python)