A Python implementation of MCP server for AI-human collaboration via Discord
Two tools with minimal schema documentation and weak descriptions. 'ask' and 'report_message' have basic input schemas (question/message strings, timeout integer) but lack output schema documentation. Descriptions are present but generic (10-50 chars), below the 50-200 char LLM-optimized baseline. No parameter constraints (enums, ranges), no error handling guidance, no idempotency hints. Tool names lack clarity on state mutation (ask/report_message don't signal they interact with Discord). No tool annotations (readOnlyHint, destructiveHint). Schema completeness is low, output types are undocumented.
Ask a question to human via Discord and wait for response
Report a message to human without waiting for response
Output schemas completely undocumented. No specification of what 'ask' returns (response text? structured object?) or what 'report_message' returns (success boolean? message ID?). LLMs cannot plan downstream calls without knowing output structure.
Descriptions are too short (10-50 chars) and lack context. 'Ask a question to human via Discord and wait for response' does not explain when to use this vs report_message, what format the response takes, or error conditions. Below 50-char minimum for LLM optimization.
No error handling guidance. If Discord is unreachable, user offline, or timeout expires, what does the tool return? No recovery hints for the LLM (e.g., 'If user does not respond within timeout, try report_message instead').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | <=2025-11-25 | v2 |
No parameter constraints. 'timeout' integer has no min/max bounds, LLM could pass 0, -1, or 999999. 'question' string has no length limit or format guidance. Missing enum/pattern constraints invite invalid inputs.
Tool names lack action clarity. 'ask' and 'report_message' do not signal they are Discord-specific or that they mutate state (send messages). Verb-noun pattern (e.g., 'send_discord_message', 'request_user_input') would be clearer.