Skip to main content
Glama

MCP-Discord

A Discord MCP (Model Context Protocol) server that enables AI assistants to interact with the Discord platform.

Overview

MCP-Discord provides the following Discord-related functionalities:

  • Login to Discord bot

  • Get server information

  • Read/delete channel messages

  • Send messages to specified channels (using either channel IDs or channel names)

  • Retrieve forum channel lists

  • Create/delete/reply to forum posts

  • Create/delete text channels

  • Add/remove message reactions

  • Create/edit/delete/use webhooks

Related MCP server: Discord MCP Server

Table of Contents

Prerequisites

Note:
According to Discord's security model, a bot can only access information from servers it has been explicitly added to.
If you want to use this MCP server to access a specific Discord server, you must add the bot to that server first.
Use the invite link below to add the bot to your target server.

Installation

Installing via Smithery

To install mcp-discord automatically via Smithery

Manual Installation

# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord

# Install dependencies
npm install

# Compile TypeScript
npm run build

Configuration

A Discord bot token is required for proper operation. The server supports two transport methods: stdio and streamable HTTP.

Transport Methods

  1. stdio (Default)

    • Traditional stdio transport for basic usage

    • Suitable for simple integrations

  2. streamable HTTP

    • HTTP-based transport for more advanced scenarios

    • Supports stateless operation

    • Configurable port number

Configuration Options

You can provide configuration in two ways:

  1. Environment variables:

DISCORD_TOKEN=your_discord_bot_token
  1. Using command line arguments:

# For stdio transport (default)
node build/index.js --config "your_discord_bot_token"

# For streamable HTTP transport
node build/index.js --transport http --port 3000 --config "your_discord_bot_token"

Usage with Claude/Cursor

Claude

  1. Using stdio transport:

{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": [
                "path/to/mcp-discord/build/index.js",
                "--config",
                "your_discord_bot_token"
            ]
        }
    }
}
  1. Using streamable HTTP transport:

{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": [
                "path/to/mcp-discord/build/index.js",
                "--transport",
                "http",
                "--port",
                "3000",
                "--config",
                "your_discord_bot_token"
            ]
        }
    }
}

Cursor

  1. Using stdio transport:

{
    "mcpServers": {
        "discord": {
            "command": "cmd",
            "args": [
                "/c",
                "node",
                "path/to/mcp-discord/build/index.js",
                "--config",
                "your_discord_bot_token"
            ]
        }
    }
}
  1. Using streamable HTTP transport:

{
    "mcpServers": {
        "discord": {
            "command": "cmd",
            "args": [
                "/c",
                "node",
                "path/to/mcp-discord/build/index.js",
                "--transport",
                "http",
                "--port",
                "3000",
                "--config",
                "your_discord_bot_token"
            ]
        }
    }
}

Tools Documentation

Basic Functions

  • discord_login: Login to Discord

  • discord_send: Send a message to a specified channel (supports both channel ID and channel name)

  • discord_get_server_info: Get Discord server information

Channel Management

  • discord_create_text_channel: Create a text channel

  • discord_delete_channel: Delete a channel

Forum Functions

  • discord_get_forum_channels: Get a list of forum channels

  • discord_create_forum_post: Create a forum post

  • discord_get_forum_post: Get a forum post

  • discord_reply_to_forum: Reply to a forum post

  • discord_delete_forum_post: Delete a forum post

Messages and Reactions

  • discord_read_messages: Read channel messages

  • discord_add_reaction: Add a reaction to a message

  • discord_add_multiple_reactions: Add multiple reactions to a message

  • discord_remove_reaction: Remove a reaction from a message

  • discord_delete_message: Delete a specific message from a channel

Webhook Management

  • discord_create_webhook: Creates a new webhook for a Discord channel

  • discord_send_webhook_message: Sends a message to a Discord channel using a webhook

  • discord_edit_webhook: Edits an existing webhook for a Discord channel

  • discord_delete_webhook: Deletes an existing webhook for a Discord channel

Development

# Development mode
npm run dev

License

MIT License

Available Tools

22 tools
discord_add_multiple_reactionsC

