MCP.so
Sign In

Discord MCP Server

@SaseQ

Basic information

Category

Communication

License

MIT

Transports

stdio

Author

SaseQ

Submitted by

SaseQ

About Discord MCP Server

A MCP server for the Discord integration. Enable your AI assistants to seamlessly interact with Discord. Enhance your Discord experience with powerful automation capabilities.

Discord MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "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"
      }
    }
  }
}

Discord MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Discord MCP Server?

Discord MCP is an open-source Model Context Protocol server by SaseQ that connects a Discord bot to AI assistants such as Claude, Cursor and Codex, letting them send and read messages, manage channels, roles and members, and run moderation through the Discord API.

It is a community project, not an official Discord product. It is written in Java with JDA (Java Discord API) and runs as a long-lived HTTP server, usually in Docker, at http://localhost:8085/mcp. A legacy stdio mode that starts one container per client session is also supported.

How to use Discord MCP Server?

Prerequisites: a Discord bot token and Docker (or Java with Maven to build the JAR yourself). Create the bot and copy its token by following the discord.js app setup guide linked from the README, then invite the bot to your server.

1. Set environment variables.

export DISCORD_TOKEN="YOUR_DISCORD_BOT_TOKEN"
export DISCORD_GUILD_ID="OPTIONAL_DEFAULT_SERVER_ID"
export SPRING_PROFILES_ACTIVE=http

DISCORD_GUILD_ID is optional. When set, any tool that accepts a guildId can omit it.

2. Run the Docker container.

docker run -d -i \
  --name discord-mcp \
  --restart unless-stopped \
  -p 8085:8085 \
  -e SPRING_PROFILES_ACTIVE \
  -e DISCORD_TOKEN \
  -e DISCORD_GUILD_ID \
  saseq/discord-mcp:latest

The MCP endpoint is http://localhost:8085/mcp. Docker Compose and a manual mvn clean package build are also documented.

Claude Code

claude mcp add discord-mcp --transport http http://localhost:8085/mcp

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "discord-mcp": {
      "url": "http://localhost:8085/mcp"
    }
  }
}

Claude Desktop

Use the stdio config in claude_desktop_config.json:

{
  "mcpServers": {
    "discord-mcp": {
      "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 Desktop remote connectors (Settings > Connectors) need a public HTTPS URL, so localhost won't work there without a tunnel or reverse proxy.

Codex

codex mcp add discord-mcp --url http://localhost:8085/mcp

The README also covers OpenClaw and n8n's MCP Client node.

Key features of Discord MCP Server

  • Bot-based access through the official Discord API using JDA
  • One shared HTTP server for all clients, or legacy per-session stdio mode
  • Messaging in channels and DMs, with history reads of 1–100 messages and before/after/around cursors
  • Server administration: channels, categories, roles, permission overwrites, invites, emojis and scheduled events
  • Moderation: kick, ban, unban, timeout and nickname changes
  • Forum, voice and stage channel management
  • Optional default guild via DISCORD_GUILD_ID; health endpoint at /actuator/health
  • MIT-licensed, published as the saseq/discord-mcp Docker image

Discord MCP Server tools

The server exposes a large set of tools, grouped by area:

  • Messages: send_message, read_messages, edit_message, delete_message, add_reaction and remove_reaction; private messages via send_private_message and read_private_messages.
  • Channels and categories: list_channels, find_channel, create_text_channel, edit_text_channel, move_channel, delete_channel and create_category.
  • Roles and permissions: list_roles, create_role, assign_role, remove_role and upsert_role_channel_permissions.
  • Moderation: kick_member, ban_member, unban_member, timeout_member and get_bans.
  • Community features: webhooks (send_webhook_message), invites (create_invite), forums (create_forum_post), scheduled events (create_guild_scheduled_event), emojis and voice channels.
  • Lookup: get_server_info and get_user_id_by_name (useful for <@id> mentions).

Use cases of Discord MCP Server

  • Announcements: "Post the release notes for v2.3 in #announcements."
  • Catching up: "Read the last 100 messages in #support and list unanswered questions."
  • Community setup: "Create an Events category with text and voice channels and a Moderator role that can manage them."
  • Moderation: "Time out the user spamming in #general for 10 minutes and delete their last three messages."
  • Events: "Schedule a stage event for Friday at 6 pm and list who is interested."
  • Automation: connect the server to an n8n workflow through n8n's MCP Client node.

Discord MCP Server vs alternatives

Other Discord MCP servers take different approaches: some only post through a single webhook URL, and some log in as a user account instead of a bot, which can conflict with Discord's terms. This server uses a bot token with the official API, which keeps permissions explicit and covers far more of the API. If your team works in Slack rather than Discord, see the Slack MCP Server.

Troubleshooting Discord MCP Server

  • Client can't connect: confirm the container is running with docker ps --filter name=discord-mcp and check curl -fsS http://localhost:8085/actuator/health.
  • n8n in Docker can't reach the server: localhost points to the n8n container. Use the Docker service name, for example http://discord-mcp:8085/mcp.
  • Claude Desktop remote connector fails: http://localhost:8085/mcp is only reachable from your machine. Use the stdio config, or expose the endpoint over public HTTPS.
  • Tools ask for a guildId every time: set DISCORD_GUILD_ID to make it the default.
  • Config from an older guide launches the JAR directly: the current README runs the JAR as a long-running server with SPRING_PROFILES_ACTIVE=http and connects clients to http://localhost:8085/mcp; Docker is the recommended install.

Frequently asked questions

1

Is this an official Discord MCP server?

No. Discord MCP is a community project by SaseQ, built on JDA and released under the MIT license.

2

Is the Discord MCP server free?

Yes. It is open source and self-hosted, and Discord bot tokens are free to create.

3

What do I need to authenticate?

A Discord bot token set as `DISCORD_TOKEN`. The server acts as that bot, so it can only see and change what the bot's roles and permissions allow in the servers it has joined.

4

Does Discord MCP work with Claude Code, Cursor and VS Code?

The README documents Claude Code, Cursor, Claude Desktop, Codex, OpenClaw and n8n. Any client that supports HTTP MCP servers, including VS Code, can use `http://localhost:8085/mcp`.

5

Is it a remote or local server?

It runs locally (or on your own host) in Docker. You can expose it as a remote server behind HTTPS, but the README doesn't describe any authentication for the MCP endpoint, so protect it yourself.

6

Is it safe to give an AI moderation tools?

The tools can ban members, delete channels and roles, so grant the bot only the permissions you need and keep tool-call approval on in your client.

7

Can it read direct messages?

It can send, edit, delete and read private message history with a specific user through the bot, using `read_private_messages`.

Comments

More Communication MCP servers