MCP server where agent sessions coordinate through a shared mailbox and a message can be an obligation that takes two parties to close
Critical failures across all dimensions. Source code inspection reveals tool definitions exist in server.py but NO VISIBLE INPUT SCHEMAS, parameter descriptions, or output documentation. All 41 tools have only bare names and risk labels. Descriptions are trivial (10-20 chars: 'Acknowledge a pinned message', 'Add a role to a channel'). No parameter type definitions, constraints, or LLM guidance. No error handling documentation. This server exposes raw domain logic without the abstraction layer agents need. STDIO transport compounds the issue, not remotely testable.
Acknowledge a pinned message
Add a role to a channel
List messages awaiting acknowledgement
Backfill superseded messages
Generate a board link for viewing the channel
Get the current status of the channel
Confirm resolution of an obligation
NO INPUT SCHEMAS VISIBLE. All 41 tools lack documented parameter types, constraints, and descriptions. Cannot verify JSON Schema compliance or parameter validation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Create a new channel
Delete a channel
Delete a message
Get acknowledgements for a message
Get the charter template
Get content from a message
Get the protocol documentation
Get a message thread
List all channels
List messages in the channel
List roles in the channel
Mark a message as read
Get the history of a message
List open obligations
Get a pinned message
Get the history of a pinned message
List pinned messages
Pin a message
Read the inbox
Mark work as ready
Reopen a closed message
Resolve a message obligation
Revise a message
Revoke board access
Rotate a role token
Seal content in a message
Search messages in the channel
Send a message to the channel
Get the server build information
Set the work status of an obligation
Undo a backfill operation
Upload content to a message
Wait for new mail in the channel
Wait for a reply to a message
TRIVIAL DESCRIPTIONS (10-20 chars). All tool descriptions are bare action labels ('Acknowledge a pinned message', 'Add a role to a channel'). No guidance on WHEN to use, WHAT it returns, or prerequisites. LLMs cannot distinguish similar tools or plan multi-step sequences.
NO PARAMETER DOCUMENTATION. No visible parameter descriptions, type hints, enums, or constraints. LLMs cannot infer what 'status', 'role', 'message_id', or 'channel_id' mean or what values are valid. Invites hallucinated inputs.
NO OUTPUT SCHEMAS. No documentation of what fields list_messages, get_thread, or search_messages return. Agents cannot plan downstream tool calls or extract required IDs (channel_id, message_id, etc.) for chaining.
DESTRUCTIVE TOOLS LACK CONFIRMATION. delete_channel, delete_message, and other DESTRUCTIVE-risk tools have no dry-run, confirmation step, or undo guidance. Agents can irreversibly destroy data without safeguards.