Adds multiple emoji reactions to a Discord message at once

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
messageIdYes
emojisYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't mention critical behavioral traits such as whether this is a mutation (implied by 'Adds'), potential rate limits, authentication needs, error conditions, or what happens if emojis are invalid. This leaves significant gaps for an agent to understand the tool's 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 a single, efficient sentence that front-loads the core functionality ('Adds multiple emoji reactions to a Discord message at once') with zero wasted words. It's appropriately sized for the tool's complexity and gets straight to the point.

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?

Given the tool's mutation nature (adding reactions), no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't address behavioral risks, return values, error handling, or sibling differentiation, making it inadequate for safe and effective use by an agent.

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 input schema has 0% description coverage, so the description must compensate. It mentions 'emoji reactions' and 'Discord message', which loosely maps to 'emojis', 'channelId', and 'messageId', but provides no details on parameter formats (e.g., emoji syntax like :smile: or Unicode), constraints, or examples. This adds minimal value beyond the bare schema.

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 action ('Adds multiple emoji reactions') and target ('to a Discord message at once'), which is specific and unambiguous. However, it doesn't explicitly differentiate from its sibling 'discord_add_reaction' beyond the 'multiple' aspect, missing an opportunity to clarify the distinction between single vs. batch operations.

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?

The description provides no guidance on when to use this tool versus alternatives like 'discord_add_reaction' or 'discord_remove_reaction'. It lacks context about prerequisites (e.g., needing message and channel IDs), use cases (e.g., bulk reactions for efficiency), or exclusions (e.g., rate limits or permission requirements).

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

discord_add_reactionC

Adds an emoji reaction to a specific Discord message

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
messageIdYes
emojiYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Adds' implies a mutation operation, it doesn't disclose important behavioral traits: whether this requires specific permissions, rate limits, whether reactions are idempotent (can you react multiple times with the same emoji?), or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves significant gaps.

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 at just 7 words, front-loading the core purpose with zero wasted words. Every element ('Adds', 'emoji reaction', 'specific Discord message') earns its place by contributing essential information about the tool's function.

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?

For a mutation tool with 3 parameters, 0% schema description coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain the expected parameter formats, authentication requirements, error conditions, or what constitutes a successful reaction addition. The agent would need to guess about many operational aspects when invoking this tool.

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?

