The Swarm Orchestration Layer for Agentic Environments. One request. Multiple specialists. Merged intelligence.
MCP Hive shows ambitious swarm orchestration architecture but suffers from critical naming, schema, and composition gaps that severely limit LLM usability. Tool names use noun-first patterns (hive_swarm, hive_harvest) rather than action-verb conventions, violating the 90% A+ baseline of verb-starting names. Parameter descriptions exist but are often vague (e.g., 'The content of the insight' for a complex object). Error handling returns synthesized batches on failure but lacks recovery guidance or actionable next steps. Most critically, three of four tools (hive_post_insight, hive_spawn_subtask, and partially hive_swarm) rely on runtime context (swarm_id, task_id) that is not reliably produced by other tools in the suite, breaking tool-chain composability. The server attempts sophisticated agent-to-agent delegation but exposes this complexity to the LLM caller rather than abstracting it.
Collects results from a previously launched background swarm.
Allows a Worker Bee to share a discovery or blocker with the rest of the swarm in real-time.
Allows a Worker Bee to request a new specialized persona to handle a sub-problem discovered during analysis.
Spawns a background swarm of parallel AI subagents to execute arbitrary tasks simultaneously.
Tool names do not follow verb-noun convention. 90% of A+ tools start with action verbs (get, create, search, list). MCP Hive uses noun-first patterns: hive_swarm, hive_harvest, hive_post_insight, hive_spawn_subtask. This violates LLM action-inference heuristics and makes the tool set harder to navigate.
No documented output schemas. Tools return results (swarm_id, insight_id, task_id) but these are not formally specified. LLMs cannot infer what fields to extract or pass to downstream tools. Violates pattern:tool (output schema must be documented) and breaks tool-chain composability.
Parameter descriptions are vague or missing. 'The content of the insight' (hive_post_insight) and 'Context for the new specialist' (hive_spawn_subtask) do not explain what fields are expected, constraints, or structure. Violates pattern:tool-description (every param must have actionable description).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 47 | - | v1 |
Unconstrained object parameters (content, context). Both are z.record(z.string(), z.any()), allowing arbitrary structure. LLMs cannot infer what to pass; LLM will hallucinate fields. Should either provide examples/constraints in description or split into typed subfields.
Tool-chain dependencies not documented. hive_spawn_subtask and hive_post_insight require swarm_id and task_id, but hive_swarm output schema is not shown. LLM cannot determine what values to pass or whether these tools must follow hive_swarm. Violates pattern:tool-chain (output must contain IDs next tool needs).
Workspace path handling lacks input validation. hive_swarm accepts 'Absolute or relative path to the file' but does not document validation against path traversal, symlink attacks, or confirmation of file existence. Violates pattern:tool-gateway (untrusted agent input must be sanitized).
Error recovery guidance is absent. All tools catch errors but return generic messages or synthesized batches without actionable next steps. 'Orchestration aborted' does not tell LLM whether to retry, check inputs, or call a different tool. Violates pattern:recovery-guide (errors must guide agent's next action).
task_id is optional in hive_post_insight but not explained when it is required or what happens if omitted. Ambiguous parameter relationships force LLM to guess. Violates review:param-relationships (dependencies must be explicit).