Skip to main content
Glama

Server Details

Connect a Discord bot (bot token from the developer portal) to read/send messages, list guilds and c

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/discord-mcp
GitHub Stars
0

Available Tools

21 tools
authenticateA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include idempotentHint=true and readOnlyHint=false, but the description adds context: the tool initiates browser login, returns a link, and accepts a token for session or permanent access. It does not contradict annotations. It could mention that calling with no args may open a browser or return a link, but it already says 'get the link'. No annotation contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately sized, but it is slightly verbose with the IDE agent framing and multiple clauses. It front-loads the key action and provides necessary details. Could be tightened but is acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional param, no output schema, no nested objects), the description is complete enough. It explains both the no-arg and token modes, and the permanent vs. session option. It lacks details on what the response looks like, but output schema absence makes that less critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has one optional parameter 'token' with no description. The description explains its purpose: 'paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes'. This adds meaning beyond the schema, providing type and usage context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this tool is for authentication: it provides a login link or accepts a token. It distinguishes itself from siblings (connect, marketplace, etc.) by focusing on the auth flow for IDE agents. However, it could be more explicit that this is the authentication entry point vs. other connection tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage scenarios: best practice is to add the token as a header in config for permanent access, or paste it here for session-only login. It also explains the two modes: call with token or no args to get a link. This provides clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connectA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, read-only operation. The description adds behavior about the two specific response states (authenticated vs connect_url) and mentions 'per-install URLs', which adds useful context beyond the annotations. However, it doesn't disclose potential side effects (though none likely) or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded. It directly states the main outcome (returns connection status and URLs) and then explains the two scenarios. No wasted words, though the second sentence could be slightly clearer, but overall well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and simple annotations, the description is fairly complete. It covers the main output states and mentions the presence of URLs. However, it doesn't specify the exact structure of the response (e.g., fields beyond authenticated and pending), which might be useful but not strictly necessary. Since the tool is simple, the description is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema description coverage is 100% (empty properties). The description adds value by explaining the meaning of the tool's output states and URLs, but since there are no parameters, parameter semantics are not directly applicable. Still, the description helps the agent understand what the tool will do without any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it returns connection status and URLs. It also explains the two states: all providers connected vs missing credentials. The name 'connect' is somewhat vague, but the description clarifies it as a status check. While it doesn't explicitly differentiate from 'authenticate', the nature of the response (status vs initiating auth) is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool checks connection status but doesn't explicitly state when to use it versus 'authenticate' or other tools. It does not mention when not to use it or provide alternative tool references. Given the sibling 'authenticate', the guidance is minimal but understandable.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emojiYes
accountNo
channel_idYes
message_idYes
channel_idsNo
message_idsNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_messageA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
channel_idYes
message_idYes
channel_idsNo
message_idsNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
embedsNo
accountNo
contentNo
channel_idYes
message_idYes
channel_idsNo
message_idsNo

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_channelA
Read-onlyIdempotent
Inspect

Get a channel's metadata (type, name, topic, parent, permissions).

Bulk support: accepts channel_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
channel_idYes
channel_idsNo

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_guildB
Read-onlyIdempotent
Inspect

Get one guild's metadata. Falls back to the connection's default guild_id.

Bulk support: accepts guild_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
guild_idNo
guild_idsNo

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_meA
Read-onlyIdempotent
Inspect

Return the bot's own user profile (id, username, discriminator, avatar, etc).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_messageA
Read-onlyIdempotent
Inspect

Fetch a single message by id.

Bulk support: accepts channel_ids, message_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
channel_idYes
message_idYes
channel_idsNo
message_idsNo

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_userA
Read-onlyIdempotent
Inspect

Public profile of any Discord user by id.

Bulk support: accepts user_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
user_idYes
user_idsNo

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_accountsA
Read-onlyIdempotent
Inspect

List Discord bot connections linked to this install — id, label, default guild_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_channelsA
Read-onlyIdempotent
Inspect

List channels in a guild. Falls back to the connection's default guild_id.

Bulk support: accepts guild_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
guild_idNo
guild_idsNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_membersA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNo
limitNo
accountNo
guild_idNo
guild_idsNo

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_guildsB
Read-onlyIdempotent
Inspect

