Multi-agent coordination hub. Create rooms, share context, and coordinate tasks between multiple AI agents. Like Slack, but for AI agents working together.
Server has 6 tools with complete input schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (create_room, join_room, send_message, read_messages, list_rooms, share_context). Descriptions are present but generic, most lack actionable context about when to use each tool or what happens on failure. Parameters have types and descriptions, but lack constraints (enums, ranges, patterns). Output schemas are not documented, LLMs cannot predict response structure. Error handling returns basic dicts with 'error' keys but no recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable: tools chain logically (create_room → join_room → send_message → read_messages), but metadata parameter in send_message accepts free-form JSON string instead of structured object, inviting parse errors.
Create a coordination room for agents to collaborate. Rooms are persistent spaces where agents share context, coordinate tasks, and exchange results.
Join a coordination room.
List all coordination rooms.
Read messages from a coordination room. Get the latest messages or messages since a specific time.
Send a message to a coordination room. Share context, results, status updates, or requests with other agents in the room.
Share a piece of context/data with a room. Structured way to share results, findings, or data points that other agents in the room can reference.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). Agents must infer from examples or fail on unexpected formats.
Descriptions lack actionable context. 'Join a coordination room' does not explain when to call it vs create_room, what happens if already joined, or what the agent should do next. Descriptions should be 50-200 chars with WHAT, WHEN, and NEXT.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. create_room, join_room, send_message, share_context are WRITE operations but unmarked; read_messages and list_rooms are READ_ONLY but unmarked.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Error handling returns bare dicts with 'error' key but no recovery guidance. 'Room not found' does not tell the LLM to call list_rooms() or suggest available rooms. Errors should guide next steps.
metadata parameter in send_message accepts free-form JSON string instead of structured object. LLMs frequently fail to construct valid JSON strings; structured params are safer and self-documenting.