Discord MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "DISCORD_TOKEN=${DISCORD_TOKEN}" discord-mcp -- npx -y @pasympa/discord-mcp
Required:DISCORD_TOKEN
README.md

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

Discord MCP Server

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

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.


Why this one?

  • 60+ tools — messages, channels, roles, permissions, moderation, forums, webhooks, embeds, and more
  • Multi-guild — works across multiple servers, no GUILD_ID lock-in
  • Lightweight — TypeScript + Node.js, ~25kB 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

Quick Start

Add this to your MCP client config and replace YOUR_TOKEN_HERE with your bot token:

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

No install needed — npx handles everything.

Don't have a bot yet? See Creating Your Discord Bot.


Configuration

Claude Desktop

Add the config above to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Restart Claude Desktop after saving.

Claude Code
claude mcp add discord -e DISCORD_TOKEN=YOUR_TOKEN_HERE -- npx -y @pasympa/discord-mcp
Cursor

Add the config above to ~/.cursor/mcp.json. See Cursor MCP docs for details.

VS Code / GitHub Copilot

Add to your .vscode/mcp.json:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "discord-token",
      "description": "Discord Bot Token",
      "password": true
    }
  ],
  "servers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "${input:discord-token}"
      }
    }
  }
}

See VS Code MCP docs for details.

Docker
{
  "mcpServers": {
    "discord": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "DISCORD_TOKEN=YOUR_TOKEN_HERE",
        "pasympa/discord-mcp:latest"
      ]
    }
  }
}
From source
git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp
npm install && npm run build
{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/absolute/path/to/discord-mcp/dist/index.js"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}
.env file (alternative)

Instead of passing the token in the MCP config, create a .env file at the project root:

DISCORD_TOKEN=YOUR_TOKEN_HERE

The server loads .env automatically via dotenv.


Creating Your Discord Bot

  1. Go to discord.com/developers/applications
  2. New Application > give it a name
  3. Bot tab > Reset Token > copy the token
  4. Enable Privileged Gateway Intents:
    • Server Members Intent
    • Message Content Intent
  5. OAuth2 > URL Generator:
    • Scopes: bot
    • Permissions: Send Messages, Read Message History, Manage Channels, Manage Roles, Kick Members, Ban Members, Moderate Members, View Audit Log, Manage Messages, Manage Threads, Add Reactions, Manage Guild, Manage Webhooks
  6. Copy the generated URL and invite the bot to your server

Available Tools (60)

Discovery & Navigation

Tool Description
discord_list_guilds List all servers the bot is connected to
discord_get_guild_info Get detailed guild info (name, members, channels, roles, boosts)

Tools (2)

discord_list_guildsList all servers the bot is connected to
discord_get_guild_infoGet detailed guild info (name, members, channels, roles, boosts)

Environment Variables

DISCORD_TOKENrequiredThe bot token from the Discord Developer Portal

Configuration

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

Try it

List all the Discord servers my bot is currently connected to.
Get detailed information about my main server, including member count and roles.
Show me the channel list for the server with ID 123456789.

Frequently Asked Questions

What are the key features of Discord MCP?

60+ tools for managing messages, channels, roles, and permissions. Multi-guild support allowing management across multiple servers. Lightweight architecture built with TypeScript and Node.js. Modular design for easy extension with new tools. Compatible with Claude Desktop, Claude Code, Cursor, and VS Code.

What can I use Discord MCP for?

Automating server moderation tasks directly from your AI chat interface. Managing roles and permissions across multiple Discord communities. Retrieving server analytics and member data for administrative reporting. Streamlining Discord bot management without leaving your IDE.

How do I install Discord MCP?

Install Discord MCP by running: npx -y @pasympa/discord-mcp

What MCP clients work with Discord MCP?

Discord MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Discord MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare