PlugWiki
discord-mcp logo

discord-mcp by SaseQ: a community Discord bot server for AI assistants

CommunityLocal
GetDockersaseq/discord-mcpsaseq/discord-mcp

Lets your AI assistant post, read and moderate on your Discord server through a bot you control.

This community server runs as a Discord bot you create, so Claude, Codex or Cursor can read and send messages, set up channels and roles, and moderate members on servers the bot has joined. Discord has no official server, and this is the most-starred bot-based option. You run it yourself in Docker on your own computer with your bot's token. Its web address has no login, so keep it on your own machine and give the bot only the Discord permissions it needs.

Good for

  • Community managers who want an assistant to set up channels, roles and events
  • Moderators who want help with timeouts, kicks, bans and invite cleanup
  • Developers who want Claude Code or Codex to post updates and read a channel
  • n8n users wiring Discord into automated workflows

Works in

5 supported · 8 should work

Tap an app to see how to set it up and any known problems.

Install discord MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the discord MCP server to Claude Code. Run this command:
    
    export DISCORD_TOKEN="YOUR_DISCORD_BOT_TOKEN"
    export DISCORD_GUILD_ID="OPTIONAL_DEFAULT_SERVER_ID"
    export SPRING_PROFILES_ACTIVE=http
    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
    
    claude mcp add discord-mcp --transport http http://localhost:8085/mcp
    
    Ask me for DISCORD_TOKEN and only put the values in that config, nowhere else.
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Docker, A Discord bot token.

Create a bot in the Discord Developer Portal, copy its token and invite it to your server first. Run the container once, then point every assistant at it; it keeps running in the background. Keep port 8085 on your own machine: the address has no login, so anyone who can reach it can use your bot.

From the project README. Source.

Tools

  • Reads recent messages in a channel, with who wrote them

    Reads up to 100 messages of a channel's history at a time, including authors, replies and attachment details, and can page further back.

    Try: “Read the last 50 messages in #general and summarise them”

    Read · read_messages

  • Finds messages in a channel or thread that contain some text

    Scans up to the 1,000 most recent messages of a channel or thread for matching text, newest first.

    Try: “Find messages in #support that mention 'refund'”

    Read · search_messages

  • Shows one message, and the message it replies to

    Fetches a single message by its ID in the same format as the history, including the message it replied to.

    Try: “Show me the message this link points to and what it was replying to”

    Read · get_message

  • Finds the replies to a message

    Scans the messages posted after a message, up to 1,000, to find the ones that reply to it.

    Try: “Who replied to the announcement I posted this morning?”

    Read · get_message_replies

  • Posts a message in a channel

    Sends a message to a channel as the bot.

    Try: “Post 'Server maintenance starts at 9pm UTC' in #announcements”

    Write · send_message

  • Edits a message the bot posted

    Changes the text of a message in a channel.

    Try: “Fix the typo in the bot's last message in #announcements”

    Write · edit_message

  • Deletes a message in a channel

    Removes a message from a channel.

    Try: “Delete the spam message that was just posted in #general”

    Delete · delete_message

  • Adds an emoji reaction to a message

    Reacts to a message with an emoji.

    Try: “React with a thumbs up to the latest message in #ideas”

    Write · add_reaction

  • Removes an emoji reaction from a message

    Takes a given emoji reaction off a message.

    Try: “Remove the bot's thumbs up from that message”

    Delete · remove_reaction

  • Reads the bot's private messages with someone

    Reads the history of private messages between the bot and a user, up to 100 at a time.

    Try: “What has Alex sent the bot in private messages this week?”

    Read · read_private_messages

  • Sends someone a private message from the bot

    Sends a direct message from the bot to a user.

    Try: “Send Sam a private message reminding them about tonight's event”

    Write · send_private_message

  • Edits a private message the bot sent

    Changes a direct message the bot sent to a user.

    Try: “Change the time in the reminder the bot sent Sam to 8pm”

    Write · edit_private_message

Read from the source code

Pros and cons

Good

  • Most-starred Discord server that works through a bot.
  • Covers messages, channels, roles, moderation, events, forums, invites and emojis.
  • One shared container serves every assistant on your machine.
  • Optional default server ID saves repeating it in prompts.
  • Setup written up for Claude Code, Codex, Cursor, Claude Desktop and n8n.
  • Free and open source under MIT.

Watch out

  • No login on its web endpoint; keep it local.
  • No read-only mode; the bot can delete and ban.
  • Needs Docker, or Java and Maven to build it yourself.
  • You must create a Discord bot and invite it to each server first.
  • Claude Desktop's Connectors screen needs a public HTTPS address in front of it.

