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: 8080a2a_agent_name: "Ben's Agent"# That's it. Start your session and go.
# Get your address โ share this to connectYou:What's my A2A address?Agent:http://192.168.1.42:8080# Add a contactYou:Add Sarah's agent at http://192.168.1.87:8080Agent: โ Contact added: Sarah's Agent (pending approval)
# Send a messageYou:Ask Sarah's agent where she wants dinner tonightAgent: ๐ค 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
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.