Pilot Protocol vs MCP vs A2A vs ACP

Four protocols, different layers. Understand what each does, where they overlap, and when to use them together.

On this page

Overview

The AI agent ecosystem has multiple protocols addressing different communication needs. They operate at different layers of the stack and are often complementary rather than competing:

vs MCP (Model Context Protocol)

MCP connects an LLM to tools and data sources — it answers "how does my model call this function?" Pilot Protocol connects agents to each other — it answers "how does my agent reach that agent?"

Pilot ProtocolMCP
LayerNetwork (L3/L4)Application (L7)
PurposeAgent-to-agent connectivityModel-to-tool connectivity
TransportEncrypted UDP tunnelsstdio, HTTP+SSE
Addressing48-bit virtual addressesNamed tool endpoints
NAT traversalBuilt-in (STUN + relay)Not applicable
Trust modelMutual handshake + cryptoImplicit (local process)
DiscoveryRegistry + tags + DNSTool manifests
Multi-agentNative (any-to-any)Hub-and-spoke (host ↔ server)

Key difference: MCP is designed for a single model interacting with local tools. Pilot Protocol is designed for distributed agents communicating across networks. An MCP server could run on top of a Pilot tunnel to expose tools to remote agents.

Read more: MCP + Pilot: Tools and Network

vs A2A (Agent-to-Agent)

A2A defines the application-level contract between agents — agent cards, task lifecycle, and message schemas. Pilot Protocol provides the network-level connectivity that gets those messages from one agent to another.

Pilot ProtocolA2A
LayerNetwork (L3/L4)Application (L7)
PurposeConnectivity + encryption + trustTask lifecycle + interop
TransportEncrypted UDP tunnelsHTTP/JSON-RPC
DiscoveryRegistry + tags + DNSAgent cards (/.well-known/agent.json)
NAT traversalBuilt-in (STUN + relay)Requires public endpoints or VPN
SecurityX25519+AES-GCM per tunnelDelegated to HTTP/TLS
AddressingPermanent virtual addressesURLs
Offline supportInbox queuingPolling / push notifications

Key difference: A2A assumes agents are reachable via HTTP URLs. Pilot Protocol makes agents reachable even behind NATs, firewalls, or without public IPs. A2A agent cards can advertise Pilot addresses, and A2A JSON-RPC messages can travel over Pilot tunnels.

Read more: A2A Agent Cards over Pilot Tunnels

vs ACP (Agent Communication Protocol)

ACP focuses on multi-agent orchestration within a runtime — how agents discover peers, exchange messages, and coordinate workflows. Pilot Protocol focuses on the network layer beneath.

Pilot ProtocolACP
LayerNetwork (L3/L4)Application / Runtime (L7)
PurposeCross-network connectivityLocal runtime orchestration
ScopeInternet-scale (any network)Single runtime / cluster
TransportEncrypted UDP tunnelsHTTP/REST
DiscoveryGlobal registry + tagsLocal agent directory
TrustMutual handshake + crypto identityRuntime-level access control
NAT traversalBuilt-inNot applicable (local)

Key difference: ACP orchestrates agents within a single runtime environment. Pilot Protocol connects agents across different machines, networks, and organizations. ACP agents can use Pilot tunnels to communicate with agents in remote runtimes.

Feature matrix

Feature Pilot MCP A2A ACP
Permanent agent identityYesNoAgent cardsAgent ID
Virtual addressing48-bitNoNoNo
End-to-end encryptionX25519+AES-GCMNoTLSNo
NAT traversalSTUN+relayN/ANoN/A
Mutual trust modelYesNoNoNo
Peer discoveryRegistry+tagsTool manifestAgent cardsDirectory
Pub/SubBuilt-inNoNoNo
Task delegationBuilt-inNoYesYes
Tool callingVia servicesYesNoNo
StreamingYesSSESSESSE
Offline/asyncInboxNoPollingNo
DependenciesZeroSDKHTTP stackRuntime
TransportUDPstdio/HTTPHTTPHTTP

When to use what

Use Pilot Protocol when you need:

Use MCP when you need:

Use A2A when you need:

Use ACP when you need:

Using them together

These protocols are designed for different layers and combine naturally:

Pilot + MCP

Run an MCP server on one machine. Expose it over a Pilot tunnel. Remote agents connect to the MCP server's Pilot address — no public IP needed, encrypted end-to-end, trust-gated access.

# Agent A runs an MCP server, exposed on Pilot port 80
# Agent B connects from across the internet
pilotctl connect <agent-a-address> 80
# MCP JSON-RPC flows over the encrypted Pilot tunnel

Pilot + A2A

Agents advertise A2A agent cards with their Pilot address. Task requests and responses travel over Pilot tunnels instead of public HTTP endpoints. NAT traversal, encryption, and trust come for free.

# Agent card includes Pilot address instead of URL
{
  "name": "research-agent",
  "pilot_address": "1:0001.0000.0042",
  "skills": [{"name": "web-research"}]
}

Pilot + ACP

ACP runtimes on different machines connect via Pilot tunnels. Agents in runtime A can discover and communicate with agents in runtime B as if they were local — the Pilot tunnel handles routing, encryption, and NAT traversal.

The short version: MCP, A2A, and ACP define what agents say. Pilot Protocol defines how they reach each other. Use the right protocol at the right layer.