Permissions

high risk · 4 things to watch

High risk

Anyone who can reach the server's port can make your bot delete channels, ban members or post as it, because the endpoint has no login. Keep the container on your own machine and give the bot only the Discord permissions you actually need.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • Anyone who reaches the port can use your bot

    The HTTP endpoint has no login. Keep it on localhost and never publish port 8085 to the internet or a shared network. github.com

  • It can ban, kick and delete, not just read

    Tools include deleting channels, roles, messages and emojis and banning members. Grant the bot only the permissions it needs in Discord. github.com

  • Extra admin pages could leak your bot token

    Expose only the health check. Other admin endpoints, such as env, would reveal the token. github.com

  • The token only goes to Discord

    A security review found it is never logged or sent elsewhere, and the server has no telemetry. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Talks toDiscord API
Sign-in and keysBot token passed as the DISCORD_TOKEN environment variable to the container.

Alternatives

Use SaseQ's server for the most-starred bot you run in Docker. Pick cappyeo's for the widest tool set or PaSympa's for an npm install; Kite builds bots rather than running them.

ServerOfficialRunsSign-inGitHub stars
For Discord
discord-mcp (SaseQ)This pageCommunityLocalBot token579
Discord MCP (cappyeo)CommunityLocalBot token189
discord-mcp (PaSympa)CommunityLocalBot token29
KiteCommunityHosted–334
discord.py-self-mcpCommunityLocalUser account73
Other tools for the same job
mcp-discordCommunityLocalBot token108

What people say

People say it works well once running, and find the bot setup and the open network endpoint the hard parts.

What people like

  • A user said it works perfectly apart from extra containers in the old setup, which the HTTP mode fixed.
  • An independent security review found the bot token handled cleanly, with no telemetry.
  • The maintainer fixed a security bug that the review found.

Common complaints

  • Non-developers find the bot and token setup confusing.
  • The web endpoint has no login, so anyone who can reach it can use the bot.
  • One user's assistant could not connect over the HTTP mode.

In their words

Questions

Is there an official Discord MCP server?

No. Discord has not released one, so every Discord server is a community project. SaseQ's is the most-starred one that works through a bot.

Which Discord token do I need?

The bot token of a Discord application you create in the Discord Developer Portal. It is not the client ID or the client secret. Invite that bot to your server before you start.

Is it safe?

The token handling passed an independent review, but the server's web address has no login and the bot can ban members and delete channels. Keep it on your own machine and limit the bot's permissions.

Can it delete messages or ban people?

Yes. It can delete messages, channels, roles and emojis, and kick, time out or ban members, if the bot has those permissions in Discord. There is no read-only switch.

Can it read my personal DMs?

No. It works as a bot, so it only sees servers the bot has joined and private messages people send to the bot.

Why does it keep starting new Docker containers?

The older config starts one container per session. Run one container in the recommended HTTP mode and point every assistant at it instead.

Do I have to give it a server ID?

No. The server ID setting is optional. Set it if you mostly work in one Discord server, so you do not have to name it in every request.

Can I add it from Claude Desktop's Connectors screen?

Only if you put it behind a public HTTPS address. For a local setup, use the config file method in the install box.

Can it act as my own Discord account?

No, it only runs as a bot. Selfbot servers like discord.py-self-mcp run as your account, and their own docs warn this breaks Discord's terms and risks your account.

Examples

  • Catch up on a busy channel

    Read the last 100 messages in #general and summarise what people decided

  • Set up a new community from scratch

    Create an Events category with #announcements and #schedule, and a Moderator role that can manage messages

  • Moderate a member

    Time out the user spambot123 for 24 hours and tell me who else posted the same link

  • Run a server event

    Schedule a voice event for Friday at 8pm called Game Night and list who is interested

Information

updated Nov 2, 2026

Publisher
Community
Package
saseq/discord-mcp
Registry
Docker
Transport
Streamable HTTP, stdio
Auth
token in env
Version
1.0.0
License
MIT
Last commit
Oct 23, 2026
Open issues
6

GitHubDocker HubChangelogIssues

Other Discord MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 12
  1. discord-mcp README · github.com
  2. Security follow-ups · github.com
  3. discord-mcp README: Available Tools · github.com
  4. Security review · github.com
  5. Open a new container for each prompt terminal · github.com
  6. Unable to set up, please add YouTube walkthrough · github.com
  7. discord.py-self-mcp README · github.com
  8. Failed to connect to MCP · github.com
  9. Discord MCP (cappyeo) README · github.com
  10. discord-mcp (PaSympa) README · github.com
  11. mcp-discord README · github.com
  12. Kite README · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.