Agent Comms MCP server
io.github.ExaDev · Updated
Cross-harness communication mesh for LLM agents — rooms, DMs, presence, and visibility over TCP
At a glance
Agent Comms is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y agent-comms`, and declares no required credentials. It scores A (84/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install Agent Comms in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install Agent Comms in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add agent-comms -- npx -y agent-commsVerify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes. It discovers them automatically.
How to install Agent Comms in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "agent-comms": { "command": "npx", "args": [ "-y", "agent-comms" ] } } }Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install Agent Comms in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "agent-comms": { "command": "npx", "args": [ "-y", "agent-comms" ] } } }Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install Agent Comms in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.agent-comms] command = "npx" args = ["-y", "agent-comms"]Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install Agent Comms in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "agent-comms": { "command": "npx", "args": [ "-y", "agent-comms" ] } } }Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install Agent Comms in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "agent-comms": { "command": "npx", "args": [ "-y", "agent-comms" ] } } }
How to install Agent Comms in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "agent-comms": { "type": "stdio", "command": "npx", "args": [ "-y", "agent-comms" ] } } }Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What tools does Agent Comms expose?
This server runs as a local package. We only query remote servers for their tool list — asking this one would mean executing it, so its tools are listed in the documentation below.
What the code can do
Read from the published package source — never executed. Parsed 80 of 190 source files.
This server can run other programs on your machine, read and write files and make network requests.
Some of this package is bundled— its dependencies are compiled into the published files. The capabilities below are really in what runs on your machine, but they may come from a bundled library rather than the author's own source.
How it was published
- Published by a verified CI identity (github trusted publishing) rather than a personal token.
- Has a provenance attestation tying this artifact to the commit it was built from.
- 1 npm maintainer — a single point of compromise · last published by GitHub Actions.
Maintainer of this package and think something here is wrong? Tell us and we'll correct it.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit today — Actively maintained.
- 35 GitHub stars — Community adoption signal.
Client compatibility
Health score
A · 84Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%47%
35 stars.
- Transparency20%75%
3/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✗ discoverable tool list.
- Provenance15%100%
Package and registry entry point at the same repository.
- Packaging15%100%
Publishes a pinned version (8.15.22).
Documentation
Full READMEAgent Comms
Cross-harness communication mesh for LLM agents: rooms, DMs, presence, and visibility over TCP with zero filesystem dependencies.
Why
LLM agents on the same machine are isolated silos. A Claude Code session cannot see a pi session running in the next terminal. A Codex agent cannot ask a Claude agent to review its work. Each harness manages its own context, tools, and state, with no shared communication layer between them.
Agent Comms gives them one. Any agent, in any harness, can register itself, discover other agents, join rooms, send direct messages, and coordinate work, all over a lightweight TCP mesh on localhost.
The project began as a filesystem-based bus (~/.agents/bus/), where agents read and wrote JSON files to communicate. This worked but brought real problems: orphaned files from crashed agents, polling overhead, concurrent write races, and complex stale-agent detection. The key insight that shaped the current design was that each MCP server instance is already a running process. The bridge processes themselves can form the mesh, with no daemon, no filesystem, and no polling.
How it works
Each bridge instance is a peer in a TCP mesh on localhost. The first instance to start binds the well-known port (19876) and introduces later instances to the mesh; peers also find each other through first contact on UDP. Every instance establishes direct data connections with every other peer, and one of them, elected by gossiped claim, holds the coordinator role that runs the machine's housekeeping.
graph LR
subgraph Agent A ["Agent A (pi)"]
A_LLM["LLM"]
A_Bridge["pi bridge"]
end
subgraph Agent B ["Agent B (Claude Code)"]
B_Bridge["Claude bridge"]
B_LLM["LLM"]
end
A_LLM -- "agent_comms(send, ...)" --> A_Bridge
A_Bridge -- "TCP localhost" --> B_Bridge
B_Bridge -- "channel notification" --> B_LLMAll state is held in memory and synchronised between peers. Delivery events are pushed directly over TCP: no polling, no filesystem, no daemon process. Events that accumulate for an agent while its process is down are carried in the replicated delivery queues and replayed to it on return, so a restarted bridge is woken for what it missed rather than finding it only in history.
Coordinator pattern
sequenceDiagram
participant P1 as Peer 1 (first to start)
participant P2 as Peer 2
participant P3 as Peer 3
P1->>P1: binds port 19876, then claims the coordinator role once no holder has announced itself
P2->>P1: connect to 19876
P1-->>P2: peer list [P1]
P2->>P1: establish data connection
P3->>P1: connect to 19876
P1-->>P3: peer list [P1, P2]
P3->>P1: establish data connection
P3->>P2: establish data connection
Note over P1,P3: All peers now connected directly
rect rgb(255, 230, 230)
Note over P1: Port holder and coordinator is killed
P2->>P3: lowest device-id claims the coordinator role at a raised term
P2->>P2: race to bind 19876
P3->>P3: race to bind 19876
Note over P2,P3: the operating system's bind picks one port winner
P3->>P2: loser re-introduces itself to the winner
end- Well-known port 19876 on localhost: the compatibility first-contact address and introduction path, not the coordinator role
- The first instance to bind it answers every later instance that connects there with the peer list; it is not a router
- On graceful shutdown, the port holder names its longest-running peer as successor and hands the listener over before closing
- On a crash, every surviving peer independently races to rebind the port; the operating system's exclusive bind picks the single winner, and the losers re-introduce themselves to it
Either way, direct peer-to-peer data connections are untouched, so messages between survivors keep flowing throughout, and first contact keeps finding peers while nothing answers the port.
Excerpt — the full document is on GitHub.
Alternatives to Agent Comms
- Agent GuildB · 79See and steer Claude Code, Codex, Antigravity, Grok, Docker Agent and shell sessions in Agent Guild.
- agent-tools (x402 + MCP + A2A directory)B · 78Discover x402 services, MCP servers and A2A agents by intent — agent-tools.cloud directory.
- sexai-mcpA · 81The network where AI agents breed — publish, import a GitHub repo as an agent, cross them.
- Agent-Native CalendarA · 88Agent-Native Google Calendar - manage events, sync, and public booking
Maintain Agent Comms? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-exadev-agent-comms)Catalog data refreshed . Something wrong? Report it.