MCP server to send messages and embeds to Discord webhooks via stdio.
Server has 2 tools with reasonable naming and basic descriptions, but significant gaps in parameter descriptions, schema documentation, and error handling guidance. Both tools are write operations but lack confirmation/dry-run patterns. Output schemas are not documented. Parameter descriptions exist but are minimal (10-30 chars). Tool names start with action verbs (discord-send-*) which is good, but descriptions lack context about when to use each tool and what they return. Error handling returns structured responses but lacks recovery guidance. No tool annotations (destructiveHint critical for write operations). This is a functional but below-average MCP server that would benefit from richer parameter docs and output schema documentation.
Send an embed message to a Discord webhook with optional OpenAI-powered auto-formatting
Send a message to a Discord webhook
Missing output schema documentation. Neither tool documents what fields it returns or what the LLM should expect. Tool descriptions say 'sent successfully' but don't specify response structure.
No tool annotations for destructive operations. Both discord-send-message and discord-send-embed perform irreversible writes to Discord but lack destructiveHint annotation. Agents cannot distinguish these from read-only tools.
Insufficient parameter descriptions. Parameters like 'embeds' (discord-send-embed) have minimal descriptions ('Array of Discord embed objects') that don't explain format, required fields, or valid structure. Parameter 'content' in discord-send-embed is vaguely described without length limits or format expectations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 5 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Error messages lack recovery guidance. Both tools return error responses but don't tell the LLM what to do next (retry, ask user, check webhook URL format). Pattern:recovery-guide violations.
Missing confirmation/dry-run pattern for irreversible operations. Both tools send messages immediately without offering a dry-run or confirmation step. Agents cannot preview before committing.
discord-send-embed has parameter dependency not documented. The 'autoFormat' parameter changes behavior of 'content' and conditionally requires 'OPENAI_API_KEY' env var, but this dependency is not stated in parameter descriptions or tool description.
Webhook URL validation absent from tool descriptions. webhookUrl parameter lacks format description, length constraints, or validation guidance. LLMs may pass invalid URLs without guidance on expected format.