List the servers (guilds) the bot is a member of.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNo
limitNo
beforeNo
accountNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_messagesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNo
limitNo
aroundNo
beforeNo
accountNo
channel_idYes
channel_idsNo

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
embedsNo
accountNo
contentNo
user_idYes
user_idsNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
embedsNo
accountNo
contentNo
reply_toNo
channel_idYes
channel_idsNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actionNosearch
mcp_idNo
messageNo
tool_idNo
argumentsNo{}
immediateNo
tier_slugNo
prompt_bodyNo
prompt_slugNo
prompt_toolNo
prompt_varsNo{}
conversationNo[]
prompt_titleNo
request_nameNo
cancel_reasonNo
cancel_commentNo
prompt_targetsNo
report_contextNo
prompt_categoryNo
request_detailsNo
prompt_descriptionNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the minimal annotations (readOnlyHint=false, etc.) by disclosing edge cases: 'invoke works even when the MCP is NOT installed', returns connect/checkout links for credentials/payment, and explains that install makes MCPs permanent. It also states permission requirements for writes. No contradictions with annotations; instead, it enriches them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph of ~700 words. While every sentence adds value, the lack of bullet points or section breaks harms readability. Front-loading is poor; the most useful summary (action flow) is buried mid-paragraph. For a complex tool, length is justified, but structure is lacking.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (23 parameters, 14 actions, no output schema), the description is remarkably complete. It covers core flows, credential/payment edge cases, permissions, and even the prompt library sub-feature. It also explains key distinctions like installed_in_toolkit vs installed_in_workspace, which the schema lacks. No significant informational gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 23 parameters and 0% schema description coverage, the description carries the full burden. It indirectly explains many parameters (action, mcp_id, tool_id, arguments, prompt_* fields, cancel_reason, etc.) via the action flow and purpose. However, it does not explicitly define common parameters like limit, query, immediate, or tier_slug, leaving the agent to infer them. It partially compensates but is not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's role: 'The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them.' It enumerates distinct actions (search, describe, invoke, install, etc.) and explains their roles. This effectively distinguishes it from sibling tools like discord_* and report_bug by positioning it as the universal MCP catalog and execution interface.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'prefer invoke for a single/occasional use' over install, names list_tools for current callable tools, and explains request_mcp as the fallback when 'nothing fits.' It also clarifies that search/describe flag installed status and that writes require owner/admin. This is exemplary usage guidance with direct alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_bugA
Idempotent
Inspect

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
conversationNo[]

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the tool is a safe, idempotent operation. The description adds the specific behavioral requirement to include the conversation array for reproduction, which is useful. However, it does not describe what happens after submission (e.g., no return value, no confirmation) or any side effects beyond the annotation hints. Given the annotations, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action and purpose, then the key usage instruction. Every sentence adds value with zero fluff, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters and no output schema. With 0% schema coverage, the description should explain all parameters, but it only explains the 'conversation' parameter. The meaning of 'message' is obvious from the context, but 'context' is ambiguous (though it has a default empty string). For a feedback tool, the description is mostly complete in explaining the purpose and the important parameter, but it could clarify the intended use of 'context' and what happens after submission. Given the low complexity, this is adequate but could be more thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description names one parameter ('conversation array') and explains its purpose. It does not explain 'message' (the only required parameter) or 'context' explicitly, though their meanings are evident from names and defaults. The description compensates slightly for the low coverage but does not fully clarify all parameters, so a score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Report a bug, missing feature, or send feedback.' It uses a specific verb (report/send) and resource (bug/feature/feedback), and distinctly describes its function, which is unique among siblings (all other tools are Discord or authentication related). Thus it fully distinguishes itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says to include the conversation array for reproduction, giving one clear usage guidance. However, it does not explicitly state when to use this tool versus alternatives (such as when to send feedback versus using a support channel), and no exclusions or alternative references are provided. The context implies usage but lacks explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_versionA
Read-onlyIdempotent
Inspect

Show the current MCP platform and adapter versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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 description adds no extra behavioral context beyond the name. It is consistent with annotations but doesn't disclose output format, side effects, or any additional safety-relevant details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words or filler. It is perfectly concise and front-loaded, earning a top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-parameter info tool with no output schema, the description adequately conveys what it does. It could mention the return format, but given the low complexity, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema already covers all required semantics. The description doesn't need to add parameter details, and the baseline for zero-parameter tools is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb 'Show' and a specific object 'current MCP platform and adapter versions', which distinguishes it from the Discord-related siblings. However, it doesn't explicitly differentiate from 'toolkit_info', another potential info tool, so it misses full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'toolkit_info' or when not to use it. The description simply states what it does without any contextual cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolkit_infoA
Read-onlyIdempotent
Inspect

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotence, and non-destructive behavior, and the description does not contradict those. It adds useful context by specifying exactly what the returned state includes, such as connection status and the accounts connected to each MCP.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core purpose and then lists the specific contents of the result. Every phrase adds substantive information with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only, non-destructive informational tool without an output schema, the description is sufficient and complete. It explains the current scope and the main return categories without requiring detailed pagination or response-format notes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter burden for the description to carry. The description fully clarifies what the no-argument call will return.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific verb 'Returns' and names the exact resource as the current toolkit state. It enumerates concrete contents such as installed MCPs, connection status, connected accounts, and catalog-tool counts, which clearly distinguishes it from action-oriented sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly frames this as the informational/status tool for inspecting the current toolkit snapshot. It does not explicitly name alternatives or exclusions, but the use case is obvious: get a zero-parameter overview of installed MCPs and their connections.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides full Discord REST API access through a bot token, enabling server management including channels, messages, members, roles, and more.
    348
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    24
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.
    32
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count3/5

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.

Completeness4/5

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.