mcp-discord
The mcp-discord server allows you to programmatically manage Discord servers and their components through various capabilities:
Server & User Management: Fetch server details, list members, and get information about specific users
Message Operations: Send, read, and moderate messages, add/remove reactions, and timeout users
Channel Control: Create and delete text channels
Role Administration: Add and remove roles from users
Webhook Features: Create, list, modify, delete webhooks, and send messages through them
These tools enable comprehensive programmatic control over Discord server interactions and functionalities.
Provides Discord integration capabilities including server management, message management, channel management, role management, and webhook management.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-discord send a message to #general saying our meeting starts in 10 minutes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 serversget_server_info: Get detailed server informationget_channels: List channels in a serverlist_members: List server members and their rolesget_user_info: Get detailed information about a user
Message Management
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
Channel Management
create_text_channel: Create a new text channeldelete_channel: Delete an existing channel
Role Management
add_role: Add a role to a userremove_role: Remove a role from a user
Related MCP server: Discord MCP Server
Installation
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 # 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 .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"
}
}Installing via Smithery
To install Discord Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @hanweg/mcp-discord --client claudeLicense
MIT License - see LICENSE file for details.
Available Tools
15 toolsadd_multiple_reactionsC
Add multiple reactions to a message
Inputs: channel_id (required), emojis (required), message_id (required).
add_reactionC
Add a reaction to a message
Inputs: channel_id (required), emoji (required), message_id (required).
add_roleC
Add a role to a user
Inputs: role_id (required), server_id (required), user_id (required).
create_text_channelC
Create a new text channel
Inputs: name (required), server_id (required), category_id, topic.
delete_channelC
Delete a channel
Inputs: channel_id (required), reason.
get_channelsC
Get a list of all channels in a Discord server
Inputs: server_id (required).
get_server_infoC
Get information about a Discord server
Inputs: server_id (required).
get_user_infoC
Get information about a Discord user
Inputs: user_id (required).
list_membersC
Get a list of members in a server
Inputs: server_id (required), limit.
list_serversA
Get a list of all Discord servers the bot has access to with their details such as name, id, member count, and creation date.
Inputs: no named parameters.
moderate_messageB
Delete a message and optionally timeout the user
Inputs: channel_id (required), message_id (required), reason (required), timeout_minutes.
read_messagesC
Read recent messages from a channel
Inputs: channel_id (required), limit.
remove_reactionC
Remove a reaction from a message
Inputs: channel_id (required), emoji (required), message_id (required).
remove_roleC
Remove a role from a user
Inputs: role_id (required), server_id (required), user_id (required).
send_messageC
Send a message to a specific channel
Inputs: channel_id (required), content (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.
Maintenance
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
BeautySpark MCP server for ChatGPT, Claude and other MCP clients
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol (MCP) server for the Discord integration with MCP-compatible applications like Claude Desktop.605MIT
- AlicenseAqualityDmaintenanceAn MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.19177 npmMIT
- AlicenseAqualityCmaintenanceAn MCP server that provides native Discord tools for Claude Code, enabling bidirectional communication with remote agents or humans via the Discord REST API. It allows users to send messages, read channel history, and manage reactions directly from their local environment.646 npm3MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables Claude Desktop to interact with Discord through a dedicated bot. It allows users to list channels, read message history, and send messages directly from the AI interface.2-