MCP server for agent intelligence system providing agent routing, workstation capacity management, and repository harness configuration lookup.
Four tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools are READ_ONLY and stateless. Naming follows verb_noun convention (list_, get_). Descriptions exist but are brief (60-90 chars, below the 194-char baseline). Critical issue: no output schemas documented, no parameter descriptions for most inputs, and no error recovery guidance. The server loads a YAML profile but does not validate or document the expected structure. Tool composition is reasonable (each does one thing), but parameter constraints are minimal.
Checks the workstation capacity to see if it is safe to launch new parallel agent sessions.
Gets the safety rules and health-checking command for a specific repository.
Determines the best coding agent and model for a given task complexity (1-10).
Lists all AI coding agents configured in this workstation fleet.
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. Tools return JSON text blobs without field-level documentation.
Parameter descriptions missing or incomplete. 'complexity' has a good description (min/max bounds), but 'taskDescription' lacks guidance on format/length. 'repoName' example values ('FrankX, SIS, Arcanea') in description risk LLM literal reuse.
Error handling lacks recovery guidance. get_repo_harness returns isError=true with a plain message, but does not suggest alternatives (e.g., 'Available repos: ...'). No actionable next steps for LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Profile loading is fragile. Fallback returns empty/zero-valued config if file missing. No validation of YAML structure. LLM receives misleading 'No runtime agent configured' when profile is malformed, not when agents are genuinely absent.
No pagination or result limits. list_agents returns all agents as JSON text. If fleet has 1000+ agents, response bloats context window. No limit parameter, no cursor, no total count.