hive-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HIVE_CONFIG_DIR | No | Where to find `mcp-bridge.json` / `last-project.json` (overrides default config folder). | |
| HIVE_PROJECT_DIR | No | Project folder for read-only mode. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_statusA | Start here. Returns whether hive is running, the open project (name, folder), object counts, the camera and the visible board area (board units) and the current selection. When hive is closed the result has offline:true and only read tools work. |
| describe_node_kindsA | Every node kind hive supports (note, beacon, list, tierlist, goal, calendar, …) with a description, default width, whether it has a Markdown body, and its kind-specific |
| list_nodesA | List nodes with filters (kind, zone, task state, text query, rectangle, linked to a node) and paging. Returns short summaries with a 160-character text preview; use get_nodes for full text. Coordinates are board units, x/y = top-left, y grows downward. |
| get_nodesA | Full data of up to 50 nodes by id or exact name: every stored field, the complete Markdown text, effective size, links (with the other node's name) and zone. |
| search_nodesA | Search node names, kinds and text with hive's own Search ranking (name matches first). Returns ids, names and a snippet around the match. |
| create_nodesA | Create one or many nodes (any kind) and optionally link them, in ONE undoable step (Ctrl+Z in hive removes the whole batch). Nodes get the same defaults as hive's Q menu. Placement: explicit x/y, else |
| update_nodesA | Change existing nodes in ONE undoable step: rename, replace or precisely edit the Markdown text (find/replace that must match exactly once, append, prepend), move/resize, colours, glow, header, task state, importance, purposes, moods, zone, kind-specific data. Only the fields you pass change. |
| delete_nodesA | Delete nodes exactly like the Delete key in hive: they go to the Trash (restorable with restore_from_trash) together with their links. mode "archive" archives instead. One undoable step. |
| move_nodesA | Set exact top-left positions (board units) of nodes. One undoable step. |
| arrange_nodesA | Lay out existing nodes as a row, column, grid, tree (by their links) or circle starting at |
| list_linksB | All lines between nodes, or only those touching |
| create_linksA | Draw lines between existing nodes (strong = arrow from → to, weak = dashed). hive's linking rules apply (e.g. beacons only have outgoing links); a refused link explains why. One undoable step. |
| update_linksB | Change kind or shape of existing links. One undoable step. |
| delete_linksA | Remove links by id (nodes stay). One undoable step. |
| list_zonesA | Zones (coloured areas that group nodes) with their rectangles and member node ids. |
| create_zoneB | Create a zone either from an explicit rectangle or |
| update_zoneA | Rename, recolour or move/resize a zone. One undoable step. |
| delete_zonesB | Delete zones; their nodes stay on the board. One undoable step. |
| import_fileA | Add a file from disk to the project exactly like dropping it on the board: it is copied into the project folder (big videos above the user's threshold are linked instead) and becomes an image, GIF, PDF, audio, video, text/code (format) or source node. Use an absolute path. |
| list_trashA | Entries in the project's Trash (deleted nodes) that restore_from_trash can bring back. |
| list_archiveC | Archived nodes of the project. |
| restore_from_trashA | Restore Trash entries by id (as listed by list_trash) to their old place, with their links. One undoable step. |
| focus_viewA | Move hive's camera so the given nodes (or rectangle) are visible — use after creating something so the user sees it. Not an undo step. |
| undo_last_changeA | Undo the most recent change in hive. By default only undoes changes made through this MCP server (entries labelled "MCP: …") and refuses if the user changed something since. |
| save_projectA | Write all pending changes to the project folder immediately (hive also saves automatically). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Most tools target clearly distinct resource+action pairs (create/update/delete/move/arrange nodes, CRUD for links and zones, trash/archive handling). A few boundaries blur: move_nodes vs arrange_nodes vs update_nodes (which also moves/resizes), and search_nodes vs list_nodes (which takes a text query) vs get_nodes, though descriptions clarify the intended use.
Almost all tools follow a clean snake_case verb_noun pattern (create_nodes, list_links, update_zone, delete_links). The main blemish is pluralization drift within the same resource (create_zone singular vs list_zones/delete_zones plural) and describe_node_kinds, but overall it is predictable and readable.
25 tools is at the heavy end for the apparent scope. The domain (nodes, links, zones, trash, archive, files, view, project) is genuinely rich and most tools earn their place, but full CRUD replicated across nodes/links/zones plus many utility verbs makes the surface feel crowded and could be consolidated.
Coverage is strong: full CRUD across nodes, links, and zones, plus trash listing/restore, import, view focus, undo, save, status, kind introspection, and list/get/search. The one notable dead end is archive handling — list_archive exists but there is no restore/unarchive operation, and no permanent delete or empty-trash.