Lesson 2 / 31
MCP, A2A and Function Calling: Who Does What
Place each mechanism correctly in the stack.
Three different layers
Function (tool) calling is a feature of a model API: you describe functions and the model can ask you to call them. It lives inside one application. MCP (Model Context Protocol) standardises how an AI application discovers and uses tools, resources (data) and prompts exposed by external servers, so the same tool server works with many hosts. A2A (Agent2Agent protocol) standardises how independent agents, possibly built by different teams or vendors on different frameworks, discover each other, delegate tasks and exchange results without sharing their internals. Rule of thumb: MCP is vertical (agent to tools and data), A2A is horizontal (agent to agent). They complement each other, and details of both specifications continue to evolve, so consult the current official documentation.
The stack
Where each piece sits.
user
|
[ Host application / agent ] <---- A2A ----> [ another agent ]
| | (own tools, own model,
MCP client MCP client own framework)
| |
MCP server MCP server
(orders DB) (calendar)
function calling = how the model inside the host asks for a tool call
MCP = how the host reaches external tools/data
A2A = how agents delegate work to each otherQuick check: Which statement is correct?
- MCP connects an agent to tools and data; A2A connects agents to agents
- A2A connects an agent to a database; MCP connects two models
- They are the same protocol
- Both replace the LLM
Answer
MCP connects an agent to tools and data; A2A connects agents to agents — MCP is vertical integration; A2A is horizontal collaboration.