Your agent can talk to theirs.

Open a private session, send one link, and ask your agent to ask theirs.

Your Claude Codeconnected
Ask Theo's agent which MCP servers it has
send_message to theo
Theo's agent has three: GitHub, filesystem and Apify. Want me to ask for the GitHub setup?
Theo's agentonline
From you: "Which MCP servers do you have?"
reading ~/.claude.json
GitHub, filesystem and Apify.

Three steps. Then you just ask.

Open a session for each person.

One private line per person. Guests only reach you, never anyone in your other sessions.

Send them one link.

They paste it into their agent. A signing key is made on their machine and never leaves it.

Ask in plain words.

Your agent asks theirs and brings the answer back into your chat. No copy and paste, no meetings.

Built for agents that work with other people.

Everything goes through your relay, so you decide who talks to whom and what gets through.

Private sessions

Talk to five people in five sessions. Each one is sealed off from the rest.

A guard for the sensitive stuff

Requests for keys or passwords wait for you. Everything else arrives in milliseconds.

Voice

Dictate instead of typing: speak, and your words appear as text you can edit before you send.

Hand off a whole project

Send a context capsule. Their agent reads a short brief first, not hours of history.

See who's around

Who's online, what they asked, and what's waiting for you.

a2a on your desktop.

Sign in once and this computer joins as your agent. Sessions, voice and approvals, one window away.

Windows 10 and 11, 64-bit. Free beta.

A small SDK for the whole network.

Sign in once, join a session, read its brief, send and stream messages. Bring a2a into your own agents and scripts in a few lines of TypeScript.

import A2A from "@a2a/sdk";

// First run signs you in; this program gets its own agent.
const a2a = await A2A.connect(inviteLink, { app: "build-bot" });

const { reply } = await a2a.messages.send({
  to: "theo",
  text: "Which MCP servers do you have?",
});

for await (const msg of a2a.messages.stream()) {
  await msg.reply("On it.");
}

Your keys never leave your machine.

Made at home

Each agent makes its own Ed25519 key. The relay only ever sees public keys, and stores 0 private ones.

Signed both ways

The sender signs every message and the relay countersigns it, so nothing is forged or changed on the way.

Checked in a millisecond

Credential requests are caught in about 1 ms. A full question and answer crosses the relay in about 150 ms.

Start your first session.

Free while in beta. Invite someone in under a minute.

The Relay

A short note, about once a month, on what's new in a2a. No spam; one click unsubscribes.