Skip to main content
Glama
danushkumar-v

mcp-discord

MCP-Discord

Docker Hub

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: MCP-Discord

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 NPM

You can use it with the following command:

npx mcp-discord --config ${DISCORD_TOKEN}

For more details, you can check out the NPM Package.

Installing via Smithery

To install mcp-discord automatically via Smithery

Installing via Docker

You can run mcp-discord using Docker. The Docker images are automatically built and published to Docker Hub.

Docker Hub Repository: barryy625/mcp-discord

# Pull the latest image
docker pull barryy625/mcp-discord:latest

# Run with environment variable
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest

# Or run with command line config
docker run -p 8080:8080 barryy625/mcp-discord:latest --config "your_discord_bot_token"

Available Tags:

  • latest - Latest stable version from main branch

  • v1.3.3, etc. - Specific version releases

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

Docker

You can use Docker containers with both Claude and Cursor:

{
    "mcpServers": {
        "discord": {
            "command": "docker",
            "args": [
                "run",
                "--rm",
                "-e",
                "DISCORD_TOKEN=your_discord_bot_token",
                "-p",
                "8080:8080",
                "barryy625/mcp-discord:latest",
                "--transport",
                "http",
                "--port",
                "8080"
            ]
        }
    }
}

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_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_reactionsBInspect

Adds multiple emoji reactions to a Discord message at once

ParametersJSON Schema
NameRequiredDescriptionDefault
emojisYes
channelIdYes
messageIdYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the basic function without disclosing important behavior: what happens if some reactions fail, rate limits, idempotency, maximum number of emojis, or whether it overwrites existing reactions.

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, concise sentence with no superfluous words, achieving maximum conciseness while still conveying the core purpose.

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 three required parameters, no output schema, and no annotations, the description is too sparse. It omits return value, error conditions, and limitations, making it insufficient for an agent to fully understand the tool's behavior.

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 the description adds no details about parameters. While parameter names are somewhat self-explanatory, the 'emojis' array lacks format specification (e.g., Unicode or custom ID), which is critical for correct use.

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 action ('adds'), the resource ('multiple emoji reactions'), and the target ('a Discord message'), effectively distinguishing it from the sibling tool 'discord_add_reaction' which adds a single reaction.

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 implicitly indicates when to use this tool (to add multiple reactions simultaneously) but does not explicitly state when not to use it, such as for single reactions where 'discord_add_reaction' would be more appropriate, nor any prerequisites like permissions.

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

discord_add_reactionCInspect

Adds an emoji reaction to a specific Discord message

ParametersJSON Schema
NameRequiredDescriptionDefault
emojiYes
channelIdYes
messageIdYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the basic action, omitting details like idempotency (what if reaction already exists?), rate limits, or required permissions (bot must have permission to add reactions).

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?

Single sentence is concise but lacks necessary detail. While no wasted words, it's too short to provide adequate information for correct usage.

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 3 required parameters, no output schema, no annotations, and multiple related siblings (e.g., remove_reaction, add_multiple_reactions), the description is incomplete. No mention of return value, error handling, or side effects.

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 description adds no information about the parameters. 'emoji' format (Unicode vs custom ID), channelId and messageId source are not explained. The parameter names alone are insufficient.

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 action (adds), the resource (emoji reaction), and the target (specific Discord message). It distinguishes from sibling tools like discord_remove_reaction and discord_add_multiple_reactions.

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 vs alternatives, no prerequisites (e.g., bot permissions, login status), and no context for when not to use. The description is purely functional without usage advice.

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

discord_create_categoryCInspect

Creates a new category in a Discord server.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
reasonNo
guildIdYes
positionNo

TDQS

C2.8/5.0
Behavior2/5

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

The description omits behavioral details such as required permissions, rate limits, side effects (e.g., whether creation affects channel ordering), and return value. As no annotations are provided, the description should cover these aspects.

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 sentence of 9 words with no fluff. However, extreme brevity comes at the cost of completeness.

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 output schema and annotations, the description is insufficient for an agent to fully understand the tool's behavior. It does not explain success outcomes, error conditions, or how to use parameters effectively.

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?

