A Model Context Protocol (MCP) server that provides Discord integration capabilities to MCP clients.
get_server_info: Get detailed server informationlist_members: List server members and their roles
send_message: Send a message to a channelread_messages: Read recent message historyadd_reaction: Add a reaction to a messageadd_multiple_reactions: Add multiple reactions to a messageremove_reaction: Remove a reaction from a messagemoderate_message: Delete messages and timeout users
create_text_channel: Create a new text channeldelete_channel: Delete an existing channel
add_role: Add a role to a userremove_role: Remove a role from a user
create_webhook: Create a new webhooklist_webhooks: List webhooks in a channelsend_webhook_message: Send messages via webhookmodify_webhook: Update webhook settingsdelete_webhook: Delete a webhook
To install Discord Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @hanweg/mcp-discord --client claude-
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
-
Clone and install the package:
# Clone the repository
git clone https://github.com/hanweg/mcp-discord.git
cd mcp-discord
# Create and activate virtual environment
uv venv
.venv\Scripts\activate
### If using Python 3.13+ - install audioop library:
uv pip install audioop-lts
# Install the package
uv pip install -e .- Configure Claude Desktop (
%APPDATA%\Claude\claude_desktop_config.jsonon Windows,~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS):
"discord": {
"command": "uv",
"args": [
"--directory",
"C:\\PATH\\TO\\mcp-discord",
"run",
"mcp-discord"
],
"env": {
"DISCORD_TOKEN": "your_bot_token"
}
}MIT License - see LICENSE file for details.