MCP server that wraps the Kriisko-Hive REST API for task management, agent orchestration, and terminal session control
Server exposes 11 tools with basic schemas and descriptions. All tools have input schemas with type definitions and descriptions present. However, descriptions are minimal (10-50 chars), lacking context on WHEN to use each tool, prerequisites, or recovery guidance. Parameter descriptions are present but terse. No output schemas documented. Error handling returns JSON errors but lacks actionable recovery guidance. Tools like start_agent and start_orchestrator expose dangerous capabilities (dangerousMode flag) without permission gates or confirmation patterns. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Composition is reasonable, tools chain via projectId/taskId, but agent-related tools (start_agent, write_to_agent, read_agent_output) lack clear sequencing guidance.
POST /api/tasks?projectId — create a task
DELETE /api/tasks/:taskId?projectId
GET /api/tasks then group by column: todo, in-progress, review, done
GET /api/sessions — returns { sessions: string[] }
GET /api/tasks?projectId — returns tasks JSON
GET /api/agents/buffer — returns { buffer, bufferLength }
POST /api/agents/start — start agent for a task
Descriptions are minimal (10-50 chars) and lack context. 'GET /api/tasks?projectId, returns tasks JSON' tells WHAT but not WHEN to use it vs get_board_state, or what structure is returned. LLMs cannot distinguish similar tools without richer guidance.
No output schemas documented. Callers cannot know what fields to expect (e.g., does list_tasks return {tasks: [...]} or {data: [...]}?). This forces LLMs to guess and wastes tokens on trial-and-error.
Dangerous operations (delete_task, start_agent with dangerousMode, start_orchestrator) lack permission gates, confirmation patterns, or dry-run support. An agent can delete all tasks or start arbitrary orchestrators without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
POST /api/orchestrator/start — starts orchestrator (fetches tasks by projectId)
DELETE /api/agents/session?projectId&taskId
PATCH /api/tasks/:taskId?projectId — update a task
POST /api/agents/write — send text to agent (appends \n if missing)
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools like delete_task and start_agent should be marked destructive so clients can warn users or require confirmation.
Error handling returns generic JSON errors without recovery guidance. 'error: message' tells the LLM nothing about whether to retry, ask the user, or give up. No categorization of retryable vs fatal errors.