hyperhive/hive-agent-mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 576294012b docs: three comments point at a nix directory that does not exist
`nix/templates/harness/` is cited from `send_allow.rs` and twice from
`mcp_config.rs`, in the present tense, as where the NixOS module writes
the send allow-list, writes the extra-MCP spec, and defines the MCP http
port default. There is no such directory — `nix/templates/` holds only
`agent.nix` and `ruth.nix`.

All three describe things that live in `nix/agent-modules/mcp.nix`:
send-allow.json is written at :230, extra-mcp.json at :228, and the
`hyperhive.mcp.httpPort` option is declared at :143.

These are the mechanical half of #3923, which explicitly carved the
repointing out from the question of whether the reference gate should
widen. Nothing here changes that question.
2026-09-02 14:19:03 +02:00
..
src docs: three comments point at a nix directory that does not exist 2026-09-02 14:19:03 +02:00
Cargo.toml refactor(sock): one socket client, retry as a policy value 2026-07-26 22:44:48 +02:00
README.md hive-c0re/hive-sh4re: remove the ask/answer wire protocol + core routing 2026-08-30 01:18:17 +02:00

hive-agent-mcp

The built-in hyperhive MCP server every agent gets by default. Runs a long-lived streamable-http listener (the hive-mcp-http systemd unit) that claude reconnects to each turn via --mcp-config — this avoids the per-turn stdio re-registration race that a spawned-per-turn server would hit. HTTP is the sole transport; there is no stdio mode here.

When to use it

This is where the core hyperhive tool surface lives: send, recv, remind, get_loose_ends, set_status, get_agent_meta, lifecycle (kill/start/restart/update on direct children), scheduling, and the approval-request tools. Reach for this crate when you're adding or changing a built-in tool rather than an extraMcpServers add-on — those are separate stdio bridges (see hive-bash-mcp, hive-matrix-mcp) that dial the harness socket or their own daemon instead of living here.

Shape

  • mcp/ — the tool surface itself: one handler per tool, dispatch through client.rs back into the hyperhive broker (/run/hive/mcp.sock) or, for loose-ends v2 (todos/reminders), the in-agent socket the hive-agent harness serves.
  • client.rs — socket client to the hyperhive broker.
  • send_allow.rs — enforces the per-agent hyperhive.allowedRecipients allow-list on send.
  • paths.rs — socket + state path resolution shared with the harness's own paths.rs conventions.

Sibling of hive-agent (the serve loop that renders the --mcp-config blob pointing here). Standalone bin crate so the always-on MCP server doesn't need to link the whole turn-loop lib.