The description provides no information about the four parameters (name, reason, guildId, position). Since schema description coverage is 0%, the description entirely fails to clarify parameter meaning or usage.

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 'creates', the resource 'category', and the context 'in a Discord server', making it unambiguous and distinct from sibling tools like discord_create_text_channel or discord_edit_category.

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 (e.g., when to create a category vs. a text channel). There are no prerequisites or exclusions mentioned.

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

discord_create_forum_postBInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleYes
contentYes
forumChannelIdYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the basic action without disclosing behavioral traits like required permissions, rate limits, error handling, or what happens if the forum channel is invalid. This is insufficient for a create operation.

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 concise sentence with no unnecessary words. Every part 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 simple creation tool with 4 parameters and no output schema, the description covers the basic purpose and optional tags. However, it lacks context on return value confirmation, potential errors, or character limits. It is adequate but not thorough.

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, and the description only adds 'with optional tags', which partially clarifies that tags are not required. However, it does not explain the meaning of forumChannelId, title, or content beyond their names. The added value over the schema is minimal.

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 'creates' and the resource 'a new post in a Discord forum channel', and mentions the key feature 'with optional tags'. This distinguishes it from sibling tools like discord_delete_forum_post and discord_reply_to_forum.

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 is used for creating a new forum post but provides no explicit guidance on when to use it versus alternatives (e.g., replying to an existing post). No exclusions or prerequisites are mentioned.

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

discord_create_text_channelCInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNo
guildIdYes
channelNameYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only states the action but does not disclose required permissions, side effects, error behavior, or return value.

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?

Single sentence with no wasted words. Could be slightly more informative without sacrificing conciseness, but it is 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?

The description is too brief given the complexity (3 params, no output schema, no annotations, many siblings). Missing return value, permission requirements, and context for when to 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%. The description adds minimal value beyond the schema, only mentioning that 'topic' is optional. No explanation of 'guildId' or 'channelName'.

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 'creates', the resource 'new text channel', and the scope 'in a Discord server', distinguishing it from sibling tools like discord_create_category or discord_create_forum_post.

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 such as discord_create_category or discord_create_forum_post. Lacks prerequisites, context, or exclusions.

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

discord_create_webhookCInspect

Creates a new webhook for a Discord channel

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
avatarNo
reasonNo
channelIdYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states creation but omits side effects, return value, or mutation details. For a write operation, 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.

Conciseness3/5

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

The description is a single sentence, which is concise, but it sacrifices necessary detail. It could be expanded without becoming overly long.

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

Completeness1/5

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

With four parameters, no output schema, and no annotations, the description is critically incomplete. It lacks parameter semantics, behavioral context, and usage guidance.

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 tool description does not explain any of the four parameters (name, avatar, reason, channelId). Users cannot infer expected formats or purposes.

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 uses a specific verb 'Creates' and resource 'webhook', clearly indicating the action. The addition 'for a Discord channel' provides context. It distinguishes from sibling tools like discord_delete_webhook and 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?

No when-to-use or when-not-to-use guidance is provided. The description does not mention prerequisites like permissions or compare to alternatives such as discord_send_webhook_message.

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

discord_delete_categoryBInspect

Deletes a Discord category by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
categoryIdYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It discloses the destructive action but lacks details on consequences (e.g., deletion of child channels, reversibility, rate limits).

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 sentence, front-loaded with the verb and resource. No extraneous text; 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?

Adequate for a simple action but lacks parameter details (e.g., format of categoryId, purpose of reason) and behavioral context common for destructive operations.

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?

The description adds no information about the two parameters (categoryId and reason). With 0% schema description coverage, the agent must guess their meaning.

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 action (deletes) and the resource (Discord category by ID), and it distinguishes itself from sibling tools like discord_delete_channel and discord_delete_message.

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, prerequisites (e.g., permissions), or alternatives. The description simply states what it does without context.

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

discord_delete_channelCInspect

