discord-mcp

SaseQ/discord-mcp

4.4
Certified
communication

discord-mcp is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

A Model Context Protocol (MCP) server for the Discord API, enabling seamless integration of Discord Bot with MCP-compatible applications.

Try discord-mcp with chat:

Server config via mcphub

Tools
4
Resources
0
Prompts
0

📖 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-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.

⚓ Smithery Installation

Install Discord MCP Server automatically via Smithery:

npx -y @smithery/cli@latest install @SaseQ/discord-mcp --client <CLIENT_NAME> --key <YOUR_SMITHERY_KEY>
🖲 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 detailed discord server information
User Management
  • : Get a Discord user's ID by username in a guild for ping usage <@id>
  • : Send a private message to a specific user
  • : Edit a private message from a specific user
  • : Delete a private message from a specific user
  • : Read recent message history from a specific user
Message Management
  • : Send a message to a specific channel
  • : Edit a message from a specific channel
  • : Delete a message from a specific channel
  • : Read recent message history from a specific channel
  • : Add a reaction (emoji) to a specific message
  • : Remove a specified reaction (emoji) from a message
Channel Management
  • : Create text a channel
  • : Delete a channel
  • : Find a channel type and ID using name and server ID
  • : List of all channels
Category Management
  • : Create a new category for channels
  • : Delete a category
  • : Find a category ID using name and server ID
  • : List of channels in a specific category
Webhook Management
  • : Create a new webhook on a specific channel
  • : Delete a webhook
  • : List of webhooks on a specific channel
  • : Send a message via webhook

If DISCORD_GUILD_ID is set, the guildId parameter becomes optional for all tools above.


A more detailed examples can be found in the Wiki.