Server has 12 tools with complete input schemas and descriptions present. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), lack actionable context, and omit critical details like prerequisites, return types, and error guidance. Parameter descriptions are sparse. No output schemas documented. Missing error handling patterns and recovery guidance. Tool names follow verb_noun convention but descriptions don't explain WHEN to use each tool or what distinguishes similar tools (e.g., add_reaction vs add_multiple_reactions). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Schemas are present but lack constraints (enums, patterns, ranges) that would guide LLM input validation.
Add multiple reactions to a message
Add a reaction to a message
Add a role to a user
Create a new text channel
Delete a channel
Get a list of all channels in a Discord server
Get information about a Discord server
Descriptions are critically short (10-50 chars vs 194-char baseline). Missing WHEN to use, prerequisites, return types, and error recovery guidance. LLMs cannot distinguish add_reaction from add_multiple_reactions or understand consequences of destructive operations.
No output schemas documented. Callers cannot know what fields to expect (e.g., does get_server_info return member_count, created_at, owner_id?). Breaks tool chaining and forces LLMs to guess downstream parameter mappings.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. delete_channel is DESTRUCTIVE but unmarked. Agents cannot reason about retry safety or confirmation requirements.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
Get a list of members in a server
Read recent messages from a channel
Remove a reaction from a message
Remove a role from a user
Send a message to a specific channel
Parameter descriptions lack constraints. 'emoji' parameter in add_reaction has no format guidance (Unicode vs custom emoji ID syntax). 'limit' in list_members has min/max but no explanation of what happens if omitted. No enum constraints where applicable.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'User not found', 'Insufficient permissions', 'Channel already exists'). No guidance on retryability or next steps for LLM.