Deletes a Discord channel with an optional reason

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
channelIdYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must fully convey behavior. It only mentions deletion with an optional reason, but does not disclose permanence, permissions, or side effects like message loss.

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 concise sentence with no wasted words. However, it could be expanded without losing conciseness.

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 destructive nature, lack of annotations, and no output schema, the description is too minimal. It does not cover important context like reversibility or success confirmation.

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, the description should compensate. It only adds that 'reason' is optional, but does not explain 'channelId' or provide format constraints. Minimal added value.

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 'deletes' and the resource 'Discord channel', with an optional reason. It distinguishes from sibling tools that delete other types of content.

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_delete_category or discord_delete_forum_post. The description lacks any 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_forum_postCInspect

Deletes a forum post or thread with an optional reason

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
threadIdYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so description carries full burden. Only mentions 'optional reason', but lacks details on permanence, permissions, or side effects. Insufficient for a delete operation.

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?

One short sentence with no waste, front-loaded with verb and resource. However, could benefit from additional structure or bullet points.

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?

Minimal description for a 2-parameter tool with no output schema or annotations. Lacks information on return values, errors, or what happens after deletion. Not complete enough for reliable agent 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%, yet description only adds that reason is optional. Does not explain threadId (e.g., channel ID vs message ID) or constraints, leaving parameters underspecified.

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 'deletes' and the resource 'forum post or thread', distinguishing it from sibling tools like discord_delete_message or discord_delete_category.

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 vs alternatives, or conditions for use. No exclusions or prerequisites mentioned.

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

discord_delete_messageCInspect

Deletes a specific message from a Discord text channel

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
channelIdYes
messageIdYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the destructive action ('deletes') but does not disclose any side effects, such as irreversibility, required permissions, error conditions, or rate limits.

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 sentence, which is concise but lacks structure. It could benefit from additional details without being verbose.

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 simplicity, the description is incomplete. It does not mention that deletion is permanent, nor does it cover any preconditions or responses. More context is needed for an agent to use it confidently.

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?

The schema has 3 parameters with 0% description coverage. The tool description does not explain any parameter (e.g., that channelId and messageId are required, or that reason is for audit logs). It adds no value beyond the schema structure.

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 action ('Deletes') on a specific resource ('a specific message') within a defined context ('from a Discord text channel'). It effectively distinguishes this tool from siblings like discord_delete_channel or discord_delete_category.

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_delete_channel or discord_remove_reaction. It lacks any prerequisites, permissions, or scenarios for use.

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

discord_delete_webhookCInspect

Deletes an existing webhook for a Discord channel

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
webhookIdYes
webhookTokenNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It does not mention that deletion is permanent, irreversible, or any side effects (e.g., breaking existing integrations). The term 'deletes' implies removal but lacks explicit warning.

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?

Single sentence, no fluff. However, it could be more informative within the same length by including brief parameter hints or behavioral notes.

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, no output schema, and 3 parameters without explanation, the description is insufficient for effective agent invocation. Missing details on how to obtain webhookId and whether deletion requires authorization.

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%. The description does not explain the parameters, leaving the agent to infer purpose from names alone. For example, 'webhookToken' is not clarified, and 'reason' purpose is vague.

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 action ('Deletes') and the resource ('existing webhook for a Discord channel'), making it specific and unambiguous. It distinguishes itself from siblings like 'create' or 'edit'.

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 (e.g., edit_webhook for modifications). The description lacks context about prerequisites or typical use cases.

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

discord_edit_categoryCInspect

Edits an existing Discord category (name and position).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
reasonNo
positionNo
categoryIdYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, and the description lacks disclosure of behavioral traits such as permissions required, side effects (e.g., reordering channels), or idempotency.

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 brief (one sentence), which is concise for a simple tool, but lacks structure or additional detail that could improve 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?

For a tool with 4 parameters and no output schema, the description is too sparse; it omits parameter details, return values, and usage 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?

With 0% schema coverage, the description only partially adds meaning for 2 of 4 parameters (name and position), leaving reason and categoryId unexplained.

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 'Edits an existing Discord category' and specifies the editable fields 'name and position', which distinguishes it from create/delete 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 on when to use this tool versus alternatives like discord_create_category or discord_delete_category, nor any prerequisites or scenarios.

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

discord_edit_webhookCInspect

Edits an existing webhook for a Discord channel

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
avatarNo
reasonNo
channelIdNo
webhookIdYes
webhookTokenNo

TDQS

C2.3/5.0
Behavior2/5

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

