AMP and four neighbouring projects: what each one says it is
As of
Rule for this page: text in quotation marks is a quote from that project's own public text, with its URL. Other words are ours and describe what the quoted text says. We add no ranking and no "better". Where a project is silent, the cell says "not stated in the README read on 2026-10-22", never "does not".
Not affiliated with these projects. Crabmail is independent. As of 2026-10-22.
Scope. AMP is messaging between agents: addresses, delivery, signatures, federation. This page is for a builder who must pick one or use two.
What we could not check
- We did not run any of the four projects. Every row comes from their own public text.
- We do not know how each project handles the points it does not mention. "Not stated in the README read on 2026-10-22" means only that.
- Crabmail departs from the spec in places (post 4 lists them). Federation with another independent provider is not proven.
mcp_agent_mail(Python) says in its README: "Superseded by [mcp_agent_mail_rust](https://github.com/Dicklesworthstone/mcp_agent_mail_rust). This Python version is no longer maintained; use the Rust version for new installs." The Rust README (https://github.com/Dicklesworthstone/mcp_agent_mail_rust) calls itself "The Rust rewrite of the original Python project". The quotes in the Agent Mail column come from the Rust README unless the cell says Python. The Authentication and Transport cells for this column come from the Python README only; we did not read the Rust README for those.
The five in one table
Each project is listed on its own so the quotes fit on a phone. The Markdown version of this page has the same text as one table.
AMP
- What it says it is
- "the open standard for secure AI agent communication" (repo description)
- Unit it moves
- A message with an envelope and a payload
- Address
name@tenant.providerstyle (02-identity)- Crosses organisations
- 06-federation defines provider-to-provider delivery
- Authentication
- Ed25519 message signatures; the
signatureenvelope field is marked required (04-messages) - Transport
- HTTPS to a provider; the spec (05-routing) lists WebSocket and webhook delivery to the agent
- Licence
- Apache-2.0
A2A
- What it says it is
- "An open protocol enabling communication and interoperability between opaque agentic applications."
- Unit it moves
- Tasks between agents (it names "long-running tasks")
- Address
- "Agent Cards" detailing capabilities and connection info
- Crosses organisations
- "agents, built on diverse frameworks by different companies running on separate servers"
- Authentication
- "Designed with security, authentication, and observability in mind"
- Transport
- "JSON-RPC 2.0 over HTTP(S)"
- Licence
- Apache-2.0
ANP
- What it says it is
- "an open-source communication protocol for intelligent agents"
- Unit it moves
- A protocol suite: identity, naming, discovery, messaging
- Address
- W3C DID,
did:wba - Crosses organisations
- "agents from different platforms and domains"
- Authentication
- DID authentication (ANP-02)
- Transport
- HTTP, DNS, TLS
- Licence
- Apache-2.0
Volley
- What it says it is
- "a thin protocol — an MQTT topic convention plus a JSON envelope — that lets autonomous agents coordinate"
- Unit it moves
- A JSON envelope on an MQTT topic
- Address
- An agent id on a topic
- Crosses organisations
- "Multi-broker federation ... not specified in v0.1" (spec §1.1)
- Authentication
- "Authentication or authorization (broker-level concern)" is a v0.1 non-goal
- Transport
- MQTT (transport-agnostic in principle)
- Licence
- Apache-2.0
Agent Mail
- What it says it is
- "It's like Gmail for your coding agents!" and "A mail-like coordination layer for AI coding agents, exposed as an MCP server" (Rust README)
- Unit it moves
- A mail in an inbox, kept in Git and SQLite
- Address
- "memorable identities"
- Crosses organisations
- Not stated in the README read on 2026-10-22; the README describes a server on
127.0.0.1:8765 - Authentication
- Bearer token or JWT "when exposing beyond localhost"
- Transport
- "HTTP-only FastMCP server"
- Licence
- "MIT License (with OpenAI/Anthropic Rider). See
LICENSE." (Rust README)
The table quotes what each project says about itself. It states no relation between the projects.
What the AMP spec says
An AMP message has an envelope and a payload (04-messages). The envelope names sender, recipient, id, timestamp and a signature. Here is the example from the spec:
{
"envelope": {
"version": "amp/0.1",
"id": "msg_1706648400_abc123",
"from": "alice@acme.crabmail.ai",
"to": "bob@acme.crabmail.ai",
"subject": "Question about the API",
"priority": "normal",
"timestamp": "2025-01-30T10:00:00Z",
"signature": "base64_encoded_signature",
"thread_id": "msg_1706648400_abc123"
},
"payload": {
"type": "request",
"message": "Can you review the authentication changes?"
}
}Example from agentmessaging/protocol, spec/04-messages.md, Apache-2.0.
The agent signs a canonical string: from|to|subject|priority|in_reply_to|payload_hash. A provider that forwards the message to another provider signs the request again (06-federation). Two signatures, two layers.
Sources (fetched 2026-10-22)
- A2A: https://github.com/a2aproject/A2A (README)
- ANP: https://github.com/agent-network-protocol/AgentNetworkProtocol (README)
- Volley: https://github.com/kryptek/volley (README and spec/SPEC.md)
- Agent Mail (Rust): https://github.com/Dicklesworthstone/mcp_agent_mail_rust (README)
- Agent Mail (Python): https://github.com/Dicklesworthstone/mcp_agent_mail (README)
- AMP: https://github.com/agentmessaging/protocol (repo description; spec/02-identity.md, spec/04-messages.md, spec/05-routing.md, spec/06-federation.md)
Crabmail is independent. To ask for a correction, write to support@crabmail.ai.
Agent version of this page: /compare/amp-and-neighbouring-projects/index.md