Skip to main content
Glama
Discord MCP Server
by wowjinxy

Discord MCP Server

A Model Context Protocol (MCP) server that provides Discord integration capabilities to MCP clients like Claude Desktop.

Available Tools

Server Information

  • list_servers: List available servers

  • get_server_info: Get detailed server information

  • get_channels: List channels in a server

  • list_roles: View all roles in a server

  • list_members: List server members and their roles

  • list_invites: Display active invite links

  • list_bans: Show banned users

  • get_user_info: Get detailed information about a user

Message Management

  • send_message: Send a message to a channel

  • read_messages: Read recent message history

  • add_reaction: Add a reaction to a message

  • add_multiple_reactions: Add multiple reactions to a message

  • remove_reaction: Remove a reaction from a message

  • pin_message: Pin a message in a channel

  • unpin_message: Unpin a pinned message

  • bulk_delete_messages: Remove batches of recent messages

  • moderate_message: Delete messages and timeout users

Channel Management

  • create_text_channel: Create a new text channel

  • create_voice_channel: Create a new voice channel

  • create_stage_channel: Create a stage channel for events

  • create_category: Create a channel category

  • update_channel: Modify channel settings

  • delete_channel: Delete an existing channel

  • create_invite: Generate invite links for channels

Role Management

  • create_role: Create new roles

  • edit_role: Update existing roles

  • delete_role: Remove roles

  • add_role: Add a role to a user

  • remove_role: Remove a role from a user

Member Management

  • kick_member: Remove a member from the server

  • ban_member: Ban a member and optionally delete recent messages

  • unban_member: Lift a ban for a user

  • timeout_member: Apply or clear communication timeouts

Related MCP server: discord-mcp

Installation

  1. Set up your Discord bot:

    • Create a new application at Discord Developer Portal

    • Create a bot and copy the token

    • Enable required privileged intents:

      • MESSAGE CONTENT INTENT

      • PRESENCE INTENT

      • SERVER MEMBERS INTENT

    • Invite the bot to your server using OAuth2 URL Generator

  2. Clone and install the package:

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

# Create and activate virtual environment
uv venv
.venv\Scripts\activate # On macOS/Linux, use: source .venv/bin/activate

### If using Python 3.13+ - install audioop library: `uv pip install audioop-lts`

# Install the package
uv pip install -e .
  1. Configure Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS) so it runs the installed entry point via uv. Provide your Discord token using either the MCP session configuration or the DISCORD_TOKEN/discordToken environment variable:

    "discord": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\PATH\\TO\\mcp-discord",
        "run",
        "mcp-discord"
      ],
      "session_config": {
        "discordToken": "your_bot_token"
      }
    }

Alternatively, export the token before starting Claude Desktop and omit the session_config block:

export DISCORD_TOKEN=your_bot_token
## or use the camelCase environment name supported by some clients
export discordToken=your_bot_token

Installing via Smithery

To install Discord Server for Claude Desktop automatically via Smithery, ensure you supply the Discord token through your MCP client configuration (for example by setting discordToken in the session config) or by exporting DISCORD_TOKEN/discordToken before starting the client:

npx -y @smithery/cli install @wowjinxy/mcp-discord-manager --client claude

License

MIT License - see LICENSE file for details.

Available Tools

33 tools
add_multiple_reactionsC

Add multiple reactions to a message.

Inputs: channel_id (required), message_id (required), emojis (required). Returns: result

add_reactionC

Add a reaction to a specific message.

Inputs: channel_id (required), message_id (required), emoji (required). Returns: result

add_roleC

Add a role to a Discord user.

Inputs: user_id (required), role_id (required), server_id, reason. Returns: result

ban_memberC

Ban a user from the server.

Inputs: user_id (required), server_id, delete_message_seconds, reason. Returns: result

bulk_delete_messagesC

Delete multiple recent messages from a channel.

Inputs: channel_id (required), message_ids, limit, reason. Returns: result

create_categoryC

Create a new channel category.

Inputs: name (required), server_id, position, reason. Returns: result

create_inviteC

Create an invite link for a channel.

Inputs: channel_id (required), max_age_seconds, max_uses, temporary, +2 more. Returns: result

create_roleC

Create a new role in the specified server.

Inputs: name (required), server_id, color, colour, +6 more. Returns: result

create_stage_channelC

Create a new stage channel for events and announcements.

