All posts
§September 21, 2026OpenScout

A2A vs MCP: When to Use Each, and Where ACP Fits

Choose a protocol for tools, independent agents, or coding-agent clients, with practical examples.

Wire walkthrough

ACP and MCP are different sockets.

One review can use both. The editor hosts the coding agent on ACP. The agent calls tools on MCP. Asking a second agent is a third call, either a broker tool or an A2A task.

Pick the job, then step the frame. The lit cable is the socket that carries that JSON, and the square sits toward whoever is hearing it. A refused call leaves the bench dark. Nothing here opens a process. The frames are shortened from Scout's ACP client and from the MCP and A2A pilots.

Which job are you doing?

RequestACP · stdioScout client → Coding agent

initialize

Scout is the ACP client. It starts the coding agent as a subprocess and sends initialize on stdio. The agent is the other end. Scout does not serve ACP.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": 1,
    "clientCapabilities": {
      "fs": { "readTextFile": true, "writeTextFile": true },
      "terminal": false
    },
    "clientInfo": { "name": "scout" }
  }
}

ACP connects a client to a coding agent. MCP connects that agent to tools. A2A connects independent agents, and Scout's pilot covers agent-card discovery and text tasks only. Specs: Agent Client Protocol, Model Context Protocol, Agent2Agent. The boundary list is A2A and ACP readiness.

The short answer

MCP connects an agent to tools and data. Google A2A connects independent agents to each other. ACP connects an editor or client to a coding agent. A review can use all three: an MCP server for repository tools, an A2A endpoint for a separate reviewer, and an ACP client so an editor can host a session. None of those wires decides who owns the task or who may merge.

Read the primaries when a blog post disagrees with them: MCP↗, Agent2Agent↗, and the Agent Client Protocol↗. Explainers are maps. The specs are the boundaries.

Three acronyms, three boundaries:

If your pain is…Start with…
Giving one agent tools, data, and promptsMCP
Plugging a coding agent into an editor/client (BYO agent in the IDE)ACP (Agent Client Protocol)
Independent agents across vendors/frameworks discovering and delegating to each otherGoogle A2A (Agent2Agent)
Cross-harness peers, blockers, and durable handoffs on machines you already useA local broker (Scout) — often alongside MCP and/or ACP

OpenScout is a local agent broker and control plane. It exposes MCP tools for coordination, includes an Agent Client Protocol client adapter, and provides A2A discovery and text-task primitives for high-trust local pilots. Full A2A or ACP conformance is not claimed. See the protocol readiness report for supported operations and gaps.

You may need more than one layer. This page picks boundaries; deeper pages teach each noun.


Three boundaries (not three rivals)

MCP — agent ↔ tools (vertical)

Model Context Protocol↗ standardizes how an AI app or agent connects to tools, data sources, and prompts. Official A2A framing puts it cleanly: equip an agent with the tools it needs (GitHub, SQL, …) via MCP. (a2a-protocol.org↗)

ACP — editor/client ↔ coding agent

Agent Client Protocol↗ standardizes how code editors and clients talk to coding agents. Locally that is often JSON-RPC over stdio — LSP-shaped. Zed, JetBrains, and others use this noun for BYO-agent IDE integration. Full definition: What is ACP.

Naming trap: On Scout and in Zed/JetBrains materials, ACP means Agent Client Protocol (editor ↔ agent). Other vendors have used “ACP” for agent↔agent communication (sometimes folded toward A2A). If a post says ACP and means peer agents, that is a collision — not this page’s ACP.

Google A2A — agent ↔ agent (horizontal)

Agent2Agent (A2A)↗ is an open standard for communication between independent agents across frameworks and vendors — discovery, delegation, coordination — without sharing internal memory or proprietary tools. Originally from Google; Linux Foundation–hosted. Official docs stress A2A complements MCP: MCP for tools, A2A for peers. A2A is not an agent framework, not a sub-agent/tool-call protocol, and not Slack.


Side-by-side

MCPACPGoogle A2AScout (local broker)
Primary boundaryAgent/app ↔ tools & dataEditor/client ↔ coding agentAgent ↔ agent interopDiscover, address, steer, hand off under harnesses you already run
Typical unitTool / resource / promptCoding-agent session (often stdio JSON-RPC)Agent Card, tasks, peer collaborationMessage, Invocation, Flight, Delivery records
Local laptop relevanceHigh — Cursor, Claude, Codex MCP everywhereHigh — IDE BYO agent, ACP CLIsDepends — cross-org / cross-framework interopHigh — CLI broker on your machines
Scout relationshipMCP tools operate the brokerClient adapter for supported coding agentsPilot discovery and text-task operations; full conformance not claimedProduct category: control plane

Scout row is labeled as product, not as a peer protocol to MCP/ACP/A2A.


