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 callingMCP
What it isa model capabilitya wire protocol
Who defines the toolsyour app, in your codea server, at runtime
Discoverynone — you hardcode the listtools/list
Reuse across appsno, copy the codeyes, point at the server
Transportnone, it is in-processstdio 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?

#function-calling #comparison

See this note on the whiteboard →