C.W.K.
Stream
Lesson 01 of 04 · published

MCP vs Function Calling vs REST

~22 min · comparison, mcp, function-calling, rest

Level 0Curious Reader
0 XP0/48 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

Three things that look related but answer different questions. Get the difference clear once and you stop having "should we use MCP for this?" arguments that go in circles.

  • Function calling is a feature of a single LLM API. It defines the wire shape between your code and your model provider. The provider knows your tools because you sent them in the request; nobody else sees them. It is intra-application plumbing.
  • MCP is a protocol that lets any client reuse any server. The contract is between independently built hosts and servers. The server's tools are visible to whichever clients connect; the protocol governs the connection, not the model. It is inter-application plumbing.
  • REST/OpenAPI is the classic web API contract. It defines resources, methods, and status codes for arbitrary HTTP clients. It does not care that an LLM is at one end; it has cared about correctness since long before LLMs existed. It is general-purpose plumbing.

The decision tree, briefly: building inside one app, with one model? Function calling. Building a tool you want many AI products to reuse? MCP. Building a public API that any client (browser, mobile, integrations, AI agents) might consume? REST/OpenAPI. The three layers stack: an MCP server's tools often wrap REST APIs internally; an LLM consumes the MCP server's tools through its provider's function-calling shape. Each layer earns its keep.

Code

Three layers stacking — concrete example·text
User → Claude Desktop (host)
     → Anthropic Messages API (function-calling envelope)
     → MCP client → MCP server  (protocol contract)
                  → calls Stripe REST API   (REST contract)

The function-calling layer carries the model's tool calls.
The MCP layer carries the host↔server protocol.
The REST layer carries the HTTP request to the upstream service.

External links

Exercise

Pick three integrations you want to build (or have already built). For each, walk the decision tree and decide which contract is right. Notice the cases where two stack — those are usually the most powerful integrations, not duplications.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.