Skip to main content
Glama
taka392

discord-mcp

by taka392

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.1

  • Disambiguation5/5

    Each tool targets a distinct resource or action: guild, channel, message, and authentication. No two tools have overlapping purposes, making it easy for an agent to select the correct one.

    Naming Consistency5/5

    Tool names consistently follow a verb_noun pattern in snake_case (e.g., create_channel_message, get_guild, list_guilds), with 'verify' being the only outlier but acceptable as a standalone action.

    Tool Count5/5

    Seven tools is well-scoped for a Discord MCP server that covers basic guild, channel, and message operations plus authentication. The count feels neither too sparse nor overloaded.

    Completeness3/5

    The set covers reading guilds, channels, messages, and sending a message, but lacks important operations like editing/deleting messages, creating/deleting channels, or managing reactions. Notable gaps exist for common workflows.

  • Average 3.8/5 across 7 of 7 tools scored. Lowest: 3.1/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It only indicates a read operation but does not mention permissions, rate limits, error handling (e.g., if channel not found), or any side effects.

    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. It is front-loaded and contains no unnecessary words, though it could be slightly expanded without losing efficiency.

    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 that an output schema exists, the description does not need to detail return values, but it lacks information about error conditions or usage context. It is acceptable but minimal for a simple get operation.

    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 sole parameter 'channel_id' has no description in the schema (0% coverage). The description adds only 'by id', which does not clarify the expected format (e.g., string representation, snowflake) or provide examples. More detail is needed.

    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 ('Get'), the resource ('a single channel object'), and the retrieval method ('by id'). This distinguishes it from sibling tools like 'get_guild' or 'list_channel_messages'.

    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 'list_guild_channels' or 'list_channel_messages'. The description lacks any contextual hints about prerequisites or use cases.

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

  • 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 a prerequisite and the basic action, but does not disclose any behavioral traits such as error handling, rate limits, or whether the operation is idempotent. For a read tool, this is minimally adequate but lacks detail.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences with no wasted words. The purpose is stated first, followed by the critical prerequisite. Every sentence 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 the tool's simplicity and the existence of an output schema, the description is incomplete. It fails to describe the parameter meaning (guild_id) and does not mention what the tool returns (though output schema may cover that). The prerequisite is helpful, but overall the description lacks sufficient context for an agent to use the tool correctly without inferring.

    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 0% description coverage for the single parameter 'guild_id'. The description does not explain what the guild ID is, its format, or how to obtain it. The agent receives no additional meaning beyond the raw schema field name.

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

    Purpose5/5

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

    The description clearly states the action ('Get a guild') and the resource ('by id'), and implicitly differentiates from sibling 'list_guilds' by specifying a single guild lookup.

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

    Usage Guidelines4/5

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

    The description provides a clear usage condition: 'The bot must be a member of that guild.' This tells the agent when the tool can be used, though it does not mention when not to use it or list alternatives.

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

  • Behavior2/5

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

    No annotations are provided, so the description should disclose behavioral traits like read-only nature, rate limits, or permissions. It only states the operation without any such context.

    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 very concise, one sentence, and front-loaded with the core action and resource. It efficiently communicates the purpose without unnecessary words.

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

    Completeness3/5

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

    The description is minimal but functional for a simple listing tool with a self-explanatory parameter and an existing output schema. However, it lacks details about the return format or any additional behavioral 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?

    The input schema has only one parameter (guild_id) with 0% description coverage. The description does not explain the parameter beyond what the schema provides, failing to compensate for the coverage gap.

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

    Purpose5/5

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

    The description clearly states the action (list channels) and the resource (guild), and it distinguishes from siblings by specifying it returns all types of channels. Other tools like get_channel or list_channel_messages serve different purposes.

    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 should be used when a user needs a list of all channels in a guild, but it does not explicitly mention when to use alternatives (e.g., get_channel for a single channel) or provide any exclusion criteria.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the need for a specific permission, respects rate limits, and content length limitation. However, it does not describe the return value or side effects (e.g., whether it returns the created message). Still provides useful behavioral context beyond basic purpose.

    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?

    Very concise: two sentences plus a bullet of constraints. All information is relevant and front-loaded with the action. No filler or redundancy.

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

    Completeness3/5

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

    Given the tool's simplicity (2 params, has output schema), the description covers purpose, permission, and constraints adequately. However, it omits any mention of the output (what the tool returns), which is relevant for an agent using it. The presence of an output schema is not leveraged in the description.

    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 description must compensate. It only adds that content is limited to 2000 characters, but provides no explanation for channel_id or additional details for content (e.g., formatting, allowed characters). This adds minimal value beyond the parameter names.

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

    Purpose5/5

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

    Explicitly states it sends a text message to a channel, with a clear verb and resource. Siblings are all read/list operations, so this is uniquely identified as the write operation for messages.

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

    Usage Guidelines4/5

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

    Mentions required permission 'Send Messages' and constraints like rate limits and 2000 character limit. While it doesn't explicitly compare to siblings, the context makes it clear when to use this tool (to create a message) vs others (to read). A clear when-to-use is present.

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

  • Behavior3/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 discloses pagination behavior (cursor and limit) but does not mention rate limits, authentication requirements, or output format (though output schema exists).

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

    Conciseness5/5

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

    The description is extremely concise with two sentences and an argument list. Every sentence provides essential information with no wasted words.

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

    Completeness4/5

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

    For a simple list tool with an output schema, the description covers purpose and parameter usage well. Could mention that it returns guild objects, but overall fairly complete.

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

    Parameters4/5

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

    Schema coverage is 0%, so description adds significant value: specifies limit range (1–200) and before as a guild ID cursor for pagination, beyond the basic parameter names.

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

    Purpose5/5

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

    The description clearly states 'List guilds the bot is in' with a specific verb and resource. It distinguishes from sibling tools like get_guild (single guild) and list_guild_channels (channels within a guild).

    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 use for listing all guilds but does not explicitly state when to use it versus alternatives like get_guild or when not to use it. Pagination parameters hint at usage context but lack explicit guidance.

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

  • Behavior4/5

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

    With no annotations provided, the description transparently discloses the required permissions and the ordering behavior. It does not mention potential side effects or rate limits, but as a read-only list tool, this is acceptable.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the primary purpose, and contains no redundant information. Every sentence adds value.

    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 complexity (4 parameters) and the existence of an output schema, the description covers the key aspects: purpose, ordering, permissions, and pagination. It does not describe the output fields, but the output schema likely covers that.

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

    Parameters5/5

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

    The description adds crucial meaning beyond the input schema: it specifies the valid range for 'limit' (1-100) and explains that 'before' and 'after' are message IDs for pagination. This compensates for the 0% schema description coverage.

    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 'list', the resource 'messages in a channel', and specifies ordering ('newest first'). It distinguishes from sibling tools like 'create_channel_message' effectively.

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

    Usage Guidelines4/5

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

    The description mentions required permissions ('Read Message History and access to the channel') and provides pagination guidance ('Use before/after message ids for pagination'). It does not explicitly exclude alternatives but gives sufficient context.

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

  • Behavior5/5

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

    The description reveals the HTTP method (GET), the endpoint (/users/@me), and the return object structure (id, username, etc.). No annotations are provided, but the description fully discloses the behavior without contradictions.

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

    Conciseness5/5

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

    Two concise sentences, no fluff, directly communicates purpose and output. Perfectly sized.

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

    Completeness5/5

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

    Given no parameters and an output schema exists, the description covers the return object fields and the endpoint. No additional context needed.

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

    Parameters4/5

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

    There are no parameters, and the schema coverage is 100% (empty). The description adds no parameter details, but that is appropriate since no parameters exist. Baseline 4 applies.

    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 it verifies the bot token via GET /users/@me and returns the bot user object. This differentiates it from sibling tools which deal with channels, guilds, and 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 or not use this tool versus alternatives. However, the context (no parameters, token verification) implies it's for checking token validity or setup, but lack of explicit instructions leaves room for ambiguity.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

discord-mcp MCP server

Copy to your README.md:

Score Badge

discord-mcp MCP server

Copy to your README.md:

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/taka392/discord-mcp'

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