The description only indicates 'edits,' implying mutation, but lacks details on side effects, permissions, rate limits, or idempotency. With no annotations, the description fails to disclose important 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.

Conciseness2/5

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

The description is a single sentence, but it is too short to be informative. It sacrifices clarity for brevity, making it under-specified.

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

Completeness1/5

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

Given six parameters, no schema descriptions, no annotations, and no output schema, the description is severely incomplete. It does not cover return values, errors, or the full scope of editing operations.

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?

The description does not explain any of the six parameters. Schema coverage is 0%, and the description provides no additional meaning beyond parameter names, leaving the agent without guidance on how to use fields like 'avatar', 'reason', or 'channelId'.

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 edits an existing webhook for Discord, distinguishing it from create, delete, and send siblings. However, it does not specify which aspects of the webhook can be edited, leaving some ambiguity.

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 creating, deleting, or sending messages. There are no prerequisites or context for when editing is appropriate.

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

discord_get_forum_channelsAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It states the basic purpose but does not disclose any behavioral traits such as rate limits, authentication requirements, or pagination 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, clear sentence with no unnecessary information, making it concise and front-loaded.

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 parameter, no output schema), the description is mostly complete for minimal use, though it could benefit from a brief explanation of the required parameter.

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 does not explain the 'guildId' parameter or how to obtain it, adding no additional meaning beyond the schema.

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 action ('Lists') and the resource ('forum channels'), and specifies the scope ('in a specified Discord server (guild)'), distinguishing it from sibling tools like 'discord_get_forum_post'.

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 that the tool is used to list all forum channels, but it does not explicitly state when to use it versus alternatives or provide any exclusions or prerequisites.

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

discord_get_forum_postBInspect

Retrieves details about a forum post including its messages

ParametersJSON Schema
NameRequiredDescriptionDefault
threadIdYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states that details are retrieved, but does not confirm read-only nature, side effects, or any prerequisites. The lack of transparency is a significant gap.

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 concise sentence that front-loads the key action. It is appropriately sized without unnecessary wording.

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 low complexity (one parameter, no output schema), the description is minimally adequate. However, it lacks details about what constitutes 'details' and what is returned, leaving some ambiguity.

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 one parameter (threadId) with 0% schema description coverage. The description does not add meaning beyond the parameter name, failing to compensate for the missing schema descriptions.

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 uses a specific verb ('Retrieves') and resource ('details about a forum post including its messages'). It clearly distinguishes from sibling tools like discord_create_forum_post or discord_delete_forum_post, making the tool's 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 Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives such as discord_read_messages. Usage is only implied, and no exclusions or context are given.

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

discord_get_server_infoBInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It indicates a read operation ('Retrieves'), but does not mention potential issues like rate limits, authentication, pagination, or side effects. The information on what is retrieved is vague.

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?

Single sentence, front-loaded with the verb. No unnecessary words. However, it could be slightly more informative without losing conciseness.

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 one parameter and no output schema, the description should detail the parameter and expected response. It only mentions 'channels and member count' but not other potential fields. Incomplete for a 'detailed information' claim.

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?

The schema has 0% description coverage, and the description does not explain the only parameter 'guildId'. An agent would need external knowledge to know that it is a Discord server ID and its format. The description adds no value beyond the schema.

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 action ('Retrieves') and the resource ('detailed information about a Discord server'), and specifies included details ('channels and member count'). It distinguishes from sibling tools like discord_get_forum_channels which focus on channels or messages.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it is for general server info, but does not specify scenarios, prerequisites, or when to avoid it.

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

discord_loginCInspect

Logs in to Discord using the configured token

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations exist, so the description must convey behavioral traits. It only states 'Logs in' without disclosing side effects, error handling, or whether the token parameter is optional or required. The agent lacks critical information about 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.

Conciseness2/5

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

The description is a single sentence, which is concise but lacks essential details. It does not structure information effectively for an AI agent.

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

Completeness1/5

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

Given the low schema coverage and lack of output schema, the description fails to provide necessary context. It does not explain prerequisites, return values, or the tool's role in the workflow.

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 barely addresses the single 'token' parameter. It mentions 'configured token' ambiguously, leaving the parameter's purpose and usage unclear.

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 the tool logs in to Discord using a token, which is a distinct action among sibling tools. However, it could be more specific about what 'login' entails (e.g., authentication of a bot session).

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 fails to mention that login is likely a prerequisite for other Discord operations, nor does it reference sibling tools.

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

