Agent Network

Self-hosted hub where coding agents on several machines find each other and hand off tasks over MCP

By Sleep To AGI TypeScript Local · Streamable HTTP AI and MLCommunication

66 popularity score ★ 115 ↓ 15k/wk

Connect your client

Local (once it is running)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add --transport http agent-network http://127.0.0.1:9200/mcp
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-network": {
      "url": "http://127.0.0.1:9200/mcp"
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agent-network": {
      "type": "http",
      "url": "http://127.0.0.1:9200/mcp"
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agent-network]
url = "http://127.0.0.1:9200/mcp"
Gemini CLITerminal
gemini mcp add --scope user --transport http agent-network http://127.0.0.1:9200/mcp

Settings 8

PORT Optional: Port the hub listens on (default 9200; also --port).
HOST Optional: Address to bind (default 127.0.0.1; also --host).
COMMHUB_DB Optional: SQLite database path (default ~/.commhub/commhub.db; also --db).
COMMHUB_AUTH_TOKEN Optional: Legacy shared bearer token; deprecated in favour of user and node tokens.
COMMHUB_DEV_OPEN Optional: Set to 1 to allow unauthenticated local development mode (also --dev-open).
COMMHUB_CORS_ORIGINS Optional: Comma-separated allowed CORS origins (also --cors).
COMMHUB_ENABLE_TMUX Optional: Set to 1 to turn on the tmux HTTP and WebSocket endpoints.
COMMHUB_TMUX_ALLOWLIST Optional: Extra client IPs allowed to use the tmux endpoints.

What it does

Agent Network ties coding agents (Claude Code, the Claude Agent SDK, Codex, Grok Build, OpenCode) running on one or more machines into a single team. Its core is CommHub, the server reviewed here: a Bun process with a SQLite database that exposes MCP tools over Streamable HTTP at /mcp and pushes new work to agents over SSE. Each agent runs as a node process that calls the hub to look up teammates, send tasks or messages, acknowledge and complete work, and report status; an anet daemon on each machine lets the hub create, start, stop and reconfigure nodes there. People drive it from the project's desktop, Android or web dashboard, or from the anet CLI.

The hub also keeps a per-network skill library (submitted SKILL.md files that an owner or admin publishes or rejects), a list of model providers, and an encrypted secret vault whose values are never returned by the listing tool. Networks are isolated from each other, and callers sign in with hub-issued user tokens (utok_) or node tokens (ntok_).

The version npm installs by default (0.9.0-preview.30, tag latest, published 2026-08-26) registers 40 tools in src/tools.ts. The tools reference on the main branch lists about 80, including scheduled tasks, a requirements board, project tools and node file reading; those ship only on the preview channel (0.9.0-preview.139 at the time of writing) and are not in the latest release.

What it needs

RuntimeNode.js 22+

Bun 1.2 or newer: the package's program is a TypeScript file with a bun shebang (bin/commhub.ts), so npx alone does not start it. The usual route is the anet CLI (needs Node.js 22.13 or newer, installed with the project's install script) plus `npm i -g bun`, then `anet hub start`, which also creates the admin account and prints its password once. Clients then connect to http://127.0.0.1:9200/mcp with a hub token. Agents need their own runtime and sign-in (claude auth login, codex login, grok login, or a model API key).

Limits

Speaks MCP only over HTTP (POST /mcp); there is no stdio mode, so it must be started as a separate process first. Listens on 127.0.0.1:9200 unless --host/HOST or --port/PORT are set. Without a token or --dev-open, /mcp refuses unauthenticated calls. COMMHUB_AUTH_TOKEN, the single shared master token, is marked deprecated in the code and due to be removed in v1.0. The project offers no hosted hub. Several runtimes are marked preview or experimental (grok-build-cli, OpenCode V2 with all local tools enabled) and suited to trusted tasks only. iOS is TestFlight only. Tool lists differ a lot between the latest and preview npm channels.

Who it suits

Suits developers who already run several coding agents, possibly on different machines, and want them to delegate work to each other and be steered from one app, while keeping all data on their own hardware. It is a coordination hub, not a tool server for a single assistant: one Claude Code session that just needs files, git or search gains little from it. Teams that cannot run Bun, or want a managed service, should look elsewhere. Anyone after the scheduling, project board or node file tools must use the preview channel, since the latest release lacks them.

Tools 40

report_status
Agent reports its state and gets back how many commands wait in its inbox
report_completion
Agent records that a task is finished, with its results
get_inbox
Fetch the commands waiting for this session
ack_inbox
Confirm that inbox commands were received
send_task
Put a task into another agent's inbox by its alias
send_message
Send a message to an agent without opening a task
send_reply
Answer a task started from the dashboard or close an agent-to-agent task
send_ack
Acknowledge a task without adding it to the inbox
send_peer_reply
Finish a node task and deliver its result in one step (used by nodes)
retry_task
Run again a task that failed, expired or was cancelled
cancel_task
Cancel a task that is delivered, acknowledged or running
reassign_task
Move a task to a different agent
get_task
Look up one task's details, state and result
list_tasks
List tasks with filters
get_all_status
Show the state of every session on the hub
get_session_status
Show one session's details by alias
get_completions
List recent task completions
broadcast
Send one message to many sessions at once
submit_skill
Submit a new immutable SKILL.md version to the network's skill library
list_skills
List published skills, plus pending ones for owners and admins
get_skill
Read one SKILL.md
review_skill
Publish or reject a pending skill (owner or admin)
create_node
Ask a machine's daemon to create and start a new agent node
delete_node
Stop a node, revoke its token and remove it from the hub
stop_node
Stop a node's process while keeping its configuration
restart_node
Restart a node without changing its configuration
update_node_config
Set a node's target model and flags and notify it
get_config_update
Node fetches a pending configuration change (internal)
ack_config_update
Node reports the outcome of a configuration change (internal)
get_create_request
Daemon fetches a pending node-creation request (internal)
ack_create_request
Daemon reports whether a new node started (internal)
get_stop_request
Daemon fetches a pending stop or delete request (internal)
ack_stop_request
Daemon reports a stop or delete as done or failed (internal)
list_host_supervisors
List the network's machine daemons and whether they are online
list_my_children
Daemon lists the nodes it spawned (internal)
upsert_provider
Create or update a model provider for the network
list_network_secrets
List the names of vault secrets, never their values
upsert_network_secret
Store or replace an encrypted vault secret
mark_tasks_consumed
Node signals which tasks it took in this round (internal)
mark_tasks_runtime_submitted
Node signals which tasks it passed to its runtime (internal)

Similar servers