The description mentions 'emoji' and 'specific Discord message' which partially explains the purpose of the parameters, but with 0% schema description coverage and 3 undocumented parameters, it doesn't adequately compensate. It doesn't explain what format 'emoji' should be in (Unicode vs custom emoji ID), or that 'channelId' and 'messageId' are Discord snowflake identifiers. The baseline is 3 because the schema coverage is 0%, but the description adds only minimal value.

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 action ('Adds an emoji reaction') and target ('to a specific Discord message'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from its sibling 'discord_remove_reaction' beyond the obvious verb difference, missing an opportunity to clarify the relationship between these complementary tools.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'discord_add_reaction' over 'discord_add_multiple_reactions' (for bulk operations) or 'discord_send' (for creating messages rather than reacting to them). There's also no mention of prerequisites like authentication or channel access requirements.

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

discord_create_categoryC

Creates a new category in a Discord server.

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes
nameYes
positionNo
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool creates a new category, implying a mutation operation, but fails to mention critical aspects like required permissions, whether changes are reversible, or potential rate limits. This leaves significant gaps in understanding the tool's 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.

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?

For a mutation tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on parameters, behavioral traits like permissions or side effects, and expected outcomes, making it insufficient for safe and effective use by an AI agent.

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 for undocumented parameters. It mentions creating a category but provides no information about the four parameters (guildId, name, position, reason), their meanings, or how they affect the operation. This lack of semantic detail is inadequate given the coverage gap.

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 action ('creates') and resource ('new category in a Discord server'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'discord_edit_category' or 'discord_create_text_channel' beyond the basic resource type, which prevents a perfect score.

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 'discord_edit_category' for modifying existing categories or 'discord_create_text_channel' for creating channels. The description lacks context about prerequisites, such as needing proper permissions or server access, leaving usage unclear.

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

discord_create_forum_postC

Creates a new post in a Discord forum channel with optional tags

ParametersJSON Schema
NameRequiredDescriptionDefault
forumChannelIdYes
titleYes
contentYes
tagsNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral context. It states it 'creates' (implying a write/mutation) and mentions optional tags, but doesn't disclose permissions required, rate limits, error conditions, or what happens on success (e.g., returns post ID). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence with zero waste. It's front-loaded with the core action and resource, and the optional feature is succinctly added. Every word earns its place, making it easy to parse quickly.

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?

Given the tool's complexity (a mutation with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions or errors, parameter details, or return values. For a Discord API tool that likely has specific constraints, this leaves the agent under-informed.

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 but adds little. It mentions 'optional tags' which maps to one parameter, but doesn't explain forumChannelId (what format, how to obtain), title (character limits), content (formatting), or tags (allowed values). With 4 parameters and low coverage, the description fails to provide meaningful semantics beyond the schema.

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 action ('Creates a new post') and resource ('in a Discord forum channel'), with an additional feature ('with optional tags'). It distinguishes from siblings like discord_send (general message) or discord_reply_to_forum (reply to existing post), though not explicitly named. However, it doesn't specify what makes a forum post unique versus other channel types, slightly limiting 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing forumChannelId from discord_get_forum_channels), exclusions (e.g., not for text channels), or compare to siblings like discord_send or discord_reply_to_forum. Usage is implied only by the tool name and basic action.

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

discord_create_text_channelC

Creates a new text channel in a Discord server with an optional topic

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes
channelNameYes
topicNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a channel, implying a write/mutation operation, but doesn't cover permissions required, rate limits, whether the action is reversible, or what happens on failure. This is a significant gap for a mutation tool with zero annotation coverage.

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, efficient sentence that front-loads the core action and key optional feature. There is no wasted wording, making it appropriately concise and well-structured for quick understanding.

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?

Given the tool's complexity (a mutation operation with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions or error handling, and parameter details are sparse, failing to compensate for the missing structured information.

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?

The description mentions an 'optional topic', which corresponds to one of the three parameters (topic), but doesn't explain guildId or channelName. With 0% schema description coverage, the description adds minimal value beyond the schema, as it only partially addresses one parameter without details on format or constraints.

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 action ('Creates') and resource ('a new text channel in a Discord server'), specifying the type of channel (text) and optional feature (topic). However, it doesn't explicitly differentiate from sibling tools like discord_create_category or discord_create_forum_post, which also create channels but of different types.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing guildId), exclusions, or comparisons to siblings like discord_create_category for category channels or discord_create_forum_post for forum channels, leaving usage context implied but not explicit.

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

discord_create_webhookC

Creates a new webhook for a Discord channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
nameYes
avatarNo
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a creation operation, implying it's a write/mutation tool, but fails to mention critical details like required permissions, rate limits, whether the webhook is reusable, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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, clear sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and efficiently conveys the core action, making it easy to parse quickly. Every part of the sentence earns its place by defining the tool's function.

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?

Given the tool's complexity (a mutation operation with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, parameter details, or expected outcomes, leaving the agent with insufficient information to use the tool effectively in a real-world context.

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%, meaning none of the 4 parameters are documented in the schema. The description adds no information about parameters beyond what's inferred from the tool name (e.g., channelId and name are required). It doesn't explain what 'avatar' or 'reason' mean, their formats, or constraints, failing to compensate for the low schema coverage.

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 action ('creates') and resource ('new webhook for a Discord channel'), making the purpose immediately understandable. It distinguishes this from sibling tools like discord_delete_webhook or discord_edit_webhook by focusing on creation. However, it doesn't specify what a webhook is or its typical use cases, which prevents a perfect score.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing channel access), compare it to similar tools like discord_send_webhook_message, or indicate scenarios where webhook creation is appropriate. This lack of context leaves the agent with minimal usage direction.

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

discord_delete_categoryC

Deletes a Discord category by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryIdYes
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the destructive action ('Deletes') but doesn't elaborate on critical aspects like required permissions, whether deletion is permanent or reversible, rate limits, error conditions (e.g., invalid ID), or what happens to nested channels. This leaves significant gaps for safe and effective use.

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, direct sentence with zero wasted words. It front-loads the core action and resource efficiently, making it easy to parse. Every word earns its place without redundancy or fluff.

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?

Given the complexity of a destructive operation with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on permissions, consequences, error handling, and the optional 'reason' parameter, which are essential for safe tool invocation in a Discord context with multiple deletion siblings.

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 input schema has 0% description coverage, so the description must compensate. It mentions 'by ID' for the 'categoryId' parameter, adding minimal context about its purpose. However, it doesn't explain the 'reason' parameter at all, leaving its optional use case unclear. The description fails to adequately clarify parameter meanings beyond the schema.

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 action ('Deletes') and resource ('a Discord category by ID'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'discord_delete_channel' or 'discord_delete_forum_post', which perform similar deletion operations on different Discord entities.

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?

The description provides no guidance on when to use this tool versus alternatives like 'discord_delete_channel' or 'discord_edit_category'. It lacks context about prerequisites (e.g., needing admin permissions), consequences (e.g., what happens to channels in the category), or when not to use it (e.g., for temporary changes).

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

discord_delete_channelC

Deletes a Discord channel with an optional reason

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
reasonNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is a deletion, implying it's destructive and irreversible, but doesn't elaborate on consequences (e.g., data loss, impact on server structure) or requirements (e.g., admin permissions, rate limits). The mention of an 'optional reason' adds minor context about audit trails but lacks depth on behavioral traits.

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 a single, efficient sentence that front-loads the core action ('Deletes a Discord channel') and adds a useful detail ('with an optional reason'). There is no wasted verbiage, and it's appropriately sized for a simple tool, though it could benefit from slightly more structure for clarity.

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?

Given the tool's complexity (destructive operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover critical aspects like permissions, irreversible effects, error handling, or return values. For a deletion tool in a collaborative platform like Discord, this leaves significant gaps for an AI agent to operate safely and effectively.

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 for undocumented parameters. It only mentions the 'reason' parameter as optional, without explaining the 'channelId' parameter (e.g., format, how to obtain it) or providing examples. This adds minimal semantic value beyond the bare schema, failing to address the coverage gap adequately.

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 action ('Deletes') and resource ('a Discord channel'), making the purpose unambiguous. It distinguishes from siblings like discord_delete_category or discord_delete_message by specifying the target resource. However, it doesn't explicitly contrast with other deletion tools beyond naming the resource.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., permissions needed), when not to use it (e.g., irreversible action), or refer to sibling tools like discord_delete_category for related operations. The optional 'reason' parameter hints at audit logging but doesn't clarify usage context.

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

discord_delete_forum_postC

Deletes a forum post or thread with an optional reason

ParametersJSON Schema
NameRequiredDescriptionDefault
threadIdYes
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Deletes' implies a destructive operation, the description doesn't specify whether this action is reversible, what permissions are required, whether it affects related content (like replies), or what happens after deletion. The optional 'reason' parameter hints at audit logging but this isn't explicitly explained. For a destructive operation with zero annotation coverage, this is insufficient.

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 - a single sentence that efficiently communicates the core action and mentions the optional parameter. There's no wasted language, and the information is front-loaded with the primary purpose stated first. Every word earns its place in this minimal description.

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?

For a destructive operation with 2 parameters (0% schema coverage), no annotations, and no output schema, the description is incomplete. It doesn't address important contextual questions: what permissions are needed, whether deletion is permanent, what happens to replies in a thread, what format threadId should be, or what the response looks like. The description provides only basic operational information without the necessary context for safe and correct 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?

With 0% schema description coverage for both parameters, the description must compensate but provides minimal help. It mentions 'threadId' implicitly through 'forum post or thread' and notes 'optional reason', but doesn't explain what threadId represents (forum thread ID), its format, where to find it, or what the reason is used for. The description adds some meaning but doesn't adequately compensate for the complete lack of schema documentation.

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 action ('Deletes') and resource ('a forum post or thread'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling deletion tools like discord_delete_category or discord_delete_message, which would require specifying it's specifically for forum posts/threads rather than other Discord entities.

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?

The description provides no guidance on when to use this tool versus alternatives. With multiple deletion tools available (delete_category, delete_channel, delete_message, delete_webhook), there's no indication that this is specifically for forum posts/threads versus other Discord content. The description doesn't mention prerequisites, permissions needed, or when this tool would be appropriate versus other deletion methods.

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

discord_delete_messageC

Deletes a specific message from a Discord text channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
messageIdYes
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It lacks critical behavioral details such as required permissions (e.g., 'Manage Messages'), whether deletions are permanent or reversible, rate limits, or error conditions (e.g., invalid IDs). This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly.

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?

For a deletion tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks essential context like behavioral traits, parameter meanings, and usage guidelines, leaving significant gaps for an AI agent to operate effectively.

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 but adds no parameter information. It doesn't explain what 'channelId' and 'messageId' represent (e.g., Discord snowflake IDs), the optional 'reason' parameter's purpose (e.g., audit log entry), or format requirements. This leaves all three parameters undocumented beyond their names.

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 action ('Deletes') and resource ('a specific message from a Discord text channel'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'discord_delete_channel' or 'discord_delete_forum_post', which target different resources.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., 'discord_remove_reaction' for reactions, 'discord_delete_channel' for channels) or any prerequisites (e.g., permissions, message existence). It merely states what the tool does without context for selection.

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

discord_delete_webhookC

Deletes an existing webhook for a Discord channel

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYes
webhookTokenNo
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool deletes a webhook, implying a destructive mutation, but lacks details on permissions required, whether deletion is permanent or reversible, rate limits, or what happens upon success/failure. This is a significant gap for a mutation tool with zero annotation coverage.

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, efficient sentence that directly states the tool's action without unnecessary words. It's front-loaded with the core purpose, making it easy to parse quickly, though this brevity contributes to gaps in other dimensions.

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?

Given the tool's complexity (a destructive mutation with 3 parameters), lack of annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't address behavioral traits, parameter meanings, or expected outcomes, leaving the agent with insufficient information to use the tool effectively beyond its basic purpose.

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 description mentions no parameters, while the input schema has 3 parameters (webhookId, webhookToken, reason) with 0% schema description coverage. This leaves all parameters undocumented, and the description fails to compensate by explaining what these parameters mean or how they're used, such as the purpose of 'reason' or when 'webhookToken' is required.

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 action ('deletes') and resource ('an existing webhook for a Discord channel'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'discord_delete_channel' or 'discord_edit_webhook', which would require more specific context about webhook deletion versus other deletion/editing operations.

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?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing a webhook ID), when not to use it, or how it differs from related tools like 'discord_delete_channel' or 'discord_edit_webhook' in the sibling list.

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

discord_edit_categoryC

Edits an existing Discord category (name and position).

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryIdYes
nameNo
positionNo
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the tool edits an existing category, implying mutation, but doesn't disclose permissions needed, rate limits, whether changes are reversible, or what happens to unspecified fields. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its 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 a single, efficient sentence with zero waste. It front-loads the core action ('Edits an existing Discord category') and adds specific details ('name and position') concisely. Every word earns its place, making it easy to parse quickly.

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?

Given the tool's complexity (mutation with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover key aspects like required permissions, error handling, return values, or detailed parameter usage. For a tool that modifies Discord categories, this leaves too much undefined for reliable agent use.

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 but adds limited value. It mentions 'name and position' as editable fields, which maps to two of the four parameters (name, position), but doesn't explain categoryId (required) or reason. No details on parameter formats, constraints, or examples are provided, failing to address the coverage gap adequately.

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 verb ('Edits') and resource ('an existing Discord category'), specifying what fields can be modified ('name and position'). It distinguishes from sibling tools like discord_create_category and discord_delete_category by focusing on modification rather than creation or deletion. However, it doesn't explicitly differentiate from other edit tools like discord_edit_webhook.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing category), exclusions (e.g., what can't be edited), or comparisons to similar tools (e.g., when to edit vs. delete/recreate). The context is implied but not explicit.

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

discord_edit_webhookC

Edits an existing webhook for a Discord channel

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYes
webhookTokenNo
nameNo
avatarNo
channelIdNo
reasonNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool edits a webhook, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, rate limits, or what the response looks like. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, stating the core purpose immediately without unnecessary elaboration.

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?

Given the complexity (mutation tool with 6 parameters), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It lacks details on behavior, parameters, and expected outcomes, making it insufficient for an agent to use the tool effectively without external knowledge.

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 but adds no parameter information. It doesn't explain what webhookId, webhookToken, name, avatar, channelId, or reason represent, their formats, or which are optional vs. required (beyond schema). This leaves all 6 parameters semantically undocumented.

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 verb ('Edits') and resource ('an existing webhook for a Discord channel'), making the purpose unambiguous. It distinguishes from sibling tools like discord_create_webhook (creation) and discord_delete_webhook (deletion), though it doesn't explicitly mention what fields can be edited.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing webhook), exclusions, or comparisons to other webhook-related tools like discord_send_webhook_message, leaving the agent to infer usage from the name alone.

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

discord_get_forum_channelsC

Lists all forum channels in a specified Discord server (guild)

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that it 'Lists all forum channels,' which implies a read-only operation, but doesn't cover critical aspects like authentication requirements, rate limits, pagination, error handling, or the format of the returned data. This leaves significant gaps in understanding how the tool behaves in practice.

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, efficient sentence that front-loads the key information ('Lists all forum channels') without any unnecessary words. It directly communicates the tool's function and scope, making it easy to parse quickly.

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?

Given the lack of annotations and output schema, the description is incomplete for effective use. It doesn't explain what the output looks like (e.g., list format, channel details), authentication needs, or potential errors. For a tool that interacts with an external API like Discord, this leaves too many unknowns for reliable agent invocation.

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?

The description specifies that it lists forum channels 'in a specified Discord server (guild),' which adds context to the 'guildId' parameter by clarifying its purpose. However, with 0% schema description coverage and only one parameter, this provides minimal additional value beyond what the parameter name implies. The baseline is appropriate given the low parameter count.

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 action ('Lists') and resource ('all forum channels in a specified Discord server'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'discord_get_server_info' or 'discord_get_forum_post', but the focus on forum channels is specific enough to avoid confusion with most siblings.

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. For example, it doesn't mention if this is the primary way to retrieve forum channels compared to other methods or tools, nor does it specify prerequisites like needing the guildId. The description only states what it does, not when it should be used.

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

discord_get_forum_postC

Retrieves details about a forum post including its messages

ParametersJSON Schema
NameRequiredDescriptionDefault
threadIdYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'retrieves details' which implies a read-only operation, but it doesn't specify aspects like authentication requirements, rate limits, error handling, or what specific details are included beyond 'messages'. This leaves significant gaps in behavioral understanding.

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 a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly, though it could be slightly more structured with additional context.

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?

Given the complexity of a retrieval tool with no annotations and no output schema, the description is incomplete. It lacks details on return values, error conditions, and behavioral traits, making it insufficient for an AI agent to fully understand how to use the tool effectively in context.

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?

The input schema has 1 parameter with 0% description coverage, and the description doesn't mention the 'threadId' parameter at all. Since there are no parameters described in the schema, the baseline is 3, as the description doesn't add any parameter-specific information but also doesn't contradict the schema.

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 verb 'retrieves' and the resource 'forum post details including its messages', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'discord_read_messages' or 'discord_get_forum_channels', which limits its score to 4 rather than 5.

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?

The description provides no guidance on when to use this tool versus alternatives such as 'discord_read_messages' or 'discord_get_forum_channels', nor does it mention any prerequisites or context for usage. This lack of explicit or implied usage instructions results in a low score.

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

discord_get_server_infoC

Retrieves detailed information about a Discord server including channels and member count

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves information, implying a read-only operation, but lacks details on permissions required, rate limits, error handling, or what 'detailed information' includes beyond channels and member count. This is a significant gap for a tool with zero annotation coverage.

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 a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words and directly states what the tool does, though it could be slightly more structured by separating key details like parameters or usage context.

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?

Given the tool's complexity (retrieving server details), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover parameter semantics, behavioral traits like authentication needs, or return values, leaving the agent with insufficient information to use the tool effectively.

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?

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It mentions retrieving server information but doesn't explain the 'guildId' parameter's purpose, format, or how to obtain it. The description adds minimal value beyond the schema, resulting in a baseline score due to the coverage gap.

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 action ('Retrieves') and resource ('detailed information about a Discord server'), specifying key data elements like 'channels and member count'. It distinguishes from siblings by focusing on server metadata retrieval rather than message operations, channel creation, or other actions, though it doesn't explicitly contrast with similar read tools like 'discord_get_forum_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 explicit guidance is provided on when to use this tool versus alternatives. The description implies usage for obtaining server details, but it doesn't mention prerequisites (e.g., needing a guildId), exclusions, or comparisons to other tools like 'discord_get_forum_channels' for channel-specific data, leaving the agent to infer context.

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

discord_loginC

Logs in to Discord using the configured token

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral details. It states the action is a login but doesn't disclose whether it's idempotent, what happens on failure (e.g., error handling), if it persists state, or any rate limits. The phrase 'using the configured token' hints at configuration but lacks depth.

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, efficient sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for a simple login tool, making it easy to parse quickly.

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?

Given no annotations, 0% schema coverage, and no output schema, the description is incomplete for a login tool. It lacks details on authentication flow, error responses, success indicators, or how it integrates with sibling tools. For a security-sensitive operation, this is a significant gap.

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 but adds little. It mentions 'token' generically but doesn't explain what type of token (e.g., bot token, user token), where to get it, or format requirements. With 1 parameter undocumented in schema, the description provides insufficient semantic value.

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 action ('Logs in') and target ('to Discord'), specifying the authentication method ('using the configured token'). It distinguishes from siblings by focusing on authentication rather than message/channel operations, though it doesn't explicitly contrast with other tools.

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. It doesn't mention prerequisites (e.g., needing a token first), whether it's required before other Discord operations, or if it's a one-time setup. The description implies usage context but lacks explicit instructions.

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

discord_read_messagesC

Retrieves messages from a Discord text channel with a configurable limit

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
limitNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions a 'configurable limit' but fails to describe critical behaviors such as pagination, rate limits, authentication requirements, error handling, or the format of returned messages. This is inadequate for a read operation in a complex API like Discord.

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, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly without unnecessary details.

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?

Given the complexity of Discord's API, no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on return values, error cases, authentication, and how it fits among sibling tools, leaving significant gaps for an AI agent to operate effectively.

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?

The description adds minimal semantics beyond the input schema, which has 0% description coverage. It implies 'limit' controls the number of messages retrieved but doesn't explain the 'channelId' parameter's purpose or format. Since schema coverage is low, the description doesn't sufficiently compensate, resulting in a baseline score.

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 verb 'retrieves' and the resource 'messages from a Discord text channel', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'discord_get_forum_post' or 'discord_get_forum_channels', which also retrieve content but from different Discord resources.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing channel access), exclusions, or comparisons to siblings like 'discord_get_forum_post' for forum-specific retrieval, leaving the agent with no contextual usage cues.

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

discord_remove_reactionC

Removes a specific emoji reaction from a Discord message

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
messageIdYes
emojiYes
userIdNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose permissions needed (e.g., whether it can remove any user's reaction or only the bot's), rate limits, error conditions, or what happens on success, which is insufficient for a mutation tool.

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, direct sentence with zero waste—it states the core action and target without fluff. It's appropriately sized for a simple tool and front-loaded with essential information, making it highly efficient.

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?

Given the tool has 4 parameters with 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on permissions, parameter usage, error handling, and return values, which are critical for a mutation tool in a collaborative platform like Discord.

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 but adds no parameter information. It doesn't explain what 'emoji' format to use (e.g., Unicode vs. custom emoji IDs), what 'userId' is for (optional to remove a specific user's reaction), or how to obtain channel/message IDs, leaving parameters poorly documented.

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 action ('removes') and the target ('a specific emoji reaction from a Discord message'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'discord_delete_message' or explain what distinguishes removing a reaction from deleting a message entirely, which prevents a perfect score.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing message access), exclusions (e.g., cannot remove others' reactions without permissions), or related tools like 'discord_add_reaction' for context, leaving usage unclear.

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

discord_reply_to_forumC

Adds a reply to an existing forum post or thread

ParametersJSON Schema
NameRequiredDescriptionDefault
threadIdYes
messageYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Adds a reply') which implies a write operation, but doesn't cover permissions required, rate limits, whether replies are editable/deletable, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by conveying essential information.

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?

For a mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is insufficient. It doesn't explain what the reply looks like (e.g., formatting, attachments), error conditions, or authentication needs. The agent lacks critical context to use this tool effectively beyond basic invocation.

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 schema provides no parameter documentation. The description mentions 'threadId' and 'message' implicitly through context ('reply to an existing forum post or thread' implies threadId, 'reply' implies message), but doesn't explain their formats, constraints, or examples. This adds minimal semantic value beyond what's inferable, meeting the baseline for low coverage.

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 action ('Adds a reply') and target resource ('to an existing forum post or thread'), making the purpose immediately understandable. It distinguishes from siblings like discord_send (general message sending) and discord_create_forum_post (creating new posts). However, it doesn't explicitly differentiate from other reply-related tools (none exist in the sibling list), so it doesn't reach the highest specificity level.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing thread), exclusions (e.g., not for direct messages), or comparisons with similar tools like discord_send (which might also handle replies). The agent must infer usage from the name and description alone.

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

discord_sendC

Sends a message to a specified Discord text channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
messageYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action but doesn't mention permission requirements, rate limits, message formatting options, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence with zero wasted words. It's appropriately sized for a basic send operation and front-loads the core functionality without unnecessary elaboration.

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?

For a mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, error conditions, or provide enough context for reliable use despite the tool's apparent simplicity.

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?

With 0% schema description coverage for both parameters, the description doesn't add any semantic information about 'channelId' (format, where to find it) or 'message' (character limits, formatting support). It mentions 'specified Discord text channel' which hints at channelId but provides no practical guidance for parameter usage.

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 action ('sends a message') and target ('to a specified Discord text channel'), providing a specific verb+resource combination. It distinguishes from siblings like 'discord_send_webhook_message' by specifying text channel messaging, though it doesn't explicitly contrast with all alternatives.

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?

The description provides no guidance on when to use this tool versus alternatives like 'discord_send_webhook_message' or 'discord_reply_to_forum', nor does it mention prerequisites such as authentication or channel access permissions. It simply states what the tool does without contextual usage information.

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

discord_send_webhook_messageC

Sends a message to a Discord channel using a webhook

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYes
webhookTokenYes
contentYes
usernameNo
avatarURLNo
threadIdNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether this is a read-only or destructive operation, rate limits, authentication requirements beyond parameters, error conditions, or what happens on success (e.g., message ID returned). For a tool with 6 parameters and no annotation coverage, this is inadequate.

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, efficient sentence with zero wasted words. It's appropriately sized for the tool's apparent complexity and front-loads the core purpose immediately.

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?

Given 6 parameters with 0% schema coverage, no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't help the agent understand parameter requirements, behavioral implications, or how this differs from discord_send. For a webhook messaging tool in a Discord API context, more guidance is needed.

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 but adds no parameter information. It doesn't explain what webhookId/webhookToken are, how to obtain them, what content format is expected, or optional parameters like username/avatarURL/threadId. With 6 parameters completely undocumented in both schema and description, this fails to provide necessary semantic 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 the action ('sends a message') and target ('to a Discord channel using a webhook'), providing specific verb+resource. It distinguishes from siblings like discord_send (which likely uses different authentication) by specifying webhook-based delivery, though it doesn't explicitly contrast with all alternatives.

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?

The description offers no guidance on when to use this tool versus alternatives like discord_send or discord_create_webhook. It doesn't mention prerequisites (e.g., needing a pre-configured webhook) or exclusions, leaving the agent to infer usage context from the tool name alone.

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

TDQS

B3.2/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose targeting specific Discord resources and actions, such as discord_add_reaction vs discord_remove_reaction for reactions, discord_create_text_channel vs discord_delete_channel for channels, and discord_send vs discord_send_webhook_message for messaging. There is no overlap or ambiguity in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with a 'discord_' prefix and a clear verb_noun structure, such as discord_create_category, discord_delete_message, and discord_get_server_info. This uniformity enhances readability and predictability across the entire tool set.

Tool Count3/5

With 22 tools, the count is borderline high for a Discord server, as it covers many specific operations like reactions, channels, webhooks, and forum posts. While comprehensive, it may feel heavy compared to more focused servers, but it aligns reasonably with Discord's broad API scope.

Completeness4/5

The tool set provides extensive coverage of Discord's core features, including CRUD operations for channels, categories, webhooks, messages, reactions, and forum posts. Minor gaps exist, such as missing tools for editing messages or managing server roles, but agents can handle most workflows effectively with the available tools.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to manage Discord servers through natural language, offering tools for guilds, channels, messages, roles, members, webhooks, invites, and automations. Includes a conversational agent that responds to @mentions in Discord.
    8
    Apache 2.0
  • 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.
    13
    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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Discord servers, including listing servers/channels, sending messages, and managing reaction-based opt-in campaigns.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jackedelic/mcp-discord'

If you have feedback or need assistance with the MCP directory API, please join our Discord server