MCP-Discord: a server for messages, forums and roles

MCP-Discord

A Discord MCP for Claude and Cursor: the agent posts and searches messages and manages forums, channels, roles and webhooks through a bot token

  • 108 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • The agent posts and deletes messages, creates and deletes channels and roles and assigns permissions as the bot
  • The bot token opens control of the server, and the recommended Administrator permission extends access to the maximum
All reasons and checks
Needs a VPN

barryyip0625/mcp-discord

Install

Manual install

npx mcp-discord --config ${DISCORD_TOKEN}

Runs the package directly. The bot token comes from the DISCORD_TOKEN variable.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent posts and deletes messages, creates and deletes channels and roles and assigns permissions as the bot
  • The bot token opens control of the server, and the recommended Administrator permission extends access to the maximum

This is third-party code. Review the repository files before installing.

What it does

MCP-Discord lets an agent work with Discord through your bot. The server is written in TypeScript and starts with `npx mcp-discord --config TOKEN`. The agent logs in as the bot, sees the list of servers it belongs to and gets server, member and role information. Messages cover a lot: send, search across a server, read a channel with the `before`, `after` and `around` parameters (they take IDs or ISO 8601 dates), edit the bot's own messages, delete, pin and unpin, and add or remove reactions. For forums there is creating, updating and deleting posts, replies, listing threads and managing tags. Separate tools create, edit and delete text, voice and forum channels and categories, and set permission overrides. Roles can be created with color and permissions, edited, deleted, assigned to members and removed. Webhooks can be created, edited, deleted and used to send messages. There are two transports: stdio by default and Streamable HTTP with a configurable port. A ready Docker image exists for HTTP.

Who it is for. For Discord community moderators and developers who want a compact server with forums, roles and webhooks that starts with one command.

Good fit when

  • You need to find messages on a server by a word and reply in the right channel as the bot
  • You need to run a forum: create posts, reply, change tags and pin important threads
  • You need to create a role with color and permissions and assign it to a group of members
  • You want to set channel permissions for a role and remove extra overrides
  • You want to run the server in Docker over HTTP and connect to it from a client at the /mcp address

Not a fit when

  • You need to build a whole server from a plan with preview and result verification: Discord MCP by cappyeo fits that
  • You have no bot of your own with the privileged intents enabled: the server requires Message Content, Server Members and Presence
  • You need a preview mode where writes are blocked: the description has no such mode
  • You do not have Node.js 18 or newer

Example request

Find messages about the release from the last week on the server and create a post in the announcements forum with a short summary

MCP

Transport
stdio, http
Authentication
API key

Environment variables

DISCORD_TOKEN required, secret
Your Discord bot token from the Developer Portal.

Limitations

It needs Node.js 18 or newer and your own Discord bot with the Message Content, Server Members and Presence intents enabled. The bot must be added to the server or its data is not accessible. The simplest permission setup the author recommends is Administrator, while the minimum set covers managing messages, threads, channels, webhooks and roles. Discord is blocked in Russia.

The token is passed with the `--config` argument or the `DISCORD_TOKEN` variable, and both leave the secret in the client config or the environment. The description has no read-only mode. Only messages written by the bot itself can be edited through the tool. The license is MIT.

How to disable. Delete the discord block from the client config and restart it. Revoke the bot token in the Discord Developer Portal or remove the bot from the server. Stop the Docker container with docker stop.

FAQ

How do I connect Discord MCP to Claude and Cursor?

Build the repository and add a discord block to the config: the node command, an argument with the path to build/index.js, and the bot token DISCORD_TOKEN in env. The block is the same for Claude Desktop, Claude Code and Cursor. Or run the package with npx mcp-discord --config and the token.

What permissions does the bot need for mcp-discord?

For a quick start the author recommends Administrator. The minimum set is sending messages, creating public threads, messages in threads, managing messages, threads, channels, webhooks and roles, reactions and viewing the channel. The Message Content, Server Members and Presence intents are also required.

Can mcp-discord run over HTTP?

Yes. Run node build/app.js --transport http --port 3000 with the token and the endpoint will be http://localhost:3000/mcp. The barryy625/mcp-discord Docker image uses HTTP by default on port 8080.

What can mcp-discord do with Discord forums?

List forum channels, create posts (including pinned ones), read them, reply, update the title, tags and archive, lock and pin states, delete posts, list threads and replace the tag set.

How does mcp-discord differ from the cappyeo Discord MCP?

mcp-discord is simpler and starts with one npx command, but has no preview mode, server blueprints or background workflows. The cappyeo server has over two hundred tools, and its setup wizard blocks writes until you allow them.

Discussion

No questions or reviews yet.

Needs a VPN

A Discord MCP with over 200 typed tools: the agent handles messages, roles and moderation, builds a server from a plan, and writes default to preview mode

MCP serverBroad access185Repository stars
Needs a VPN

MCP server for Discord: an agent manages channels, roles, messages and moderation through your server bot token

MCP serverBroad access570Repository stars

An MCP server in a single Go binary: more than 75 local tools for files, shell, browser, calendar and scheduled tasks

MCP serverBroad access409Repository stars

An MCP server for Minecraft: an agent controls a bot character via Mineflayer to build and explore

MCP serverExtended access799Repository stars
Russian stack

MCP server for MAX messenger Bot API: messages, media, chats, participants and buttons from an agent

MCP serverExtended access11Repository stars

An MCP channel that passes WeChat messages into a Claude Code session and sends the agent's replies back to the same chat

MCP serverBroad access312Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
MCP-Discord: a server for messages, forums and roles (this entry)noAPI key108
Discord MCPnoAPI key570the SaseQ server for channels, roles, messages and moderation through a bot token, while mcp-discord stresses forums, webhooks and HTTP launch
Discord MCP by cappyeo: a server with 200+ toolsnoAPI key185the cappyeo server with over two hundred tools, server blueprints and a preview mode, while this one is more compact and installs with one npx command

README in short

The description opens with a feature list: bot login, servers, members, roles, messages, forums, channels, permissions, reactions, webhooks. It then lists bot requirements, including two permission sets and invite links for Administrator and for minimum permissions. Installation is covered through NPM, Smithery, Docker and manually. Tool sections are grouped by topic: basic functions, channels, forums, messages, webhooks, roles and members.

README badge

Report a problem

Foxx AIMCP-Discord: a server for messages, forums and roles
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.