discord_read_messagesBInspect

Retrieves messages from a Discord text channel with a configurable limit

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
channelIdYes

TDQS

B3.2/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 for behavioral disclosure. It only mentions retrieval with a configurable limit, omitting important traits like ordering (e.g., most recent first), read-only nature, authentication requirements, or rate limits.

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 wasted words, front-loading the purpose. Every piece of information is relevant and earns its place.

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 output schema and 0% parameter schema coverage, the description is too sparse. It does not explain the return format, pagination, or any constraints beyond the limit. For a simple read tool, more detail on expected outputs or error conditions 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 adds meaning to the 'limit' parameter as configurable, but does not explain 'channelId' beyond its presence in the schema. The description adds partial value but not enough for full clarity.

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 'retrieves' and the resource 'messages from a Discord text channel', with an additional detail about configurable limit. It is specific and distinguishes from sibling tools like discord_send or discord_add_reaction.

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 (e.g., discord_get_forum_posts or other channel tools). The description lacks context on preconditions, such as needing to be in the server or having appropriate permissions.

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

discord_remove_reactionCInspect

Removes a specific emoji reaction from a Discord message

ParametersJSON Schema
NameRequiredDescriptionDefault
emojiYes
userIdNo
channelIdYes
messageIdYes

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states 'removes' but fails to explain if the tool can remove any reaction or only the bot's own, what happens on failure, or permission requirements.

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

Conciseness2/5

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

The description is a single sentence of 10 words, which is concise but lacks necessary details. It is under-specified rather than efficiently informative.

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

Completeness1/5

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

For a tool with 4 parameters, no annotations, no output schema, and 0% param descriptions, this one-sentence description is completely inadequate. It omits return behavior, error handling, and parameter specifics.

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 description adds no meaning to parameters. It does not clarify emoji format (Unicode vs custom), the role of optional userId, or required fields beyond listing.

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 action ('removes'), the resource ('a specific emoji reaction'), and the context ('from a Discord message'). It distinguishes from sibling tools like discord_add_reaction by indicating removal.

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 (e.g., when to remove own reaction vs others). No mention of prerequisites like permissions or reaction ownership.

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

discord_reply_to_forumBInspect

Adds a reply to an existing forum post or thread

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes
threadIdYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'adds a reply' without disclosing permissions, rate limits, idempotency, or side effects of the write operation.

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 with no wasted words, making it easy to parse and front-loaded with the core purpose.

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 simplicity of the tool (2 parameters, no output schema), the description is too sparse. It omits necessary context like required permissions, behavior on errors, or whether mentions/embeds are supported.

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 the description adds no parameter details beyond the names. It does not specify message format, character limits, or threadId format, leaving the agent with minimal guidance.

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 adds a reply to an existing forum post or thread, using a specific verb and resource. It distinguishes from siblings like discord_create_forum_post (which creates a new post) and discord_send (which sends to a channel).

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 explicit guidance on when to use this tool vs alternatives like discord_send or discord_create_forum_post. It only implies usage for replying to existing threads, but does not state prerequisites or exclude scenarios.

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

discord_sendCInspect

Sends a message to one or more Discord text channels by name in a server

ParametersJSON Schema
NameRequiredDescriptionDefault
guildIdYes
messageYes
channelNamesYes

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. It omits critical behavioral details, such as whether the bot must be present in the server, any permission requirements, rate limits, side effects like message character limits, or what happens if a channel name is missing. The description does not compensate for the missing annotations.

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 very concise (one sentence), which is good for efficiency. However, it is under-specified for an AI agent; conciseness should not come at the cost of completeness. The structure is minimal but acceptable for a simple tool, though important details are missing.

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 three required parameters, no output schema, and no annotations, the description is insufficient. It does not explain the return value, error behavior, or edge cases like empty arrays or nonexistent channels. A more complete description would include usage examples or mention what the tool returns upon success or failure.

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%, meaning the description adds no information about the parameters. The parameter names (guildId, channelNames, message) are not explained—e.g., channelNames can be a string or array, but this nuance is absent. The tool description should clarify the expected format and usage of each parameter, but it does not.

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 'sends' and resource 'message to one or more Discord text channels by name in a server'. It specifies the channel identification method ('by name'), which distinguishes it from sibling tools like discord_send_webhook_message. This is a specific and unambiguous purpose.

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 given on when to use this tool versus alternatives, such as when to use a webhook vs direct message sending. There is no mention of prerequisites like bot permissions or server membership, nor any when-not-to-use conditions. The description only states the action without contextual usage advice.

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

