Discord MCP
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+
uvfor dependency management and running the serverA Discord bot application with a bot token (Discord Developer Portal)
Installation
git clone https://github.com/EncryptMan/discord-mcp discord-mcp
cd discord-mcp
uv syncConfiguration
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:
botscope + relevant OAuth2 permissions (Send Messages, Manage Roles, Manage Channels, Kick/Ban Members, etc.)Privileged Gateway Intents:
SERVER MEMBERS INTENT(for member lookups/roles) andMESSAGE CONTENT INTENT(for reading message content)
Tools
Update this list to match what
main.pyactually implements.
Tool | Description |
| List guilds (servers) the bot is in |
| Fetch guild (server) information |
| List channels in a guild |
| Manage channels |
| Send or edit messages |
| List roles in a guild |
| Manage roles |
| Assign/remove roles on a member |
| List or fetch guild member(s) |
| Edit nickname, mute/deafen state |
| Moderation actions |
| Manage and use webhooks |
| React to a message |
| Create a thread from a message |
| Manage invites |
Running standalone
uv run --project /absolute/path/to/discord-mcp python /absolute/path/to/discord-mcp/main.pyThe 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.envfile 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.).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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