discord_get_user
Public profile of any Discord user by id.
Bulk support: accepts user_ids for batched execution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| user_id | Yes | ||
| user_ids | No |
Public profile of any Discord user by id.
Bulk support: accepts user_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| user_id | Yes | ||
| user_ids | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds value by specifying 'public profile' (which implies no private data) and 'bulk support' (batched execution). This goes beyond the annotations, though it doesn't disclose error handling or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and the second sentence immediately adds the bulk-support detail. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool, the description is serviceable but not fully complete. It lacks details on how user_id and user_ids interact, and since there is no output schema, it doesn't describe the return format (e.g., single object vs. array). The 'account' parameter is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no parameter descriptions, and schema coverage is 0%. The description explains 'user_id' as the ID and 'user_ids' for batch, but it doesn't mention the 'account' parameter at all. This partial compensation still leaves ambiguity about the account parameter and the relationship between user_id and user_ids.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Public profile of any Discord user by id,' using a specific verb (get/public profile) and resource (Discord user). It distinguishes itself from sibling tools like discord_get_guild or discord_get_channel by focusing on users, and even differentiates from discord_get_me via 'any' user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use when you need a public profile of a user by ID, with bulk option. However, it doesn't explicitly mention alternatives or exclusions (e.g., 'for the current user use discord_get_me'), but the phrase 'any Discord user' conveys the scope well enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.