Message queue for AI coding assistants — cloud relay for cross-machine AI session communication
agent-mq has 7 tools with schemas and basic descriptions, but significant gaps prevent higher scoring. All tools have descriptions (positive), but descriptions are generic and often under 100 chars with no guidance on when to use each tool or what prerequisites exist. All input parameters are typed via Zod and visible in source (positive), but parameter descriptions are minimal (agent name, message content, etc.) with no constraints, ranges, or format guidance. Output schemas are not documented, tools return JSON-serialized responses but the structure of returned data is never declared. Error handling is absent: there is no guidance on what errors can occur, what they mean, or how to recover. Security concern: mq_login accepts a token as a parameter, violating the secret-injection pattern. Tool composition is reasonable (send, receive, list, login/logout), but mq_add and mq_send both operate on agents/messages with overlapping semantics that could be disambiguated better. No retry guidance, idempotency declarations, or output field documentation.
Add an agent to the message queue
View delivered message history
Login with a token. Server defaults to config.
Disconnect from server
List all registered agents
Receive and consume messages for an agent. Poll periodically to check for new messages.
Send a message to a target agent by name
mq_login exposes token as a tool parameter, violating secret-injection pattern. Tokens leak into agent traces, logs, and LLM context.
Output schemas are not documented. Tools return JSON-serialized responses but the structure of returned objects (agent fields, message fields, etc.) is never declared to the LLM.
Parameter descriptions are minimal or missing. Most parameters lack format guidance, constraints, valid values, or examples. LLMs cannot infer constraints from names alone.
No error handling or recovery guidance. Tools provide no indication of what errors can occur, what they mean, or how agents should recover. A bare error message gives LLMs nothing to act on.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 42 | 2026-07-28+ | v2 |
Enum values not declared for parameters that accept restricted sets. msg_type and priority in mq_send have defaults ('text', 'normal') but no enum constraint, LLMs will hallucinate invalid values like 'important' or 'binary'.
Tool descriptions lack 'when to use' guidance. Descriptions state WHAT tools do but not WHEN to call them or how they differ from similar tools. mq_send and mq_recv operate on messages but their distinction is unclear.
No pagination or result limit enforcement documented. mq_history accepts a limit parameter but min/max bounds are not stated, LLMs may request unlimited results, exhausting context or hitting API limits.