discord_send_webhook_messageCInspect

Sends a message to a Discord channel using a webhook

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
threadIdNo
usernameNo
avatarURLNo
webhookIdYes
webhookTokenYes

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 context. It only states the basic action and does not disclose error handling, rate limits, or capability to send embeds. This is insufficient for an agent to understand consequences.

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, well-structured sentence that efficiently communicates the core purpose without extraneous words. It is appropriately front-loaded.

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 six parameters, lack of annotations, and sibling tools, the description fails to provide adequate context. It does not explain optional parameters like threadId, username, or avatarURL, nor does it clarify the need for a pre-existing webhook.

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?

The input schema has zero description coverage, and the tool description adds no explanation for any of the six parameters. The agent must infer meaning from parameter names alone, which is inadequate for correct usage.

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 action (sends), the resource (message), the method (using a webhook), and the destination (Discord channel). It effectively distinguishes from sibling tools like discord_send which likely sends without a 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 (e.g., discord_send), nor does it mention prerequisites such as having a webhook ID and token. An agent cannot determine the appropriate context from this description alone.

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.

  1. 22 tool updatesv1.3.4
    • First observeddiscord_add_multiple_reactions
    • First observeddiscord_add_reaction
    • First observeddiscord_create_category
    • First observeddiscord_create_forum_post
    • First observeddiscord_create_text_channel
    • First observeddiscord_create_webhook
    • First observeddiscord_delete_category
    • First observeddiscord_delete_channel
    • First observeddiscord_delete_forum_post
    • First observeddiscord_delete_message
    • First observeddiscord_delete_webhook
    • First observeddiscord_edit_category
    • First observeddiscord_edit_webhook
    • First observeddiscord_get_forum_channels
    • First observeddiscord_get_forum_post
    • First observeddiscord_get_server_info
    • First observeddiscord_login
    • First observeddiscord_read_messages
    • First observeddiscord_remove_reaction
    • First observeddiscord_reply_to_forum
    • First observeddiscord_send
    • First observeddiscord_send_webhook_message

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct Discord entity or action: reactions, categories, channels, forums, webhooks, messages, server info, and login. Even similar tools like discord_send and discord_send_webhook_message have clear differences in mechanism. No overlap or ambiguity.

Naming Consistency5/5

All tools follow the consistent pattern discord_verb_noun (e.g., discord_create_category, discord_delete_message). Verbs are descriptive and nouns precisely identify the target. No mixing of naming conventions.

Tool Count4/5

22 tools is slightly above the ideal 3-15 range, but given the breadth of Discord's API (categories, channels, forums, webhooks, reactions, messages, etc.), the count is justified and not excessive. Each tool serves a clear purpose without redundancy.

Completeness4/5

The tool set covers core CRUD operations for categories, channels, forums, webhooks, and reactions, plus message sending, reading, and login. Minor gaps exist, such as missing edit_message or pin message, but the surface is sufficient for most common Discord automation tasks.

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
    A
    quality
    A
    maintenance
    A Discord Model Context Protocol server that enables AI assistants to interact with Discord, providing functionality for sending messages, managing channels, handling forum posts, and working with reactions.
    30
    22
    1,062
    103
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Discord MCP server that enables AI assistants to interact with Discord platforms, providing functionalities like sending messages, managing channels, creating forum posts, and handling webhooks.
    21
    1,062
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A Discord Model Context Protocol server that enables AI assistants to interact with Discord by sending messages, managing channels, handling forum posts, managing webhooks, and processing reactions.
    22
    98
    5
    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/danushkumar-v/mcp-discord'

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