Skip to main content
Glama
discord-mcp-server

discord-mcp-server

by ngoctranfire

What is this?

discord-mcp-server lets any MCP-compatible AI client (Claude Desktop, Cursor, Windsurf, etc.) interact with Discord — send messages, manage channels, create webhooks, assign roles, and more.

Built with Bun, FastMCP, and discord.js.

Related MCP server: @striderlabs/mcp-discord

Features

Category

Tools

🏠 Server Info

list_servers, get_server_info

📢 Channels

list_channels, find_channel, create_text_channel, create_voice_channel, delete_channel, create_category, list_categories, move_channel

💬 Messages

send_message, read_messages, edit_message, delete_message, add_reaction, remove_reaction

🔗 Webhooks

list_webhooks, create_webhook, delete_webhook, send_webhook_message, edit_webhook

🎭 Roles

list_roles, create_role, edit_role, delete_role, assign_role, remove_role

🧵 Threads

list_threads, create_thread, reply_to_thread, get_thread

31 tools covering the most common Discord operations. Forum posts are supported via create_thread.

Prerequisites

  1. Bun (v1.0.0+) — Install Bun

  2. Discord Bot Token — Create one here

Creating a Discord Bot

  1. Go to the Discord Developer Portal

  2. Click New Application → give it a name

  3. Go to Bot → click Reset Token → copy the token

  4. Under Privileged Gateway Intents, enable:

    • ✅ Message Content Intent

    • ✅ Server Members Intent

  5. Go to OAuth2 → URL Generator

    • Scopes: bot

    • Bot Permissions: Administrator (or cherry-pick permissions)

  6. Copy the generated URL and open it to invite the bot to your server

Quick Start

npx @ncodelife/discord-mcp-server --token YOUR_BOT_TOKEN

Option 2: Install globally

npm install -g @ncodelife/discord-mcp-server
discord-mcp-server --token YOUR_BOT_TOKEN

Option 3: Docker

docker build -t discord-mcp-server .
docker run -e DISCORD_TOKEN=YOUR_BOT_TOKEN discord-mcp-server

MCP Client Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["@ncodelife/discord-mcp-server", "--token", "YOUR_BOT_TOKEN"]
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

{
  "discord": {
    "command": "npx",
    "args": ["@ncodelife/discord-mcp-server", "--token", "YOUR_BOT_TOKEN"]
  }
}

Smithery

Smithery Badge

Install via Smithery for automatic configuration.

Configuration

Option

CLI Flag

Env Variable

Default

Bot Token

--token

DISCORD_TOKEN

required

Default Guild ID

--guild-id

DISCORD_GUILD_ID

—

Transport

--transport

MCP_TRANSPORT

stdio

HTTP Port

--port

MCP_PORT

8080

Using a .env file

DISCORD_TOKEN=your-bot-token-here
DISCORD_GUILD_ID=your-server-id

Transport Modes

stdio (default)

Standard I/O transport — used by Claude Desktop, Cursor, and most MCP clients.

discord-mcp-server --token YOUR_TOKEN

HTTP Stream

For web-based integrations and remote access:

discord-mcp-server --token YOUR_TOKEN --transport http --port 8080

Note on build targets: The npm package is built with --target node so npx works everywhere. The Docker image uses --target bun for native Bun performance. Both are fully functional.

Development

# Clone the repo
git clone https://github.com/ngoctranfire/discord-mcp-server.git
cd discord-mcp-server

# Install dependencies
bun install

# Run in development
bun run dev

# Type-check
bun run typecheck

# Lint
bun run lint

# Test with MCP Inspector
bun run inspect

Architecture

src/
├── index.ts          # Entry point — FastMCP server setup
├── config.ts         # CLI args + env var merging
├── discord.ts        # Discord.js client factory
├── utils.ts          # Shared utilities (error handling, formatting)
└── tools/
    ├── server-info.ts  # Server listing & details
    ├── channels.ts     # Channel CRUD operations
    ├── messages.ts     # Message send/read/edit/delete + reactions
    ├── webhooks.ts     # Webhook management
    ├── roles.ts        # Role CRUD + assignment
    └── threads.ts      # Thread & forum operations

Contributing

See CONTRIBUTING.md for guidelines on setup, development, and submitting pull requests.

License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables MCP clients to interact with Discord servers, allowing operations such as sending messages and reading message history through the Discord API.
      23
      141 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables AI agents to communicate with humans through Discord. Agents can send messages, create threads, wait for replies, and manage conversations across any MCP client.
      6 npm
      ISC
    • A
      license
      B
      quality
      C
      maintenance
      A local MCP server that lets AI clients control a Discord bot via Discord's REST API, offering messaging, administration, and moderation tools. Includes safety features such as guild scoping, allowlists, and opt-in write permissions.
      20
      MIT