Inputs: name (required), server_id, category_id, topic, +1 more. Returns: result

create_text_channelC

Create a new text channel in the specified server.

Inputs: name (required), server_id, category_id, topic, +1 more. Returns: result

create_voice_channelC

Create a new voice channel in the specified server.

Inputs: name (required), server_id, category_id, user_limit, +2 more. Returns: result

delete_channelC

Delete a Discord channel.

Inputs: channel_id (required), reason. Returns: result

delete_roleC

Delete a role from the server.

Inputs: role_id (required), server_id, reason. Returns: result

edit_roleC

Update the configuration of an existing role.

Inputs: role_id (required), server_id, name, color, +8 more. Returns: result

get_channelsB

List channels for a Discord server grouped by category.

Inputs: server_id. Returns: result

get_server_infoB

Retrieve detailed information about a Discord server.

Inputs: server_id. Returns: result

get_user_infoB

Fetch information about a specific Discord user.

Inputs: user_id (required). Returns: result

kick_memberC

Kick a member from the server.

Inputs: user_id (required), server_id, reason. Returns: result

list_bansB

List banned users for the server.

Inputs: server_id, limit. Returns: result

list_invitesB

List active invites for a server.

Inputs: server_id. Returns: result

list_membersC

List members of a Discord server.

Inputs: server_id, limit, include_bots. Returns: result

list_rolesB

List all roles defined in the Discord server.

Inputs: server_id. Returns: result

list_serversB

List the Discord servers the bot is currently connected to.

Inputs: no named parameters. Returns: result

moderate_messageB

Moderate a message by deleting it and optionally timing out the author.

Inputs: channel_id (required), message_id (required), delete_message, timeout_minutes, +1 more. Returns: result

pin_messageC

Pin a message in a text channel.

Inputs: channel_id (required), message_id (required), reason. Returns: result

read_messagesC

Read recent messages from a channel.

Inputs: channel_id (required), limit. Returns: result

remove_reactionC

Remove the bot's reaction from a message.

Inputs: channel_id (required), message_id (required), emoji (required). Returns: result

remove_roleC

Remove a role from a Discord user.

Inputs: user_id (required), role_id (required), server_id, reason. Returns: result

send_messageC

Send a message to a Discord text channel or thread.

Inputs: channel_id (required), message (required). Returns: result

timeout_memberC

Apply or clear a communication timeout for a member.

Inputs: user_id (required), server_id, duration_minutes, reason. Returns: result

unban_memberC

Remove a ban for a user.

Inputs: user_id (required), server_id, reason. Returns: result

unpin_messageC

Unpin a message in a text channel.

Inputs: channel_id (required), message_id (required), reason. Returns: result

update_channelC

Update channel settings such as name, topic, and category.

Inputs: channel_id (required), name, category_id, position, +6 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 33 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific Discord resources and actions, such as add_reaction vs. remove_reaction or create_text_channel vs. delete_channel. There is no significant overlap that would cause confusion in tool selection, as descriptions precisely define the scope of each operation.

    Naming Consistency5/5

    Tool names follow a consistent verb_noun pattern throughout, such as create_role, list_members, and update_channel. All tools use snake_case with clear, descriptive verbs, making the naming scheme predictable and easy to understand across the entire set.

    Tool Count4/5

    With 33 tools, the count is slightly high but reasonable for a comprehensive Discord server management system, covering channels, roles, members, messages, and moderation. It feels slightly heavy but not excessive, as each tool serves a specific function in the domain.

    Completeness5/5

    The tool set provides complete CRUD and lifecycle coverage for Discord server management, including creation, retrieval, updating, and deletion of channels, roles, and messages, along with moderation actions like ban, kick, and timeout. No obvious gaps exist for the intended purpose, ensuring agents can handle typical workflows without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Enables comprehensive Discord bot management and server operations through MCP, including channel management, message handling, member moderation, role management, and voice operations. Provides secure Discord API integration with built-in permission controls and audit logging capabilities.
      19
      190 npm
      19
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Comprehensive Discord server management through MCP, enabling channel, role, permission, message, moderation, and automation tasks via natural language.
      4
      -
    • A
      license
      B
      quality
      D
      maintenance
      Enables Discord server moderation actions including kick, ban, timeout, role management, channel operations, audit logs, and member management through MCP tools.
      29
      7
      MIT