Discord
Server Details
Connect a Discord bot (bot token from the developer portal) to read/send messages, list guilds and c
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/discord-mcp
- GitHub Stars
- 0
TDQS
Scored across 21 tools
The discord_* tools are clearly separated by resource and action; get/list and channel/DM variants are unlikely to be confused. Slight ambiguity exists between authenticate/connect and the fact that marketplace bundles report-style actions alongside the standalone report_bug, but descriptions mostly resolve this.
The Discord-specific tools all follow a regular discord_verb_noun pattern, which is clean. The six non-Discord tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) break that pattern, creating a mixed convention that is still readable.
21 tools is on the heavy side; the 15 Discord operations are reasonable, but the six platform/meta tools and the sprawling marketplace tool broaden the set beyond a pure Discord server. It is not excessively bloated, but it feels like two tool surfaces in one.
The message lifecycle is well covered: send, edit, delete, list, get, reply, and reactions. Minor gaps include reaction removal and administrative actions like create/update/delete channels or guilds, but the core communication workflows an agent needs are present.
Available Tools
21 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavior beyond the annotations: config header yields a permanent connection, while passing a token yields a session-only login, and no args returns a link. It does not fully spell out side effects or success/failure return values, but annotations already cover idempotency and non-destructiveness.
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?
The description is dense and front-loaded, with no fluff, but the long single sentence with parenthetical clauses and multiple alternatives could be structured into clearer separate instructions. Still, every part adds necessary information.
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 one-parameter auth tool with no output schema, it covers the no-arg return (the link), the token-paste path, and the persistent-config alternative. It doesn't state the response on a token success/failure, but the invocation guidance is sufficient for an agent to call it correctly.
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?
With 0% schema coverage, the description carries the full burden for the optional `token` parameter. It explains that token is a JWT/access token pasted by the user and how to pass it, compensating well for the bare schema.
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 identifies the tool as MCP.AI authentication for IDE agents, with a concrete browser-login + access-token flow and two invocation paths (no args for a link, token for login). This specific verb+resource is unambiguous and easily distinguished from the unrelated calculo_* sibling tools.
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 explicitly differentiates the persistent config-header approach ('best... permanent, non-expiring') from the session-only paste/login path, and states exactly when to call with no args versus with { token }. This gives the agent clear selection criteria for both setup and invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectARead-onlyIdempotentInspect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is read-only, idempotent, and non-destructive. The description adds useful behavioral detail beyond that by specifying the two main response states: authenticated:true with empty pending[] when all providers are connected, and connect_url plus per-install URLs when credentials are missing. This helps an agent predict what to expect.
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?
The description is compact, front-loads the core purpose, and then adds only the essential conditional details. Every sentence contributes meaningful information, and there is no waste.
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 zero-parameter read-only status tool with no output schema, the description is complete enough. It tells the agent what information will be returned, what the success condition looks like, and what happens when credentials are missing. The low complexity means no additional guidance is required.
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?
The tool has zero parameters, so the description does not need to explain any input semantics. The baseline of 4 applies because there is no parameter burden at all.
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 the tool's purpose: returning connection status and URLs. It distinguishes connect from its sibling authenticate by framing it as a status/read operation rather than an action, and the conditional output descriptions reinforce this.
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?
The description makes clear that this is the tool to call when checking connection state or getting URLs. It does not explicitly mention alternatives like authenticate, but the context strongly implies connect is for status checking rather than initiating authentication, so usage is clear without being fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_add_reactionAInspect
Add a reaction to a message. emoji is either unicode (e.g. 👍) or name:id for custom guild emoji.
Bulk support: accepts channel_ids, message_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| emoji | Yes | ||
| account | No | ||
| channel_id | Yes | ||
| message_id | Yes | ||
| channel_ids | No | ||
| message_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful context beyond annotations by explaining emoji encoding (unicode vs name:id) and bulk execution support. However, it does not disclose behavior such as permission requirements, what happens on duplicate reactions, error handling, or whether bulk mode replaces or supplements the singular parameters. With all annotation hints false, more behavioral detail would be expected.
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?
The description is two sentences with no fluff. The main action is front-loaded, and the bulk support note is clearly separated. Every piece of text adds value, and the structure is easy to scan.
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 tool with 6 parameters, no output schema, and no enums, the description provides the core action and emoji format but leaves significant ambiguity around bulk execution semantics (e.g., how channel_ids/message_ids pair up, whether they are mutually exclusive with singular IDs) and account selection. It is minimally viable but not thorough for complex or bulk usage.
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 description coverage is 0%, so the description must compensate. It meaningfully explains the emoji parameter (unicode or name:id) and hints at the purpose of channel_ids/message_ids for bulk execution. Yet the remaining parameters (account, channel_id, message_id, and the relationship between singular and plural forms) are left entirely to the schema's bare names.
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 starts with 'Add a reaction to a message', a specific verb+resource combination that clearly distinguishes it from sibling message tools like discord_send_message, discord_delete_message, and discord_edit_message. It additionally explains emoji format, reinforcing the tool's specific behavior.
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?
Usage is implied by the action ('add a reaction'), but the description does not explicitly compare to alternatives or state when not to use this tool. The bulk support sentence gives some context for batched execution, but there is no exclusion or alternative guidance despite relevant sibling tools being present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_delete_messageADestructiveInspect
Delete a message. Irreversible. Bot needs Manage Messages to delete messages authored by other users.
Bulk support: accepts channel_ids, message_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| channel_id | Yes | ||
| message_id | Yes | ||
| channel_ids | No | ||
| message_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint, readOnlyHint=false), the description explicitly states 'Irreversible' and adds the permission prerequisite for deleting others' messages. It also discloses the batch execution capability. These are valuable behavioral details not present in annotations, though rate limits or error handling are not mentioned.
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?
The description is extremely concise—two short paragraphs—with the core purpose first, followed by key caveats and bulk support. Every sentence contributes meaningful information without redundancy.
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 deletion tool with destructive implications and bulk support, the description covers the essential aspects: the operation, irreversibility, permission requirements, and batch capability. It omits details like error behavior or rate limits, but these are not critical for invocation. Given no output schema, the description is reasonably complete.
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 coverage is 0%, so the description must compensate. It does explain the bulk parameters (channel_ids, message_ids) and implies the single-item counterparts, but it does not clarify the 'account' parameter or how the single vs. bulk modes interact. Some parameter meaning is added, but partial coverage remains.
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 the verb 'Delete' and the resource 'message', and distinguishes from sibling tools like discord_edit_message and discord_send_message by specifying deletion. The mention of bulk support adds specific scope, making the purpose unambiguous.
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?
The description provides clear usage context: it states the permission requirement for deleting other users' messages (Manage Messages) and notes bulk support. It does not explicitly contrast with alternatives, but given the distinct operation, it is sufficient for an agent to know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_edit_messageAInspect
Edit a previously-sent message (must be authored by this bot).
Bulk support: accepts channel_ids, message_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| embeds | No | ||
| account | No | ||
| content | No | ||
| channel_id | Yes | ||
| message_id | Yes | ||
| channel_ids | No | ||
| message_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark readOnlyHint=false and destructiveHint=false, so mutation is implied. The description adds a crucial ownership requirement (bot-authored) and reveals bulk support via channel_ids/message_ids, which are not in annotations. It doesn't mention rate limits or partial failure semantics, but gives meaningful extra context beyond the structured fields.
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?
The description is two sentences, front-loaded with the primary purpose, then a concise note on bulk execution. Every word earns its place; 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?
Given 7 parameters, no output schema, and sparse annotations, the description covers the essential purpose, ownership constraint, and bulk capability. However, it omits details on how content/embeds are applied (replace vs. append), error conditions, bulk failure behavior, and any auth/rate-limit notes. For a moderate-complexity tool, this is adequate but not fully complete.
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 coverage is 0% across 7 parameters. The description mentions bulk arrays (channel_ids, message_ids) but fails to explain the primary content fields (content, embeds) which are core to an edit operation. With zero schema descriptions, the description should compensate by detailing parameter roles; it only partial addresses bulk parameters, leaving the main parameters ambiguous.
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 states 'Edit a previously-sent message' with a specific verb and resource, and includes a critical constraint ('must be authored by this bot'). This clearly distinguishes it from siblings like discord_send_message (create) and discord_delete_message (delete), making the purpose unmistakable.
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?
The description provides a usage constraint (only bot-authored messages) but does not explicitly discuss alternatives or when not to use this tool. It implies modifying an existing message but lacks explicit exclusions like 'instead of resending use this' or 'if you want a new message, use discord_send_message'. The constraint adds some guidance but not full comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_get_channelARead-onlyIdempotentInspect
Get a channel's metadata (type, name, topic, parent, permissions).
Bulk support: accepts channel_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| channel_id | Yes | ||
| channel_ids | No |
TDQS
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 meaningful behavioral context by disclosing bulk execution via channel_ids and specifying the metadata fields returned, without contradicting the annotations.
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 short sentences, front-loaded with the core action and followed by a useful bulk-support note. No filler or redundant repetition of the tool name.
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 tool with no output schema, it names the returned metadata fields and batch capability. However, it omits account parameter semantics, batch size/behavior, and error/not-found handling, leaving some practical gaps.
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 description coverage is 0%, so the description must compensate. It explains channel_ids as batch support, but leaves the account parameter unexplained and does not clarify whether channel_ids replaces or supplements the required channel_id.
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?
Description uses a specific verb ('Get') with a clear resource ('a channel's metadata') and enumerates the exact fields returned (type, name, topic, parent, permissions). This clearly distinguishes it from sibling tools like discord_get_message or discord_list_channels.
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?
The bulk support note gives useful context for batched execution, but the description does not explicitly state when to use this tool versus alternatives like discord_list_channels, nor does it mention account selection or exclusions. Usage is implied rather than directly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_get_guildBRead-onlyIdempotentInspect
Get one guild's metadata. Falls back to the connection's default guild_id.
Bulk support: accepts guild_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| guild_id | No | ||
| guild_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the fallback behavior and bulk support, which is useful. However, it does not elaborate on what 'metadata' includes or any rate limits, but with annotations covering safety, this is acceptable.
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?
The description is extremely concise, with two sentences that are front-loaded with the primary purpose and then add two critical behavioral details (fallback and bulk support). No fluff, every word earns its place.
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?
The tool is relatively simple (read operation, no output schema), but it has 3 parameters and no schema descriptions. The description covers the fallback and bulk mode but does not explain the account parameter or return format. Given the simplicity, it is adequate but leaves gaps in parameter understanding.
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 description coverage is 0%, and there are 3 parameters with no descriptions in the schema. The description only mentions guild_ids for bulk support and implies guild_id for single, but does not explain account. With no schema details, the description should compensate but fails to define any parameter semantics beyond the bulk mention.
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 states the tool retrieves metadata for a single guild, which is a specific verb + resource. It differentiates from siblings by focusing on a single guild, unlike list_guilds. However, it doesn't fully clarify the difference from other get_* tools, though the resource is clear.
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?
The description implies it is used when you need a single guild's metadata, and mentions fallback to default guild_id if not specified. It does not explicitly state when to use this over discord_get_guild_members or discord_list_guilds, but the single-guild focus is clear. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_get_meARead-onlyIdempotentInspect
Return the bot's own user profile (id, username, discriminator, avatar, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds value by listing specific returned fields (id, username, discriminator, avatar, etc.), giving the agent a clear idea of the response shape. No contradictions.
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?
A single sentence that is direct and information-dense. It includes the verb, resource, and examples of fields, with no filler. Perfectly concise.
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 getter with no output schema, the description is mostly sufficient, but it omits any explanation of the 'account' parameter and any potential prerequisites (e.g., bot authentication). Given the tool's simplicity and the annotations covering safety, a score of 3 is appropriate.
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?
The schema has one optional parameter 'account' (string) with no description. Schema description coverage is 0%, and the description does not mention this parameter at all. The agent has no guidance on what 'account' refers to, whether it's required for multi-bot setups, or its format. This is a significant gap.
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 the tool returns the bot's own user profile with specific fields (id, username, discriminator, avatar). It distinguishes from sibling tools like discord_get_user, which would fetch other users' profiles.
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?
The description implies when to use it (when you need the bot's own profile) and implicitly differentiates from discord_get_user, but it does not explicitly state 'use this instead of discord_get_user' or list exclusions. Context is sufficient for a simple getter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_get_messageARead-onlyIdempotentInspect
Fetch a single message by id.
Bulk support: accepts channel_ids, message_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| channel_id | Yes | ||
| message_id | Yes | ||
| channel_ids | No | ||
| message_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive. The description adds behavioral context about bulk support and the requirement for IDs, which goes beyond the annotations. No contradiction observed.
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 punchy sentences, front-loaded with the primary action, followed by the bulk extension. No filler or redundancy.
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?
Covers the primary function and bulk option, but lacks details on return format (especially for bulk), error handling, or account selection. With no output schema, the description still leaves some ambiguity for a complete picture.
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 coverage is 0%, so the description must carry the burden. It explains the purpose of channel_ids and message_ids via 'bulk support', but leaves 'account' and the exact relationship between the arrays unclear. The required single-ID params are obvious from the name.
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?
Clearly states it fetches a single message by ID, with an explicit verb and resource. The bulk support line further distinguishes it from list/delete/edit operations, solidifying its purpose.
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?
Provides a clear context: use this to fetch a specific message by ID, with an optional batched mode. It does not explicitly contrast with sibling tools like discord_list_messages, but the core use case is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_get_userARead-onlyIdempotentInspect
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 |
TDQS
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.
discord_list_accountsARead-onlyIdempotentInspect
List Discord bot connections linked to this install — id, label, default guild_id.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint true and destructiveHint false, and the description is consistent with them. It adds useful context by specifying the returned fields and the 'linked to this install' scope, though it does not discuss optional filtering or auth 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?
Single front-loaded sentence with verb, object, and output summary. No filler or redundant restatement of the tool name.
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?
The tool is simple and the description covers purpose and output fields, but with no output schema and no parameter documentation, the missing semantics for 'account' leaves an important gap. Adequate for a basic list tool but not fully complete.
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 coverage is 0% and the single optional 'account' parameter is not explained anywhere in the description. The description mentions output fields but provides no meaning for the only input parameter.
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?
Description uses specific verb 'List' with a clear resource ('Discord bot connections linked to this install') and enumerates returned fields (id, label, default guild_id). It is immediately distinguishable from sibling list tools such as discord_list_channels and discord_list_guilds.
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?
The scope 'linked to this install' provides clear context for when this account-listing tool applies, and the resource name separates it from other list tools. It does not explicitly name alternatives or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_list_channelsARead-onlyIdempotentInspect
List channels in a guild. Falls back to the connection's default guild_id.
Bulk support: accepts guild_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| guild_id | No | ||
| guild_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is well covered. The description adds useful context about fallback behavior and bulk support, which goes beyond annotations. However, it doesn't describe return format or pagination, so the added value is moderate, scoring 3.
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?
The description is short and front-loaded with the main purpose, then adds necessary detail about fallback and bulk support. Every sentence earns its place, with no redundancy. It could be slightly more structured for readability, but it's efficient and concise, so a 4.
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?
Given the tool has only 3 parameters, no required fields, no output schema, and simple list operation, the description provides adequate context for basic usage: how to invoke with default or specific guild, and bulk option. However, it lacks details about return structure (list of channels) and potential error handling due to no output schema, so not fully complete, scoring 3.
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 description coverage is 0%, so the description must compensate for parameter meaning. The description mentions the purpose of guild_id (optional, falls back to default) and guild_ids (bulk support), but does not explain account parameter at all. It adds some value but not complete, so a 3.
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 the tool lists channels in a guild and mentions fallback to default guild_id, which distinguishes it from other list tools like discord_list_guilds or discord_list_messages. It is specific about the resource (channels) and the scope (guild), earning a 4; however, it doesn't explicitly contrast with sibling tools, so not a 5.
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?
The description indicates that when guild_id is not provided, it uses the default guild from the connection, providing clear usage context. It also mentions bulk support with guild_ids, which signals when to use this tool for batched operations. No explicit when-not-to-use or alternatives, but enough guidance to use correctly, so a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_list_guild_membersARead-onlyIdempotentInspect
List members of a guild. Requires the bot to have the Server Members intent enabled in the developer portal — may return 403 otherwise.
Bulk support: accepts guild_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | ||
| limit | No | ||
| account | No | ||
| guild_id | No | ||
| guild_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is known. The description adds that a 403 may occur without the intent and that bulk execution is supported. This is valuable behavioral context beyond the annotations, though pagination behavior is not mentioned.
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 purpose and requirement, then bulk support. No filler or redundant phrasing. Efficient and well-structured.
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?
With 5 parameters, 0% schema coverage, and no output schema, the description is incomplete. It lacks pagination guidance, response format expectations, and parameter semantics for after/limit/account/guild_id. While it covers prerequisites and bulk, it is not enough for confident tool invocation.
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 coverage is 0%, so the description must compensate. It only explains guild_ids for batch execution. Parameters like after (pagination cursor), limit (likely max count), account (which account), and guild_id (single guild) are not explained. This leaves the agent guessing how to construct calls correctly.
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 'List members of a guild' with a specific verb and resource. It distinguishes from sibling tools like discord_list_guilds and discord_get_guild by focusing on members. The prerequisite about Server Members intent adds context without obscuring the core purpose.
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?
The description provides a clear prerequisite (Server Members intent) and notes the potential 403 error. The mention of bulk support via guild_ids gives a usage pattern. It does not explicitly contrast with alternatives, but none exist among siblings for listing members, so this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_list_guildsBRead-onlyIdempotentInspect
List the servers (guilds) the bot is a member of.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | ||
| limit | No | ||
| before | No | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a read-only, idempotent, non-destructive operation. The description adds the key scope constraint 'the bot is a member of', which is useful. However, it does not mention pagination, ordering, or any other behavioral details beyond what annotations cover.
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?
A single sentence that is direct and free of fluff. It names the resource and scope efficiently.
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?
The tool has four undocumented parameters, no output schema, and the description only covers the basic purpose. It fails to provide adequate context for selecting or using the tool, especially regarding parameter semantics and expected return values.
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 description coverage is 0% and the description provides no explanation for any of the four parameters (after, limit, before, account). The tool's behavior is not enough to infer their meaning. This is a significant gap.
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?
Clearly states the verb 'List' and the resource 'servers (guilds)' with the scope 'the bot is a member of'. This distinguishes it from sibling tools like discord_get_guild, which fetches a specific guild, and discord_list_channels.
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?
No guidance on when to use this tool versus alternatives. The description does not mention that this is the way to enumerate all guilds or how it compares to discord_get_guild. Users must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_list_messagesARead-onlyIdempotentInspect
Read recent messages from a channel (newest first). Pagination via before / after / around (message ids). Requires Message Content intent for non-bot message bodies in some cases.
Bulk support: accepts channel_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | ||
| limit | No | ||
| around | No | ||
| before | No | ||
| account | No | ||
| channel_id | Yes | ||
| channel_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value beyond these by disclosing the Message Content intent requirement (with 'in some cases' caveat), the newest-first ordering, and pagination mechanics. It does not contradict annotations.
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?
The description is two sentences, front-loaded with the core purpose in the first sentence. It efficiently packs pagination, ordering, intent requirement, and bulk support with minimal waste, making it an exemplar of concise structure.
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?
Given 7 parameters and no output schema, the description covers key behaviors (pagination, bulk, intent) but misses important details: it does not explain how `limit` and `account` work, nor does it clarify the exact return format or how pagination params interact. For a tool with this complexity, more detail would improve completeness.
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 description coverage is 0%, so the description must compensate. It explains `before`/`after`/`around` as message IDs for pagination and mentions `channel_ids` for bulk execution. However, it omits `limit` (though default shown) and `account` (likely for multi-account selection), leaving gaps in parameter understanding.
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 'Read recent messages from a channel (newest first)'—a specific verb and resource. It differentiates from siblings like discord_get_message by emphasizing 'recent' and 'newest first', and mentions bulk support via channel_ids, which is distinct from other message tools.
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?
The description provides clear context for when to use the tool (reading recent messages, pagination) and mentions the prerequisite of Message Content intent. However, it does not explicitly contrast with alternatives like discord_get_message, so it lacks an explicit exclusion statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_send_dmAInspect
Open a DM channel with a user and send them a message. The bot and the user must share a guild.
Bulk support: accepts user_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| embeds | No | ||
| account | No | ||
| content | No | ||
| user_id | Yes | ||
| user_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the schema and annotations, the description discloses that the bot/user must share a guild and that user_ids enables batched execution. These are meaningful operational constraints. It does not detail edge cases like duplicate sends, DM-disabled users, or account selection, which keeps it from being a 5.
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?
The description is compact, front-loaded with the primary action, and contains no filler. The prerequisite and bulk-support note are both directly relevant; every sentence earns its place.
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 tool with 5 parameters, no parameter docs, and no output schema, this description supplies enough for basic use: what it does, a key prerequisite, and batch mode. However, it omits clarification of account selection, message-only/embed-only behavior, the interaction of user_id and user_ids, and post-send expectations/errors.
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 description coverage is 0%, so the description needed to explain all parameters but only clarifies user_ids as the batch option. The required user_id is inferable from the name and 'DM with a user', but content, embeds, and account receive no semantic explanation, and the relationship between user_id and user_ids is left unclear.
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 the tool's action ('Open a DM channel with a user and send them a message') and specifies the target resource (a user DM). It also distinguishes itself from the sibling discord_send_message by emphasizing DM context, and it mentions the important guild-sharing prerequisite.
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?
The text gives useful usage context: it should be used for direct-message sending, only when the bot and user share a guild, and it supports batch execution via user_ids. It does not explicitly name alternative tools or say 'when not to use this,' so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discord_send_messageAInspect
Post a message to a channel. Provide content (text up to 2000 chars), embeds (rich JSON), or both. reply_to makes it a reply.
Bulk support: accepts channel_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| embeds | No | ||
| account | No | ||
| content | No | ||
| reply_to | No | ||
| channel_id | Yes | ||
| channel_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (all false), the description adds constraints like 2000-char limit, embeds as rich JSON, reply_to, and channel_ids for batch. However, it does not disclose auth requirements, rate limits, or error behavior.
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?
The description is two concise sentences, front-loaded with the core action and efficient in communicating both standard and bulk usage without unnecessary detail.
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?
The tool has 6 parameters, no output schema, and minimal annotations. The description covers the main use case and bulk option but leaves the 'account' parameter unexplained and lacks guidance on error handling or failure scenarios. Adequate but with clear gaps.
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?
With 0% schema description coverage, the description explains content, embeds, reply_to, and channel_ids, but omits the 'account' parameter entirely. It adds meaning for most params but not all.
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 'Post a message to a channel' with a specific verb and resource, and lists key parameters. It distinguishes from siblings like discord_send_dm by targeting channels, and from edit/delete message tools.
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?
The description implies usage for channel messaging and mentions bulk support, but does not explicitly state when to use this instead of alternatives like discord_send_dm, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplaceAInspect
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behaviors: invoke runs an MCP even when it is not installed, does a one-off run without adding the MCP to the toolkit, returns a connect link when credentials are needed, returns a checkout/top-up link when payment is needed, and requires workspace owner/admin for write operations. The description enriches the annotations and does not contradict them.
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?
The description is front-loaded with identity and the core flow, and nearly every sentence carries useful guidance. However, it is one dense, wall-of-text paragraph with mixed language ("pontualmente") and heavy inline emphasis, which makes the many action alternatives hard to scan and parse.
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 complex 23-parameter, 14-action facade with no output schema, the description is remarkably complete: it covers the core flow, one-off invoke semantics, auth/credential/payment behavior, permission requirements, installed flags, the prompt library, and most action outcomes. The main gaps are the resume action and return-shape details for a few actions, but the overall guidance is sufficient for correct invocation in most cases.
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?
With 0% schema description coverage, the description does a lot of compensating work: it maps action values such as search, describe, invoke, install, list_tools, publish_prompt, and explains tool_id, arguments, and prompt-related intent. However, several parameters and enum actions remain unexplained, including resume, limit, immediate, tier_slug, cancel_reason, report_context, conversation, request_name, and request_details, leaving agents under-specified for those paths.
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 identifies the tool as the official mcp.ai marketplace: the in-platform catalog of MCPs/tools and the way to run them. It states the core discovery→describe→invoke flow, distinguishes the prompt-library subdomain from the MCP flow, and makes it clear this is a marketplace orchestrator rather than one of the sibling calculator/authenticate tools.
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?
The description gives explicit when-to-use guidance: use install only to make an MCP permanent, prefer invoke for one-off use, use list_tools to see what is callable now, use subscribe/cancel for billing, and use request_mcp when nothing fits. It also explains what to do when invoke returns a connect link or checkout link, including retry behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile with idempotentHint=true and destructiveHint=false. The description adds that conversation data is needed for reproduction, which is useful context. However, it does not disclose what happens after submission, such as whether a ticket is created or whether the report is asynchronous, though the annotations lower the burden.
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?
The description consists of two tight sentences: the first states the purpose, the second gives the key usage instruction. There is no filler, repetition, or irrelevant detail.
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 three-parameter reporting tool with annotations already covering idempotency and destructiveness, the description is mostly sufficient. The main gaps are the unexplained `context` parameter and the absence of any indication of what the response or outcome will be, though no output schema is expected.
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 description coverage is 0%, so the description must compensate for undocumented parameters. It only clarifies the `conversation` parameter via 'conversation array with recent messages,' leaving the required `message` and optional `context` undefined. The agent must guess at their intended content.
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 opens with the verb 'Report' and explicitly enumerates three targets: 'bug, missing feature, or send feedback'. This makes the tool's purpose unmistakable and easily distinguishable from the sibling calculo_* and authentication tools, which serve entirely different functions.
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?
The description establishes a clear context: use when a user reports a problem or wants to provide feedback. It also adds practical guidance to 'Include the conversation array with recent messages for reproduction.' It does not name alternatives, but none of the sibling tools overlap with bug reporting, so exclusions are unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, non-mutating call. The description adds little beyond that—it names the output as versions but doesn't specify the format (e.g., semver strings, JSON object) or whether the output is human-readable. Since the annotations carry the safety profile, a 3 is appropriate.
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?
The description is a single sentence of 9 words, front-loading the action ('Show') and the object ('version'). There is zero waste, and it fully conveys the tool's purpose within its scope. This is a model of conciseness.
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 zero-parameter, read-only, idempotent tool with no output schema, the description is nearly complete. An agent can confidently invoke it without additional context. The only minor gap is that the return format is unspecified, but since there is no output schema, a brief note on the output structure (e.g., 'returns a plain-text summary') would elevate completeness. Still, the description is sufficient for correct invocation.
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?
The tool has zero parameters, and the schema coverage is 100% (no properties). The description doesn't need to explain parameters. The baseline for zero-parameter tools is 4, and the description is consistent with that—it correctly implies that no input is required.
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 the tool's purpose: 'Show the current MCP platform and adapter versions.' This is a specific verb-resource pair that distinguishes it from sibling tools, which are all calculation or authentication tools. It could be slightly more explicit about what 'show' returns (e.g., a text summary vs. structured data), but the resource is unambiguous.
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?
The description implies that this tool is for checking version information, which makes sense in contexts where an agent needs to confirm platform/adapter versions before proceeding. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention whether version information is needed for authentication or compatibility checks. Given the sibling tools are all calculations, the usage context is reasonably clear, but not explicitly delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toolkit_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate safety. It adds value by detailing what kind of state is returned, including connection status and account bindings, which helps the agent understand the tool's informational scope.
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?
A single tightly packed sentence with the main action front-loaded, followed by a colon-delimited list of return contents. Every phrase earns its place with no repetition 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 zero-parameter, read-only introspection tool, the description fully covers what the agent needs to know before calling: what information it will receive. No output schema exists, but the description essentially provides a light output contract by enumerating the returned components.
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?
The input schema is empty with zero parameters, and schema description coverage is 100%, so the description has no parameter burden. Per calibration, zero-parameter tools receive a baseline of 4; the description's output-focused content is more than sufficient.
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 states a specific verb ('Returns') and resource ('current toolkit state'), then enumerates exactly what is included: installed MCPs, connection status, connected accounts, and catalog tool counts. This is specific enough to distinguish it from computational siblings like calculo_* and action tools like authenticate or connect.
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?
The description clearly conveys that this is the tool to call when an agent needs an overview or snapshot of the toolkit's current state. It does not explicitly list exclusion criteria or name alternatives such as show_version, but the context is clear enough for routine selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Control your Discord community: send/read messages, manage channels and forums, and handle webhook…
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Connect a personal/Business WhatsApp account via QR pairing (multi-device, like WhatsApp Web). Send
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides full Discord REST API access through a bot token, enabling server management including channels, messages, members, roles, and more.1071MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.241MIT
- AlicenseBqualityFmaintenanceEnables interaction with Discord channels through a bot, allowing users to send messages and files, retrieve messages with advanced filtering, and download attachments of any type.594MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.372MIT