Discord MCP
An MCP server for the Discord API, enabling seamless integration of Discord bots with MCP-compatible applications.
📖 Description
A Model Context Protocol (MCP) server for the Discord API (JDA), allowing seamless integration of Discord Bot with MCP-compatible applications like Claude Desktop.
Enable your AI assistants to seamlessly interact with Discord. Manage channels, send messages, and retrieve server information effortlessly. Enhance your Discord experience with powerful automation capabilities.
🔬 Installation
► 🐳 Docker Installation (Recommended)
NOTE: Docker installation is required. Full instructions can be found on docker.com.
{
"mcpServers": {
"mcp-server": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
"-e", "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
"saseq/discord-mcp:latest"
]
}
}
}
🔧 Manual Installation
Clone the repository
git clone https://github.com/SaseQ/discord-mcp
Build the project
NOTE: Maven installation is required to use the mvn command. Full instructions can be found here.
cd discord-mcp
mvn clean package # The jar file will be available in the /target directory
Configure AI client
Many code editors and other AI clients use a configuration file to manage MCP servers.
The Discord MPC server can be configured by adding the following to your configuration file.
NOTE: You will need to create a Discord Bot token to use this server. Instructions on how to create a Discord Bot token can be found here.
{
"mcpServers": {
"discord-mcp": {
"command": "java",
"args": [
"-jar",
"/absolute/path/to/discord-mcp-1.0.0.jar"
],
"env": {
"DISCORD_TOKEN": "YOUR_DISCORD_BOT_TOKEN",
"DISCORD_GUILD_ID": "OPTIONAL_DEFAULT_SERVER_ID"
}
}
}
}
The DISCORD_GUILD_ID environment variable is optional. When provided, it sets a default Discord server ID so any tool that accepts a guildId parameter can omit it.
🦞 OpenClaw Installation
Run this command.
openclaw mcp add \
--name discord \
--transport stdio \
--command "docker" \
--args "run" \
--args "--rm" \
--args "-i" \
--args "-e" --args "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>" \
--args "-e" --args "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>" \
--args "saseq/discord-mcp:latest"
OR
Pasting the following configuration into your OpenClaw ~/.openclaw/config.json or mcp_servers.json file.
{
"mcpServers": {
"mcp-server": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
"-e", "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
"saseq/discord-mcp:latest"
]
}
}
}
🖲 Cursor Installation
Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server
Pasting the following configuration into your Cursor ~/.cursor/mcp.json file is the recommended approach. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.
{
"mcpServers": {
"mcp-server": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
"-e", "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
"saseq/discord-mcp:latest"
]
}
}
}
⌨️ Claude Code Installation
Run this command. See Claude Code MCP docs for more info.
claude mcp add mcp-server -- docker run --rm -i -e DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN> -e DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID> saseq/discord-mcp:latest
🛠️ Available Tools
Server Information
get_server_info: Get detailed discord server information
User Management
get_user_id_by_name: Get a Discord user's ID by username in a guild for ping usage<@id>send_private_message: Send a private message to a specific useredit_private_message: Edit a private message from a specific userdelete_private_message: Delete a private message from a specific userread_private_messages: Read recent message history from a specific user (includes attachment metadata)
Message Management
send_message: Send a message to a specific channeledit_message: Edit a message from a specific channeldelete_message: Delete a message from a specific channelread_messages: Read recent message history from a specific channel (includes attachment metadata)get_attachment: Get attachment metadata from a specific messageadd_reaction: Add a reaction (emoji) to a specific messageremove_reaction: Remove a specified reaction (emoji) from a message
Channel Management
create_text_channel: Create a new text channeledit_text_channel: Edit settings of a text channel (name, topic, nsfw, slowmode, category, position)delete_channel: Delete a channelfind_channel: Find a channel type and ID using name and server IDlist_channels: List of all channelsget_channel_info: Get detailed information about a channelmove_channel: Move a channel to another category and/or change its position
Category Management
create_category: Create a new category for channelsdelete_category: Delete a categoryfind_category: Find a category ID using name and server IDlist_channels_in_category: List of channels in a specific category
Webhook Management
create_webhook: Create a new webhook on a specific channeldelete_webhook: Delete a webhooklist_webhooks: List of webhooks on a specific channelsend_webhook_message: Send a message via webhook
Role Management
list_roles: Get a list of all roles on the server with their detailscreate_role: Create a new role on the serveredit_role: Modify an existing role's settingsdelete_role: Permanently delete a role from the serverassign_role: Assign a role to a userremove_role: Remove a role from a user
Moderation and User Management
kick_member: Kicks a member from the serverban_member: Bans a user from the serverunban_member: Removes a ban from a usertimeout_member: Disables communication for a member for a specified durationremove_timeout: Removes a timeout (unmute) from a member before it expiresset_nickname: Changes a member's nickname on the serverget_bans: Returns a list of banned users on the server with ban reasons
Voice & Stage Channel Management
create_voice_channel: Create a new voice channel in a guildcreate_stage_channel: Create a new stage channel for audio eventsedit_voice_channel: Edit settings of a voice or stage channel (name, bitrate, user limit, region)move_member: Move a member to another voice channeldisconnect_member: Disconnect a member from their current voice channelmodify_voice_state: Server mute or deafen a member in voice channels
Scheduled Events Management
create_guild_scheduled_event: Schedule a new event on the server (voice, stage, or external)edit_guild_scheduled_event: Modify event details or change its status (start, complete, cancel)delete_guild_scheduled_event: Permanently delete a scheduled eventlist_guild_scheduled_events: List all active and scheduled events on the serverget_guild_scheduled_event_users: Get list of users interested in a scheduled event
Channel Permission Overwrites
list_channel_permission_overwrites: List all permission overwrites for a channel with role/member breakdownupsert_role_channel_permissions: Create or update permission overwrite for a role on a channelupsert_member_channel_permissions: Create or update permission overwrite for a member on a channeldelete_channel_permission_overwrite: Delete a permission overwrite for a role or member from a channel
Invite Management
create_invite: Create a new invite link for a specific channellist_invites: List all active invites on the server with their statisticsdelete_invite: Delete (revoke) an invite so the link stops workingget_invite_details: Get details about a specific invite (works for any public invite)
Emoji Management
list_emojis: List all custom emojis on the serverget_emoji_details: Get detailed information about a specific custom emojicreate_emoji: Upload a new custom emoji to the server (base64 or image URL, max 256KB)edit_emoji: Edit an existing emoji's name or role restrictionsdelete_emoji: Permanently delete a custom emoji from the server
If
DISCORD_GUILD_IDis set, theguildIdparameter becomes optional for all tools above.
A more detailed examples can be found in the Wiki.
関連サーバー
Sendblue
Send iMessage and SMS messages using the Sendblue API.
Mailtrap
Integrates with Mailtrap Email API.
MCP Email Service
A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.
ElevenLabs MCP Enhanced
Text-to-speech generation with conversation history features using the ElevenLabs API.
Slack MCP Server
A server for integrating with Slack, enabling communication and automation within your workspace.
nworks
NAVER WORKS CLI + MCP server. 26 tools for messages, calendar, drive, mail, tasks, and boards.
Sassy Fact Check
A sassy, fact-checking Instagram DM bot that roasts bad takes with citations.
BGG MCP
BGG MCP enables AI tools to interact with the BoardGameGeek API.
any-chat-completions-mcp
Chat with any other OpenAI SDK Compatible Chat Completions API, like Perplexity, Groq, xAI and more
Zoom MCP Server
Schedule and manage Zoom meetings with AI assistance. Requires Zoom API credentials for configuration.