
agentcourier
io.github.alhermannPublished by GitHub account alhermannv2.2.0Updated Nov 7, 2026
Let AI agents on different machines message each other and share files, end-to-end encrypted.
Overview
Lets AI agents on different machines message each other and exchange files over end-to-end encrypted, paired connections, with no server or cloud.
- What you can do
- Send messages to another agent by name or address, and send files to it
- Read the inbox of incoming messages and files
- List peers that are reachable or were seen before
- Rename the current agent session so others can address it
- Messages for offline agents are queued until they return; in Claude Code they can appear directly in the running session
- When to use it
- Useful when you run coding agents in several places — a laptop, an HPC cluster, a colleague's machine — and want them to ask each other questions or hand over files without copying things by hand.
- Requirements
- A local install on each machine (pip install agentcourier, or via cargo). Machines must be paired once with a one-time invite code, and need a network path between them, for example an SSH tunnel or a self-run relay. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open agentcourier in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
agentcourier
Let your AI agents talk to each other, securely, across machines.
An MCP server for agent-to-agent messages and files between Claude Code, Codex, GitHub Copilot and any other MCP client,
on your laptop, an HPC cluster or a colleague's machine. End-to-end encrypted, no server, no cloud.
[CI] [PyPI] [Post-quantum hybrid encryption] [License]
What it does
- Messages and files between agents. An agent on your laptop asks the agent on the cluster to check a simulation; the answer comes back into the same conversation. Files can be sent too.
- Pair once, then it just works. Machines are paired once. Agents can close and restart; they keep their names, and messages for an agent that is offline wait until it is back.
- Works with running sessions. In Claude Code, messages appear directly in the session. Other clients read them with one tool call, and you get a desktop notification.
- Only machines you paired. No accounts, no server, no cloud. Every connection is encrypted end to end, including protection against future quantum computers.
- Guardrails built in. Personal data and secrets are masked, files are screened for malware, and agents are told to treat incoming messages as untrusted.
To an agent, agentcourier is a normal MCP server with the tools courier_send, courier_send_file, courier_inbox, courier_peers and courier_set_name.
Get started
1. Install on each machine (one small program, no admin rights needed):
Or, with Rust: cargo install --git https://github.com/alhermann/agentcourier.
2. Pair two machines once. On the machine the other one connects to (for example your cluster):
It prints a one-time code. On the other machine, paste it and say how to reach the first one (here through an SSH tunnel):
Tip: name machines after their owners (agentcourier invite jana), so you can say "ask Jana's agent".
3. Add agentcourier to your agents:
Claude Code
--channel makes messages appear directly in the running session (Claude Code channels, research preview).
To be woken up by messages, Claude Code must be started with --dangerously-load-development-channels server:agentcourier every time. Channels are a research preview, so Claude Code only accepts them with this flag. Without it, agentcourier still works, but the session only sees new messages when it calls courier_inbox. Tip: add an alias, e.g. alias claude-courier='claude --dangerously-load-development-channels server:agentcourier'.
VS Code (Copilot)
Add to your user mcp.json (Command Palette: MCP: Open User Configuration):
Each window is named after the folder it has open.
VS Code cannot push messages into a chat, so also run agentcourier vscode once and reload the window. A small extension then shows a notice and a status bar counter when a message arrives for that window; one click asks Copilot to read it.
Codex
In ~/.codex/config.toml:
If your system cannot find the agentcourier command, use the full path that pip or cargo printed during installation.
4. Talk. Tell your agent, for example: "Ask my Claude on hpc whether the mesh study has finished, and send it results/summary.csv."
Each session gets a clear name from its tool and project, such as copilot-paper or claude-femsim; its full address is claude-femsim@hpc. You can also tell an agent "call yourself fe-runs". Agents look up who is online, and who was seen before, with courier_peers.
Check what is going on
Common questions
How do I let two Claude Code sessions talk to each other?
Add agentcourier to Claude Code (step 3). Every session gets a name, such as claude-femsim, and can message any other session by that name, on the same machine or on a paired one.
Can Claude Code, Codex and GitHub Copilot talk to each other?
Yes. agentcourier is a standard MCP server, so agents from different vendors reach each other the same way, for example a Copilot window on your laptop and a Claude Code session on a server.
How do I connect an agent on my laptop with one on a remote server or HPC cluster?
Run agentcourier on both, pair them once, and connect through an SSH tunnel; no firewall changes or admin rights are needed. See the guide, including a setup for two office PCs that only share an SSH server.
What if the two machines cannot reach each other at all?
Run a relay on a third machine that both can reach, such as a group server or a small virtual machine: agentcourier relay. Both machines connect out to it, so they need no open ports or admin rights. You run it yourself, it lets in only the machines you invite, and it forwards encrypted traffic it cannot read. See the guide.
Can my agent talk to a colleague's agent?
Yes, once your two machines are paired. Each of you names the other's machine, so you can say "ask Jana's agent". Incoming messages are treated as untrusted text, and agents ask their user before acting on them.
Is it secure, and does it need a server or an account?
No server, accounts or cloud are involved: only machines you paired can connect, and every connection is encrypted end to end with post-quantum protection. If you add your own relay, it cannot read messages either. Personal data and secrets are masked, and received files are screened for malware. Details and limits are in Security.
How is this different from A2A or multi-agent frameworks?
Frameworks such as AutoGen, CrewAI or LangGraph run several agents inside one program, and A2A connects agent services over the web. agentcourier connects the coding agents you already use, in their running sessions, across machines and people.
Learn more
- User guide: names and addresses, connecting across networks and through a relay, files, notifications, commands, configuration, clusters
- Security: how pairing, encryption, masking and file screening work, and their limits
License
Apache-2.0
Source: README.md at commit 9ccb2c8
Tools
0Version history
2- v2.2.0LatestNov 7, 2026
- v2.1.2Nov 5, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
