MCP server for agent orchestration within The Cog IDE. Provides inter-agent messaging, status management, agent discovery, and workspace coordination.
7 tools with clear verb-noun naming and reasonable descriptions (avg 120 chars). All tools have input schemas with typed parameters. However, output schemas are undocumented, LLMs cannot predict response structure for chaining. Error handling is minimal; no recovery guidance or actionable error messages. Parameter descriptions are present but sparse (avg 45 chars vs baseline 72). Missing idempotency hints for stateful operations (send_message, ack_messages, update_status). No pagination support despite get_agent_output accepting 'lines' parameter. Tool composition is reasonable but lacks cross-tool field alignment (e.g., agent names vs IDs).
Acknowledge and remove messages from your queue after processing them. Call this after successfully handling messages from get_messages().
Peek at another agent's recent terminal output. Useful for checking what an agent is doing without messaging them.
List all agents in the workspace with their names, roles, CLI types, CEO notes, and current status.
Check for messages sent to you by other agents. By default, messages are returned without clearing the queue (peek mode). Call ack_messages() with the message IDs to remove them after processing. IMPORTANT: Do NOT poll this in a loop — you will be nudged automatically when a message arrives.
Re-read your CEO notes and role description. Useful for re-grounding after /clear or when you need to recall your instructions.
No output schemas documented. LLMs cannot predict response structure (fields, types, nesting) for downstream tool chaining. E.g., get_agents returns agent list but response format is invisible.
Stateful operations (send_message, ack_messages, update_status) lack idempotency guarantees or retry guidance. Agents may duplicate messages or status updates on transient failures.
Error handling is absent. No error messages, recovery guidance, or categorization (retryable vs fatal). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Send a message to another agent in the workspace. The message will be queued and the target agent will receive it when they call get_messages().
Update your status in the hub. Use to signal whether you are idle, active (at prompt), or working (processing a task).
Parameter descriptions are sparse (avg 45 chars vs baseline 72). E.g., 'peek' in get_messages lacks detail on queue semantics; 'lines' in get_agent_output lacks range constraints.
Tool composition risk: send_message accepts 'to' (agent name string) but get_agents returns agent objects. No guarantee that agent names from get_agents match the 'to' parameter format.