note · growing
MCP vs function calling
MCP does not replace function calling — it answers where the tool list came from.
A common confusion: MCP does not replace function calling. It sits above it.
| Function calling | MCP | |
|---|---|---|
| What it is | a model capability | a wire protocol |
| Who defines the tools | your app, in your code | a server, at runtime |
| Discovery | none — you hardcode the list | tools/list |
| Reuse across apps | no, copy the code | yes, point at the server |
| Transport | none, it is in-process | stdio or HTTP |
Rendering diagram…
The model still emits a tool call the same way it always did. MCP answers the question one level up: where did that list of tools come from, and who else can use it?