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 Calling | Model Context Protocol | |
|---|---|---|
| What it is | A model capability | A client-server protocol |
| Where tools are defined | In each application's code | In MCP servers that any compliant client can connect to |
| Scope | Tools only | Tools, 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
- Anthropic (2024). Tool use with Claude.
- Patil et al. (2023). Gorilla: Large Language Model Connected with Massive APIs.
- Anthropic (2024). Introducing the Model Context Protocol.
- 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/