Skip to main content
Glama
EncryptMan

Discord MCP

by EncryptMan

Discord MCP

An MCP (Model Context Protocol) server that exposes Discord bot actions as tools for LLM clients (e.g. Claude Desktop, Claude Code).

Requirements

  • Python 3.10+

  • uv for dependency management and running the server

  • A Discord bot application with a bot token (Discord Developer Portal)

Related MCP server: mcp-cli-catalog

Installation

git clone <your-repo-url> discord-mcp
cd discord-mcp
uv sync

Configuration

The server reads its Discord bot token from the DISCORD_BOT_TOKEN environment variable.

Add the server to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "discord": {
      "command": "uv",
      "args": [
        "run",
        "--project",
        "/absolute/path/to/discord-mcp",
        "python",
        "/absolute/path/to/discord-mcp/main.py"
      ],
      "env": {
        "DISCORD_BOT_TOKEN": "your-bot-token-here"
      }
    }
  }
}

Restart your MCP client after editing the config so it picks up the new server.

Bot permissions

Make sure the bot is invited to your server with at least the following permissions/intents enabled in the Developer Portal, depending on which tools you use:

  • bot scope + relevant OAuth2 permissions (Send Messages, Manage Roles, Manage Channels, Kick/Ban Members, etc.)

  • Privileged Gateway Intents: SERVER MEMBERS INTENT (for member lookups/roles) and MESSAGE CONTENT INTENT (for reading message content)

Tools

Update this list to match what main.py actually implements.

Tool

Description

get_guild

Fetch guild (server) information

get_guild_channels

List channels in a guild

get_guild_roles

List roles in a guild

get_guild_members / get_guild_member

List or fetch guild member(s)

create_channel / edit_channel / delete_channel

Manage channels

create_role / edit_role / delete_role

Manage roles

add_member_role / remove_member_role

Assign/remove roles on a member

edit_member

Edit nickname, mute/deafen state

kick_member / ban_member / timeout_member

Moderation actions

get_messages

Fetch recent messages from a channel

send_message / edit_message

Send or edit messages

add_reaction

React to a message

create_thread

Create a thread from a message

create_invite / get_guild_invites

Manage invites

create_webhook / get_channel_webhooks / execute_webhook / delete_webhook

Manage and use webhooks

Running standalone

uv run --project /absolute/path/to/discord-mcp python /absolute/path/to/discord-mcp/main.py

The server communicates over stdio, so it's meant to be launched by an MCP client rather than run interactively.

Security notes

  • Never commit your DISCORD_BOT_TOKEN — keep it in your MCP client config or a local .env file that's gitignored.

  • Scope the bot's server permissions to only what these tools need; avoid granting Administrator unless required.

License

Add a license of your choice (MIT, Apache-2.0, etc.).

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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

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