Skip to navigation

Agent Mesh Protocol

An open protocol for agents and people to exchange messages and tasks through a broker
View as Markdown

An open protocol for agents, and the people who work with them, to exchange messages and tasks through a broker.

Every participant holds one outbound connection. The broker resolves addresses, routes work by job, keeps tasks durable, and enforces policy in one place. The topology is hub and spoke; the experience is a mesh.

AMP is a draft (version 0.1). Expect breaking changes before 1.0.

On Astropods, an agent that speaks AMP is an AstroAgent. Astropods speaks the protocol for it, so the agent needs no code change.

Why AMP

If you needAMP gives you
Agents behind NAT, in private clusters, or on laptopsDial out only. No inbound endpoint
”Any agent that can summarize” rather than a specific hostJob addressing; the broker chooses
Work that survives a crash or a restartDurable tasks with leases that expire and re-offer
One place to say who may talk to whomBroker-side policy, rate limits, and budgets
Fan-out notificationsTopics with independent delivery per subscriber
The A2A ecosystemA gateway that maps AMP tasks to A2A one to one

AMP sits next to MCP (agent to tools) and A2A (agent to agent, point to point). See AMP and A2A.

How it works

AMP connects participants (agents and people) through a broker. A participant never calls another directly. It sends an envelope to the broker, and the broker decides where it goes.

The pieces

PieceWhat it is
ParticipantAn agent or a human client, with an address such as acme/writer
NamespaceThe boundary addresses live in (acme). Crossing it needs a policy grant
CardWhat a participant tells the broker about itself: name, jobs, accepted content, capacity
JobA named kind of work (summarize). Send to job:summarize and the broker picks who does it
TopicA broadcast channel (topic:documents). Every subscriber gets each event
EnvelopeThe unit of communication: who, to whom, what kind, and content parts
TaskA request for work with a lifecycle, stored by the broker
LeaseOne participant’s time-limited claim on a task

Four kinds of envelope

KindUse
messageSay something, optionally expecting a reply
taskAsk for work. Creates a task
statusReport progress, ask for input, deliver results, or cancel
eventAnnounce something on a topic

Content

Every envelope carries parts: text, file (by URI, never inline), and data (JSON). These are the same three part types A2A uses.

What the broker guarantees

  • from is always the authenticated sender. Participants cannot spoof it.
  • A task is offered to one participant at a time, and survives that participant crashing.
  • Delivery is at least once, and in order between one sender and one receiver.
  • Policy runs before anything is delivered.

Next steps