BACK TO INTERVIEW BANK
tools-mcpmid

What is the difference between MCP and plain function calling?

Answer

They operate at different layers.

Function calling is the model level capability: given tool schemas, the model can emit a structured call. It is how the model expresses intent to use a tool, and it exists whether or not MCP is involved.

MCP is a protocol above that: how a tool provider and an agent discover each other, negotiate capabilities, and exchange calls and results over a transport. It defines the plumbing, not the model behaviour.

From the model's perspective there is no difference. Tools arriving over MCP are presented to it exactly like tools defined inline. MCP is invisible at that layer.

The benefit is portability and separation. Write an MCP server once, and any compliant client can use it. Without MCP, your tool integration is coupled to whichever agent framework you wrote it against.

When to skip MCP: if the tools are internal to your application, used only by your own agent, and never shared, direct function calling is simpler. A protocol, a subprocess, and a transport are overhead you do not need. MCP earns its cost when tools cross a boundary between separately maintained systems.

Common wrong answer

Saying MCP makes tool calling more reliable or more capable. It does not touch model behaviour. A badly described tool is equally badly chosen whether delivered over MCP or inline.

Another mistake is thinking you must pick one. A single agent routinely has some tools defined natively and others arriving over MCP, and the model handles them identically.

Likely follow-ups

  • When would you not use MCP?
  • Does MCP change what the model sees?