mcp-discord
# Discord MCP Server
[](https://smithery.ai/server/@hanweg/mcp-discord)
A Model Context Protocol (MCP) server that provides Discord integration capabilities to MCP clients like Claude Desktop.
<a href="https://glama.ai/mcp/servers/wvwjgcnppa"><img width="380" height="200" src="https://glama.ai/mcp/servers/wvwjgcnppa/badge" alt="mcp-discord MCP server" /></a>
## Available Tools
### Server Information
- `list_servers`: List available servers
- `get_server_info`: Get detailed server information
- `get_channels`: List channels in a server
- `list_members`: List server members and their roles
- `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
- `moderate_message`: Delete messages and timeout users
### Channel Management
- `create_text_channel`: Create a new text channel
- `delete_channel`: Delete an existing channel
### Role Management
- `add_role`: Add a role to a user
- `remove_role`: Remove a role from a user
## Installation
1. Set up your Discord bot:
- Create a new application at [Discord Developer Portal](https://discord.com/developers/applications)
- 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:
```bash
# 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 # 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 .
```
3. Configure Claude Desktop (`%APPDATA%\Claude\claude_desktop_config.json` on Windows, `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
"discord": {
"command": "uv",
"args": [
"--directory",
"C:\\PATH\\TO\\mcp-discord",
"run",
"mcp-discord"
],
"env": {
"DISCORD_TOKEN": "your_bot_token"
}
}
```
### Installing via Smithery
To install Discord Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@hanweg/mcp-discord):
```bash
npx -y @smithery/cli install @hanweg/mcp-discord --client claude
```
## License
MIT License - see LICENSE file for details.
TDQS
Scored across 15 tools
Each tool has a clearly distinct purpose with no ambiguity. For example, add_reaction and remove_reaction are complementary opposites, while moderate_message handles message deletion and user timeouts separately from delete_channel. The tools cover different Discord resources (channels, messages, reactions, roles, servers, users) with specific actions.
All tools follow a consistent verb_noun naming pattern throughout. Examples include get_channels, send_message, create_text_channel, and remove_role. There are no deviations in style or convention, making the tool set predictable and easy to understand.
With 15 tools, this server is well-scoped for Discord management. Each tool earns its place by covering essential operations like channel management, message handling, role assignment, and server/user information retrieval. The count is appropriate for the domain without being overwhelming.
The tool set provides comprehensive coverage for core Discord bot operations, including CRUD for channels, messages, reactions, and roles, along with read operations for servers and users. Minor gaps exist, such as no tool for editing messages or updating channel details, but agents can work around these with the available tools.