hyperhive/hive-agent-mcp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 11097ed336 remove the get_host_journal MCP tool and its capability
swarm-logs covers every host-tier unit this tool could reach, so the
second, capability-gated path into host journald earns nothing and is
removed outright rather than disabled behind a flag.

Removed end to end: the MCP tool definition + handler, the
GetHostJournal/HostJournal wire variants, hive-c0re's
dispatch_host_journal handler, the ReadHostJournal capability, and the
harness-side capability->--allowedTools gate. get_host_journal was the
only capability that mapped to an MCP tool, so allowed_capability_tools
could only ever return an empty vec; it goes too rather than linger as a
function that provably does nothing.

capabilities::has_cap/caps_for stay: #4624 gave ManageRootAgent's
bind-mount enforcement (hive-c0re/src/lifecycle/host_config.rs) a
second caller of has_cap, so they're no longer callerless once this
lands on top of it.

hive-sh4re's journal module (JournalPriority) had no consumer outside
this tool and is deleted.

An existing capabilities.json still naming read_host_journal does not
error: capabilities::prune_unknown drops unrecognised names with a
warn!, and an agent left with no capabilities has its entry removed. No
migration step is needed.

Untouched: hive-c0re/src/dashboard/journal.rs's
read_host_journal_response, which matches the name but is the private
helper behind the operator-only GET /api/journal-host dashboard route
and carries no capability check.
2026-09-21 19:31:45 +02:00
..
src remove the get_host_journal MCP tool and its capability 2026-09-21 19:31:45 +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: drop the subtree check from the scheduling verbs 2026-09-21 17:20:44 +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, 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.