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. ๐ง Manual Installation M
Add this skill
npx mdskills install SaseQ/discord-mcp 


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.
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=",
"-e", "DISCORD_GUILD_ID=",
"saseq/discord-mcp:latest"
]
}
}
}
๐ง Manual Installation
git clone https://github.com/SaseQ/discord-mcp
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
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-0.0.1-SNAPSHOT.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=" \
--args "-e" --args "DISCORD_GUILD_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=",
"-e", "DISCORD_GUILD_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=",
"-e", "DISCORD_GUILD_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= -e DISCORD_GUILD_ID= saseq/discord-mcp:latest
get_server_info: Get detailed discord server informationget_user_id_by_name: Get a Discord user's ID by username in a guild for ping usage ``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 usersend_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 channeladd_reaction: Add a reaction (emoji) to a specific messageremove_reaction: Remove a specified reaction (emoji) from a messagecreate_text_channel: Create text a channeldelete_channel: Delete a channelfind_channel: Find a channel type and ID using name and server IDlist_channels: List of all channelscreate_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 categorycreate_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 webhooklist_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 userIf
DISCORD_GUILD_IDis set, theguildIdparameter becomes optional for all tools above.
A more detailed examples can be found in the Wiki.
Install via CLI
npx mdskills install SaseQ/discord-mcpDiscord MCP is a free, open-source AI agent skill. 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. ๐ง Manual Installation M
Install Discord MCP with a single command:
npx mdskills install SaseQ/discord-mcpThis downloads the skill files into your project and your AI agent picks them up automatically.
Discord MCP works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.