More Amplifier Stories
Introducing

Agent-to-Agent

Your Amplifier sessions can now talk to each other.
Same machine. Same network. Real HTTP.

amplifier-bundle-a2a  ยท  Google A2A Protocol  ยท  February 2026
The Problem

Your agent is brilliant.
But it's alone.

๐Ÿง 
Powerful Locally
Your Amplifier agent can search the web, write code, manage files, reason through complex problems. It's your most capable assistant.
๐Ÿšง
Isolated by Default
But it can't talk to anyone else's agent. No way to send a question, request, or task to another person's Amplifier session.
๐Ÿ’ก
What If?
What if your research agent could ask your code review agent for context on a codebase? Or you could ask your agent to ask your spouse's agent about dinner plans?
Multi-instance: "Hey research agent, ask my code review agent what changed in the auth module this week."
Multi-person: "Hey agent, ask Sarah's agent where she wants to go for dinner tonight."
The Solution

amplifier-bundle-a2a

A standalone bundle implementing Google's Agent-to-Agent protocol. Two Amplifier sessions can discover, message, and collaborate โ€” over direct peer-to-peer HTTP.

๐Ÿ”
Discover
Find other agents via direct URL or mDNS on local networks. Requires direct port access โ€” peer-to-peer HTTP, no cloud relay.
๐Ÿ’ฌ
Message
Send structured messages over HTTP. Text, tasks, and queries flow between agents with full attribution and threading.
๐Ÿค
Collaborate
Three interaction modes โ€” from fully autonomous responses to human-approved replies to live session injection.
Google A2A Protocol
Peer-to-Peer HTTP
Zero Config Defaults
Open Source
Architecture

Two modules. One protocol.

โ†’
tool-a2a Client
  • 14 operations โ€” your agent's A2A toolkit
  • send_message โ€” send text/tasks to other agents
  • add_contact / list_contacts โ€” manage address book
  • whoami โ€” get your own agent address
  • get_agent_card โ€” inspect capabilities
  • check_messages โ€” read incoming queue
  • respond_to_message โ€” reply as human
โฌก
hooks-a2a-server Server
  • HTTP server โ€” starts automatically with your session
  • Agent Card โ€” publishes your capabilities
  • Message handling โ€” routes by trust tier
  • Mode selection โ€” C, A, or B per contact
  • Trust enforcement โ€” blocks unknown agents
  • Session injection โ€” live message delivery
Agent sends message
โ†’
Server receives
โ†’
Route by mode
โ†’
C / A / B
โ†’
Response
Interaction Modes

Three ways to respond.

Every incoming message is routed based on how much you trust the sender. Each mode gives you a different level of control.

C
Autonomous
Trusted contacts get instant answers. Your agent uses its full toolkit to respond โ€” no human in the loop. Fast, automatic, hands-free.
A
Notify
Messages are queued for you. Your agent notifies you, and you write the response yourself. The sender's agent waits for your reply.
B
Live
Messages inject directly into your active session in real time. You see them as they arrive and your agent can help you respond on the spot.
Mode C
โ†’
Mode A
โ†’
Mode B
  full escalation ladder
Trust & Security

You control who gets in.

First-contact approval works like Bluetooth pairing. No one talks to your agent without your permission.

Trusted
Full access to your agent's tools and capabilities. Gets Mode C autonomous responses. Reserved for close contacts you fully trust.
Known
Read-only access. Can send you messages and receive human-approved replies. No tool access. Good for acquaintances and work contacts.
Unknown
Blocked by default. Unknown agents cannot reach you until you explicitly approve them. No exceptions, no surprises.
๐Ÿ”  Per-contact capability scoping
Each contact can be individually configured with different trust levels, interaction modes, and tool access. Fine-grained control over every relationship.
๐Ÿ”—  First-contact approval
When a new agent reaches out, you see their Agent Card and decide: approve, reject, or ignore. Share URLs to pair with contacts you know.
Getting Started

Two config values. That's it.

Smart defaults handle everything else. You're reachable in seconds.

# In your Amplifier bundle config:
a2a_port: 8080
a2a_agent_name: "Ben's Agent"

# That's it. Start your session and go.
# Get your address โ€” share this to connect
You: What's my A2A address?
Agent: http://192.168.1.42:8080

# Add a contact
You: Add Sarah's agent at http://192.168.1.87:8080
Agent: โœ… Contact added: Sarah's Agent (pending approval)

# Send a message
You: Ask Sarah's agent where she wants dinner tonight
Agent: ๐Ÿ“ค Message sent. Waiting for response...
The Demo

Two terminals. Same machine. Real HTTP.

Lowest-friction demo: two Amplifier sessions on localhost, different ports. Here's what happens:

Ben โ†’ Sarah's Agent
Hey, where does Sarah want to go for dinner tonight?
โšก HTTP request โ†’ Sarah's server receives โ†’ Mode A (queued)
Sarah's Agent โ†’ Sarah
๐Ÿ“ฌ New message from Ben's Agent: "Where do you want to go for dinner tonight?"
Sarah sees the notification and types her response
Sarah
Tell Ben I'm craving sushi โ€” let's do Nobu at 7:30.
โšก Response sent back over HTTP
Ben's Agent โ†’ Ben
Sarah says she's craving sushi โ€” Nobu at 7:30. Want me to make a reservation?

Full attribution preserved. Threaded conversation. Both humans stay in control.
Works on localhost, LAN, or any network where ports are directly reachable.

By the Numbers

Open source. Real and tested.

290
Tests
14
Tool Operations
3
Interaction Modes
2
Config Values
Localhost
LAN (mDNS)
Tailscale / VPN
Direct Port Access

Works wherever agents can reach each other's ports directly. Same machine, local network, or any VPN that exposes ports.

Early Access

Honest about where we are.

The protocol works. The networking layer is early. Here's the current picture.

What works today
  • 290 tests passing โ€” full protocol coverage
  • Localhost โ€” multiple instances, same machine
  • LAN / office network โ€” devices on the same subnet
  • Tailscale / VPN โ€” anywhere ports are reachable
  • Three interaction modes โ€” autonomous, notify, live
  • Trust & contact management โ€” per-contact controls
What's not there yet
  • No relay service โ€” no NAT traversal or cloud proxy
  • No encryption โ€” relies on network-level trust (VPN, LAN)
  • Direct port access required โ€” firewalls block this
  • No public internet โ€” can't reach agents behind NAT
  • No auth tokens โ€” trust is address-based for now
  • Early WIP โ€” API surface may change

Think of it like Bluetooth in the early days โ€” powerful when you're close, with clear limits on range. The protocol is solid. The reach grows from here.

Get Started

Let your agents
talk.

Clone the repo. Add the bundle. Open two terminals and connect them.

View on GitHub โ†’
github.com/microsoft/amplifier-bundle-a2a
More Amplifier Stories