mcp-discord/README.md

3.5 KiB

MCP-Discord

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

Overview

MCP-Discord provides the following Discord-related functionalities:

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

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

# 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

Development

# Development mode
npm run dev

License

MIT License