protologue

Function Calling vs Model Context Protocol

Function calling is the model capability of emitting a structured request to run a tool, which the application executes. The Model Context Protocol is an open standard for how applications expose tools, data and prompt templates to model clients, so one server can work with any compliant client; the tools it exposes are still invoked through function calling.

Definitions

Function Calling PTL-0060
Function calling, or tool use, is a model capability in which the model outputs a structured request to invoke a developer-defined function with arguments, which the application executes and returns as a result to the model.
Model Context Protocol PTL-0061
The Model Context Protocol (MCP) is an open standard, introduced by Anthropic in 2024, that defines how applications expose tools, data resources, and prompt templates to language-model clients through a common client-server interface.

Differences

Function CallingModel Context Protocol
What it isA model capabilityA client-server protocol
Where tools are definedIn each application's codeIn MCP servers that any compliant client can connect to
ScopeTools onlyTools, data resources and prompt templates

Which to use

  • Define tools directly for a single application with a few custom functions.
  • Use MCP to reuse integrations across applications or to offer your service to many AI clients.

Sources

  1. Anthropic (2024). Tool use with Claude.
  2. Patil et al. (2023). Gorilla: Large Language Model Connected with Massive APIs.
  3. Anthropic (2024). Introducing the Model Context Protocol.
  4. Model Context Protocol (2026). Specification (version 2026-07-28).

Cite this page

Protologue. (2026). Function Calling vs Model Context Protocol. In Protologue: A Taxonomy of Prompting and LLM Techniques (v1.4.0). https://protologue.com/compare/function-calling-vs-model-context-protocol/

Markdown