Self-hosted relay connecting every teammate's personal AI agent — tasks, questions, decisions and deliveries over standard MCP, with identity, policy and audit.
Agent Relay defines 4 tools with reasonable naming (verb_noun pattern) and documented schemas. However, descriptions are inconsistent in depth, parameter descriptions lack detail on constraints and formats, and output schemas are not documented. relay_respond and relay_send have good parameter coverage with enums and constraints, but relay_inbox and relay_sent lack specificity on return structure. Error handling guidance is absent across all tools. The server uses HTTP transport and integrates with MCP SDK 1.30.0, but lacks modern spec features like tool annotations and structured error recovery patterns.
Retrieve pending exchange items (questions, decisions, deliveries) from the relay inbox with optional filtering by status and limit
Respond to an exchange item (question, decision, delivery) with an action (respond, decline, acknowledge) and optional body text
Send an exchange item (question, decision, or delivery) to another human team member
List exchange items sent by the current user with optional filtering by status and limit
Output schemas not documented. relay_inbox and relay_sent return lists but no schema describes the structure of returned exchange items (fields, types, required properties). LLMs cannot plan downstream calls without knowing what data is available.
Parameter descriptions lack format and constraint details. 'limit' is described as '1-50, default 20' but no description states the type is number or what happens if omitted. 'statuses' array lacks enum values or examples. 'body' in relay_respond lacks max length or required-for-action guidance.
No error handling or recovery guidance. Tools do not document what errors are possible (e.g., exchange_id not found, permission denied, invalid action) or how the LLM should respond. No actionable error messages defined.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
relay_send lacks idempotency guidance. The 'request_id' parameter suggests idempotent design, but the tool description does not state that repeated calls with the same request_id return the same result without side effects. Agents need this guarantee to safely retry.
relay_respond 'body' parameter is optional but required for 'respond' action. Dependency between parameters is not documented. LLMs may omit body when calling with action='respond', causing silent failures.