Menu

AI

MCP vs A2A vs Function Calling: How They Fit Together

MCP, A2A and function calling are not rivals. Learn what each one does, how they stack together, and which your AI project actually needs, in plain English.

By: Irina ShvayaOctober 28, 2026

MCP vs A2A vs Function Calling: How They Fit Together

This article is part of our MCP Guide: what the Model Context Protocol is, how to use it safely, and how to choose servers, tools and help. Want a second opinion on your setup? Request a free MCP readiness review.

MCP, A2A and function calling are not competing choices. They solve three different problems. Function calling lets one AI model ask your code to run a specific action. MCP (Model Context Protocol) gives any AI app a standard way to connect to tools and data. A2A (Agent2Agent) lets separate AI agents talk to each other.

Most real projects use more than one. A single agent might use function calling inside its own app, reach company systems through MCP, and hand work to a partner's agent through A2A.

This guide explains each layer in plain English, shows how they fit, and helps you decide what your project needs right now. Everything here was checked against the official docs on 28 October 2026.

Key Takeaways

  • Function calling is a feature of a model's API: the model asks for an action, and your own code runs it.
  • MCP is an open protocol that packages tools and data once so many AI apps can use them.
  • A2A is an open protocol for agents built by different teams or companies to discover each other and share work.
  • The A2A project itself describes MCP as "agent-to-tool" and A2A as "agent-to-agent," and calls them complementary.
  • Both MCP and A2A are now hosted by the Agentic AI Foundation under the Linux Foundation.
  • Most small and mid-size businesses need function calling or MCP first; A2A matters once you run several agents that must cooperate.

The short version

Think of an AI agent as a new employee.

  • Function calling is the employee's own desk phone. It works inside one app, wired by that app's developer.
  • MCP is the company's standard plug for every tool. Build a connector once, and any MCP-compatible assistant can use it.
  • A2A is how that employee talks to a colleague in another department, or at another company, and hands off a job.
Function callingMCPA2A
What it connectsOne model to the functions in one appAny AI app to tools, data and promptsOne agent to another agent
Who defines itEach model provider (OpenAI, Anthropic, others)Open spec at modelcontextprotocol.ioOpen spec at a2a-protocol.org
Where the code runsIn your applicationIn an MCP server you or a vendor runInside each remote agent
Reuse across AI appsLow; you rewire per appHigh; one server, many clientsHigh; any A2A client can call
Typical job"Look up this order""Give every AI app our team uses access to the CRM""Ask the supplier's agent if the part is in stock"
Long-running workUsually one round tripTool calls, plus extensions such as TasksBuilt around tasks with IDs and status updates

What function calling is

Function calling (also called tool calling or tool use) is a feature built into a model provider's API. You describe a function with a name, a description and a JSON schema for its inputs. The model decides when to use it and replies with a structured request.

The key point: the model does not run anything. OpenAI's function calling guide says the definition lets the model "pass data to your application, where your code can access data or take actions suggested by the model." Your code runs the function and sends the result back.

Anthropic's tool use docs describe the same loop for Claude. Claude returns a tool_use block, your code does the work, and you send back a tool_result. Anthropic also runs some "server tools," such as web search, on its own infrastructure.

Where function calling shines

  • You are building one app on one model provider.
  • You have a handful of actions, such as "check stock" or "create a ticket."
  • You want full control over every line of code that runs.

Where it gets painful

Each provider has its own format. If you want the same actions in Claude, ChatGPT and an internal tool, you wire them three times. That repeated wiring is the problem MCP was created to solve.

What MCP adds on top

MCP is an open protocol for connecting AI applications to outside systems. A tool is defined once in an MCP server. Any MCP client can then discover and use it. See which AI apps support MCP for the current list. For a fuller walkthrough, see how MCP works.

MCP does not replace function calling. Under the hood, the AI app still turns MCP tools into tool calls for its model. MCP standardizes the layer between the app and your systems, so you stop rebuilding it per app.

An MCP server can offer three kinds of things, per the MCP specification (version 2026-07-28):

  • Tools: actions the model can call, such as "search invoices."
  • Resources: data the app can read, such as a file or a record.
  • Prompts: reusable templates a user can pick.

Both big model APIs now reach MCP servers too. Anthropic lists an "MCP connector" among its server tools. OpenAI lists MCP server access among the built-in tools in its function calling guide.

If you are comparing MCP to a regular REST API, read MCP vs API. The short answer is that MCP usually wraps your existing APIs rather than replacing them.

What A2A adds on top

