S3-backed messaging server enabling cross-environment communication between Kiro and Amazon Quick agents. Messages are stored in S3 for shared access between local Windows and cloud DevSpaces environments.
Agent Bridge MCP has 6 tools with basic naming and descriptions, but significant gaps in schema completeness, parameter documentation, and error handling. Tool names follow verb_noun convention (send_message, get_messages, mark_read, get_conversation, list_conversations, get_stats), which is good. However, descriptions are present but generic (10-100 chars), and critical parameter details are missing. Input schemas are visible in the code but lack proper type definitions for several parameters (e.g., 'metadata' is string, not object; 'message_ids' is comma-separated string instead of array). No output schemas documented. Error handling returns JSON strings instead of structured errors with recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The server is STDIO-only, which caps protocol readiness at 50 regardless of definition quality.
Retrieve a full conversation with all messages.
Check for messages addressed to you.
Get bridge statistics — message counts, unread counts, active conversations.
List all conversations, optionally filtered by status.
Mark messages as read.
Send a message to another agent. Use this to communicate with the other agent — ask questions, share context, provide responses, or relay information.
Parameter type mismatches: 'metadata' is string (requires JSON parsing), 'message_ids' is comma-separated string instead of array. LLMs will struggle to format these correctly.
No output schemas documented. LLMs cannot infer what fields to expect from responses (e.g., does get_messages return 'unread_count' or 'count'? Does list_conversations include 'message_count'?). Breaks tool chaining.
Error handling returns JSON strings (e.g., '{"error": "..."}') instead of structured errors with recovery guidance. LLMs cannot parse or act on these errors.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot determine which tools are safe to retry or have side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Parameter descriptions lack constraints. 'limit' has no min/max (default 25, but unbounded). 'status' filter values not enumerated in descriptions. 'message_type' enum exists in code but not in schema.