Skip to content
PluginStats

agent-comms weekly downloads statistics

By ExaDev (3 listings) · npm · MCP servers

Cross-harness communication mesh for LLM agents — rooms, DMs, presence, and real-time push delivery over TCP

View on npm Fresh · Oct 17, 2026

agent-comms has 641 recorded weekly downloads on npm, a decrease of 96.0% over the past 30 days.

It ranks #1466 of 2,251 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by +886%.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
641
Official API · Oct 17, 2026
7-day growth
-82.8%
-3.1K weekly downloads
30-day growth
-96.0%
-15.4K weekly downloads
90-day growth
+886%
+576 weekly downloads
Rank
#1466
Among tracked npm listings

About agent-comms

Agent 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.

All 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

• 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.

The coordinator role is separate from the port. It carries the machine's single-authority duties: the stale-agent PID probe, the one offline announcement for a departed peer, and the default cc-peer front. It is held by claim rather than by binding anything, using wire-mesh's gossiped, term-based coordinator-frame: a higher term always supersedes a lower one, equal terms break by lowest device-id, and exactly one peer holds the role once the claims have spread. Claims travel only over sessions between peers on the same machine, since every duty the role carries is a fact about one machine.

• A store claims the role only when it knows of no holder and is alone as far as it can tell: it bound the well-known port, or nothing on the port answered and it could not bind it either. When first contact is running, a holder that never held the port may still be about to announce itself, so the store first waits the ordinary network deadline for that announcement and claims only if none came; a store arriving at an existing mesh therefore never takes the role from its holder • Both ends of every session between two stores on the machine tell each other which claim they accept as the session opens, so a joiner learns the holder instead of claiming over it, whichever side dialled • Claims are read only from trusted sessions on the machine: never from a session that may cross machines (an addListener listener, a connectToRemote dial, or a dial at any address other than a loopback one, such as a peer first contact heard over LAN broadcast), and never from a session on the well-known port before it has introduced itself • Two meshes that each elected a holder while apart (joined later by first contact, say) converge on one: the lower claim is superseded and its holder stops its duties • When the holder departs, the survivor with the lowest device-id among the stores it has a session to claims at once at a raised term; any other survivor claims itself if, after the ordinary network deadline, the holder it accepts is still one it has no session to, which covers a successor that has gone too and a claim naming a device that never joined • The holder need not be the peer that bound the port, and a graceful shutdown hands on only the port listener: survivors recover the role from the departure itself

While the role is vacant, between the holder's loss and the successor's claim, no stale-agent probe runs and no cc-peer front is serving local Claude Code sessions that have no bridge of their own; the new holder restarts both as it takes the role. Every store's own session on the relay hub is unaffected, so messages from other machines keep arriving throughout.

First contact without a coordinator…

Description from the npm listing.

  • agent
  • communication
  • cross-harness
  • dm
  • llm
  • mcp
  • mesh
  • pi-package
  • presence
  • rooms

Where agent-comms sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,248 listings · 113 pages · page 74, #7 (overall #1467)
All npm: every listing in weekly downloads order
PNG SVG
MCP servers253 listings · 13 pages · page 13, #7 (overall #247)
MCP servers: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

agent-comms weekly downloads on npm, last 90 days: 641 weekly downloads as of Oct 17, 2026, +886% over 90 days.agent-commsWeekly downloads on npm · Last 90 days641downloads / week+886% over 90 days05K10K15K20K25KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
agent-comms weekly downloads on npm, last 90 days: 641 weekly downloads as of Oct 17, 2026, +886% over 90 days.
PNG SVG

7/30/90-day growth

agent-comms weekly downloads growth on npm: -82.8% over 7 days, -96.0% over 30 days, +886% over 90 days.agent-commsWeekly downloads growth on npm641downloads / week now7-day growth-3,094 weekly downloads-82.8%30-day growth-15,374 weekly downloads-96.0%90-day growth+576 weekly downloads+886%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
agent-comms weekly downloads growth on npm: -82.8% over 7 days, -96.0% over 30 days, +886% over 90 days.
PNG SVG

Ranking history

agent-comms npm ranking history: currently #1466 (by weekly downloads).agent-commsnpm ranking · by weekly downloads · Last 90 days#1466current rank#1464#1465#1466#1467#1468Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 17, 2026pluginstats.com
agent-comms npm ranking history: currently #1466 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (121)
Recent weekly downloads observations for agent-comms
Date (UTC)Weekly downloadsChange vs. previous
641-1.1K
1,726-185
1,911-333
2,244-394
2,6380
2,638-592
3,230-505
3,735+553
3,182-4.7K
7,915-1.9K
9,848-422
10,270-1.4K
11,632+567
11,065—

Similar npm MCP servers plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/agent-comms. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.