A2A (Agent2Agent) is an open protocol for agents to work with other agents. The A2A project site defines a few core pieces:

  • Agent Card: a JSON "business card" that tells others what the agent can do and how to connect securely.
  • Task: a unit of work with its own ID and lifecycle, built for jobs that take time or several turns.
  • Message and Artifact: the back-and-forth conversation, and the finished outputs such as a document or data file.

A2A treats each remote agent as an "opaque" black box. You do not see its tools, memory or internal logic. You only see what it agrees to do. That is a good fit when the other agent belongs to a vendor or partner.

A2A was first developed by Google and donated to the Linux Foundation. On 17 August 2026, the Agentic AI Foundation announced that A2A joined it, next to MCP. The same post says A2A v1.0, its first stable spec, shipped in March 2026. To learn more about the foundation, see who owns MCP.

The A2A v1.0 release notes list three formal transport bindings: JSON-RPC, gRPC and HTTP+JSON. They also add signed Agent Cards and require PKCE support where OAuth is used.

How the three fit together

The A2A project's own page on A2A and MCP puts it simply: "MCP is vertical. It deepens a single agent." A2A "is horizontal." It connects agents across team or company lines.

Their example is an auto repair shop staffed by AI agents:

  1. A customer tells the Shop Manager agent, "My car is making a rattling noise." That conversation runs over A2A.
  2. The Shop Manager hands the job to a Mechanic agent, also over A2A.
  3. The Mechanic uses a diagnostic scanner, a repair manual database and a lift. Each of those is an MCP tool.
  4. The Mechanic asks a Parts Supplier's agent whether a part is in stock. That is A2A again.

Inside each agent, the model still uses function calling to request each action. So the full stack looks like this:

LayerQuestion it answersStandard
Model to code"Which action should I take, with which inputs?"Function calling (provider-specific)
Agent to tools and data"How do I reach this system the same way from any AI app?"MCP
Agent to agent"How do I hand this job to another agent and track it?"A2A

Which one does your business need?

Start with the job, not the acronym.

Choose function calling alone when

  • You have one app, one model provider and a short list of actions.
  • No other AI app needs those actions.
  • Your developers want the least moving parts.

Add MCP when

  • Your team uses more than one AI app and wants the same tools in each.
  • You sell software and want customers' AI assistants to use your product.
  • You want security and logging handled once, at a server you control.

For example, LedgerMCP (built by eSEOspace) and BalanceMCP (an eSEOspace marketing client) offer their products to AI assistants over MCP. That way, one integration serves many AI apps.

Add A2A when

  • You run several specialized agents that must hand off work.
  • Agents from different vendors or partners need to cooperate.
  • Jobs run long and need status tracking, not one quick answer.

Many small businesses will not need A2A yet. If you are unsure where you stand, our MCP for small business guide walks through the decision.

Security looks different at each layer

Each layer has its own trust question.

  • Function calling: your code runs every action, so your code decides what is allowed.
  • MCP: the tools come from servers, possibly third-party ones. The MCP spec says there "SHOULD always be a human in the loop with the ability to deny tool invocations." See MCP security risks for the full list.
  • A2A: you are trusting another agent you cannot see inside. A2A v1.0 supports signed Agent Cards, OAuth with PKCE and mutual TLS to help confirm who you are talking to.

The common rule across all three: give each agent and tool the least access it needs. Keep a person in the loop for actions that move money or delete data.

Next step

If your project needs MCP servers, A2A agents or both, the person you hire matters more than the protocol. Read how to hire an MCP developer for the questions to ask and the red flags to watch for.

Frequently asked questions

Is A2A a replacement for MCP?

No. The A2A project calls the two "highly complementary." MCP connects an agent to its tools and data. A2A connects agents to each other. Many systems use both.

Does MCP replace function calling?

No. MCP standardizes how tools are packaged and discovered. The AI app still uses its model's function calling to decide which MCP tool to run. MCP mainly saves you from rebuilding the same integration for every AI app.

Who controls MCP and A2A?

Both are hosted by the Agentic AI Foundation, a fund under the Linux Foundation. Anthropic donated MCP in December 2025. Google first developed A2A, and A2A joined the foundation in August 2026.

Can an A2A agent also be an MCP server?

It can expose some skills that way. The A2A docs note that simple, stateless skills can be offered as MCP-style tools. A2A's strength is longer, stateful collaboration that goes beyond a single tool call.

Which should a small business learn first?

Function calling and MCP. They cover most practical uses, such as connecting an AI assistant to your CRM, analytics or accounting tool. A2A becomes useful once you run several agents that must cooperate.

Do I need a developer to use any of these?

To use an existing MCP server in Claude or ChatGPT, often not. To build a custom MCP server, wire up function calling, or deploy A2A agents, you will usually want a developer. Our Claude Code consulting team can help you scope it.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.