“Can MCP do A2A?”

Short answer: MCP can expose tools that send or ask peers on a broker — that is not the same as implementing Google A2A.

Thin “MCP for A2A” questions usually mean: can I route peer work through tools? On Scout, preferred MCP tools such as whoami, agents_resolve, ask, messages_send, invocations_get, and work_update operate the local broker (scout.json↗). That is broker ops over MCP — not Agent Cards, not A2A task lifecycles, not “MCP = A2A.”

Industry posts that say MCP is vertical and A2A is horizontal are a useful metaphor. Still cite the primaries: MCP docs and a2a-protocol.org↗.


A practical example: reviewing a software change

Suppose a coding agent needs to inspect a pull request, request a specialist review, and present the result in your editor.

  • Access the pull request: an MCP server can expose repository tools and data to the agent.
  • Delegate to an independent reviewer: an A2A endpoint can expose a specialist agent and its task interface. The reviewer can use its own tools internally.
  • Work through an editor: an ACP-compatible client can communicate with a compatible coding agent.

You can combine these connections. Choosing one does not automatically supply the other capabilities, and installing a protocol connector does not decide who owns the task or approves the resulting changes. For the working coordination process, see using Claude Code and Codex for review.

Where OpenScout fits

SurfaceWhat Scout actually claims
ACPACP client adapter for supported coding agents over stdio; full conformance not claimed
MCPBroker ops available as MCP tools / mcp transport
Local peer messagingTell (scout send) / Ask (scout ask); flights with receipts — see local A2A on a broker
A2AAgent-card discovery and JSON-RPC text-task operations for local pilots; see A2A setup

The pilot has limits: A2A streaming and push notifications are unsupported, running-task cancellation is incomplete, and full protocol conformance is not established. Follow the advertised capabilities of the installed broker.

People online joke about “another agent-to-agent protocol.” Fair fatigue. This map’s job is not to declare winners — it is to keep the boundaries from collapsing into one vague “agent protocol.”


Which should you adopt first?

  1. Only need tools in one agent → start with MCP (and your harness’s MCP docs).
  2. Need BYO coding agent inside an IDE → evaluate ACP (definition; Zed/JetBrains ecosystems).
  3. Need cross-org / cross-framework agent marketplace interop → evaluate Google A2A on a2a-protocol.org↗ — that is a different job than a laptop broker.
  4. Need cross-harness local peers, blockers, and durable handoffs on machines you control → try a local broker (Scout install below).

Many operators combine MCP + ACP + a broker. Google A2A is optional and separate. None of these wires is a portable “session handoff format” by itself — people still pass decisions as compact packets; Scout’s Tell/Ask/flights are one local shape for that among addressable peers.


FAQ

What is ACP vs A2A vs MCP?
MCP connects an app or agent to tools and data. ACP connects a code editor or client to a coding agent. Google’s A2A protocol connects independent agents to each other for cross-system interoperability. They address different boundaries and are often complementary.

Can MCP replace A2A?
Not as a full substitute for Google’s A2A protocol. MCP can expose tools that message or ask peers on a broker, but Agent Cards, A2A task lifecycles, and cross-vendor A2A interop are a different standard. “MCP for A2A” usually means “can I route peer work through tools?” — possible on a broker, still not “MCP = A2A.”

Is ACP the same as A2A?
No. Agent Client Protocol connects a client to a coding agent. A2A connects independent agents. OpenScout's ACP adapter and its A2A pilot are separate integration surfaces. Check which meaning of “ACP” a source uses before comparing implementations.

Which protocols does Scout use?
Scout exposes MCP tools for broker operations, includes an ACP client adapter, and provides local peer messaging plus A2A pilot primitives. See the protocol readiness report for the distinction between implemented operations and full conformance.

Does Scout implement Google A2A?
Scout implements a subset for high-trust local pilots, including agent-card discovery and text-task operations backed by Scout flights. It does not claim full A2A conformance. Start with the A2A integration guide.

How do I install Scout?
curl -fsSL https://openscout.app/install | sh, then scout setup and scout doctor. Mac and iPhone apps are optional; iPhone is in beta.


Connect your coding agents

If your real pain is cross-harness peers and durable handoffs — not picking a single wire-protocol brand:

curl -fsSL https://openscout.app/install | sh
scout setup
scout doctor

Then: scout who. Only need tools in one agent? Stay with MCP docs. Only need IDE BYO agents? ACP-in-editor may be enough for that job.

More: openscout.app↗ · ACP definition · local tell/ask · agents.md↗ · manifest↗

Explore the interfaces

Use the interactive protocol explorer to map your connection to an interface, or watch MCP, A2A, and the agent broker. Both distinguish the wire contract from the policy that decides who owns and accepts the work.