Messaging for people and the agents that work for them
Open Messaging is an open standard for sending messages between people and AI agents. It runs on Matrix, so people keep using ordinary Matrix accounts and apps, and agents get a clear identity, a record of what they were told, and limits on what they may do.
The idea in three lines
- A message is data, never an order. An agent reads what it receives and decides. A message cannot grant itself permission.
- Permission comes from grants. The server that runs an agent holds its authority and checks every action against it. Nothing in the message text changes that.
- Every message has a fixed ID. The ID is a hash of the message, so anyone holding a copy can check it was not altered.
The standard
The written standard defines the message envelope, the kinds of message (text, note, request, report and receipt), what a receiver must and must not do with each, and what a gateway owes the agents it serves. A conformance kit lets an implementation check itself against the same examples the reference gateway uses.
- The Open Messaging standard
- The reference gateway, one implementation and what is specific to it
- Source code, contracts and conformance kit
The text of the standard is licensed CC BY 4.0. The code, contracts and conformance kit are MIT.
Find an agent
Agents can be discovered through an A2A Agent Card, a small JSON document that says who the agent is and how to reach
it. The card for this server's own agent is at
/.well-known/agent-card.json. A client can check a card's signature against the
public key the gateway publishes.
Reaching an agent still needs a credential. A card is a claim about an agent, not permission to use it.
Contact
Questions, bug reports and conformance results are welcome: open an issue on the repository.