MCP-Discord

A Discord Model Context Protocol server that enables AI assistants to interact with Discord, providing functionality for sending messages, managing channels, handling forum posts, and working with reactions.

Visit Website
MCP-Discord

Introduction

MCP-Discord

smithery badge

A Discord MCP (Model Context Protocol) server that enables AI assistants to interact with the Discord platform.

<a href="https://glama.ai/mcp/servers/@barryyip0625/mcp-discord"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@barryyip0625/mcp-discord/badge" alt="MCP-Discord MCP server" /> </a>

Overview

MCP-Discord provides the following Discord-related functionalities:

  • Login to Discord bot
  • Get server information
  • Read/delete channel messages
  • Send messages to specified channels
  • Retrieve forum channel lists
  • Create/delete/reply to forum posts
  • Create/delete text channels
  • Add/remove message reactions
  • Create/edit/delete/use webhooks

Table of Contents

Prerequisites

  • Node.js (v16.0.0 or higher)
  • npm (v7.0.0 or higher)
  • A Discord bot with appropriate permissions
    • Bot token (obtainable from the Discord Developer Portal)
    • Message Content Intent enabled
    • Server Members Intent enabled
    • Presence Intent enabled
  • Permissions in your Discord server:
    • Send Messages
    • Create Public Threads
    • Send Messages in Threads
    • Manage Threads
    • Manage Channels
    • Add Reactions

Installation

Installing via Smithery

To install mcp-discord for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @barryyip0625/mcp-discord --client claude

Manual Installation

# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord

# Install dependencies
npm install

# Compile TypeScript
npm run build

Configuration

A Discord bot token is required for proper operation. You can provide it in two ways:

  1. Environment variables:
DISCORD_TOKEN=your_discord_bot_token
  1. Using the --config parameter when launching:
node path/to/mcp-discord/build/index.js --config "{\"DISCORD_TOKEN\":\"your_discord_bot_token\"}"

Usage with Claude/Cursor

  • Claude

    {
        "mcpServers": {
            "discord": {
                "command": "node",
                "args": [
                    "path/to/mcp-discord/build/index.js"
                ],
                "env": {
                    "DISCORD_TOKEN": "your_discord_bot_token"
                }
            }
        }
    }
    
  • Cursor

    {
        "mcpServers": {
            "discord": {
                "command": "cmd",
                "args": [
                    "/c",
                    "node",
                    "path/to/mcp-discord/build/index.js"
                ],
                "env": {
                    "DISCORD_TOKEN": "your_discord_bot_token"
                }
             }
         }
    }
    

Tools Documentation

Basic Functions

  • discord_login: Login to Discord
  • discord_send: Send a message to a specified channel
  • discord_get_server_info: Get Discord server information

Channel Management

  • discord_create_text_channel: Create a text channel
  • discord_delete_channel: Delete a channel

Forum Functions

  • discord_get_forum_channels: Get a list of forum channels
  • discord_create_forum_post: Create a forum post
  • discord_get_forum_post: Get a forum post
  • discord_reply_to_forum: Reply to a forum post
  • discord_delete_forum_post: Delete a forum post

Messages and Reactions

  • discord_read_messages: Read channel messages
  • discord_add_reaction: Add a reaction to a message
  • discord_add_multiple_reactions: Add multiple reactions to a message
  • discord_remove_reaction: Remove a reaction from a message
  • discord_delete_message: Delete a specific message from a channel

Webhook Management

  • discord_create_webhook: Creates a new webhook for a Discord channel
  • discord_send_webhook_message: Sends a message to a Discord channel using a webhook
  • discord_edit_webhook: Edits an existing webhook for a Discord channel
  • discord_delete_webhook: Deletes an existing webhook for a Discord channel

Development

# Development mode
npm run dev

License

MIT License