Discord MCP Server

A lightweight, multi-guild Discord MCP server with 95+ tools

Local serverstdioTypeScript

What is the Discord MCP server?

Most team communication work still happens through a UI a human drives. Discord MCP server moves it into the conversation instead. A lightweight, multi-guild Discord MCP server with 95+ tools.

The short version

Manage your entire Discord server from Claude Desktop, Claude Code, Cursor, VS Code Copilot, or any MCP-compatible client. Messages, channels, roles, permissions, moderation, forums, webhooks — all through natural language.

  • 95+ tools — — messages, channels, roles, permissions, moderation, forums, webhooks, scheduled events, invites, DMs, embeds, and more
  • Multi-guild — — works across multiple servers, no GUILD_ID lock-in
  • Lightweight — — TypeScript + Node.js, ~70kB package, ~73MB Docker image (vs 400MB+ for Java alternatives)
  • Modular — — clean architecture, easy to extend with new tools
  • Two install methods — — npm or Docker, your choice

The tools it exposes

The server publishes 14 tools. What each one is for:

  • discord_list_guilds — List all servers the bot is connected to
  • discord_get_guild_info — Get detailed guild info (name, members, channels, roles, boosts)
  • discord_list_channels — List all channels in a guild grouped by category
  • discord_find_channel_by_name — Find a channel by name (partial match)
  • discord_read_messages — Read the last N messages from a text channel
  • discord_send_message — Send a plain text message
  • discord_reply_message — Reply to a specific message
  • discord_edit_message — Edit a message sent by the bot
  • discord_delete_message — Delete a specific message
  • discord_add_reaction — Add a reaction emoji to a message
  • discord_remove_reactions — Remove reactions (all, by emoji, or by user)
  • discord_get_reactions — List users who reacted with a specific emoji

Getting it running

The server ships on npm as @pasympa/discord-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

What it needs from you

Configuration is passed through the environment: DISCORD_TOKEN, GUILD_ID. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

How it compares

This sits in the team communication group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Discord's toolset — discord_list_guilds, discord_get_guild_info, discord_list_channels and 11 more — is a fair guide to whether it matches your workflow. It is maintained by leandremru; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Discord.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
discord_list_guildsList all servers the bot is connected to
discord_get_guild_infoGet detailed guild info (name, members, channels, roles, boosts)
discord_list_channelsList all channels in a guild grouped by category
discord_find_channel_by_nameFind a channel by name (partial match)
discord_read_messagesRead the last N messages from a text channel
discord_send_messageSend a plain text message
discord_reply_messageReply to a specific message
discord_edit_messageEdit a message sent by the bot
discord_delete_messageDelete a specific message
discord_add_reactionAdd a reaction emoji to a message
discord_remove_reactionsRemove reactions (all, by emoji, or by user)
discord_get_reactionsList users who reacted with a specific emoji
discord_create_threadCreate a thread from a message or standalone
discord_bulk_delete_messagesDelete multiple messages at once (2-100)

How to install the Discord MCP server

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
DISCORD_TOKENCredential the server authenticates with.Yes
GUILD_IDConfiguration value read at startup.Optional

Example prompts to try

  • Use Discord to discord list guilds.
  • Use Discord to discord get guild info.
  • Use Discord to discord list channels.

Frequently asked questions

It connects Discord to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (discord_list_guilds, discord_get_guild_info, discord_list_channels, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Discord directly.