MCP vs function calling: what is the difference?
Function calling is how a model asks to use a tool; MCP is a standard way to package and share those tools across apps.
Short answer
Function calling (tool use) is a model feature: the app describes functions in its API request and the model replies with a structured call. MCP is a protocol one layer up: it standardises how an app discovers and calls tools that live in a separate server, so the same tools work in Claude, Cursor, VS Code and others.
How they fit together
An MCP client lists the tools of its connected servers, passes them to the model as function definitions, and when the model calls one, forwards the call to the right MCP server. MCP does not replace function calling; it builds on it.
When to use which
- One app, a few in-house functions: plain function calling is enough.
- Tools you want to reuse across apps or share with others: wrap them in an MCP server.