Skip to main content
Glama
jar285

MCP-Discord

by jar285

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

  • 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

Related MCP server: MCP-Discord

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
DEFAULT_SERVER_ID=your_default_server_id  # Optional
DEFAULT_CHANNEL_ID=your_default_channel_id  # Optional
  1. Using the --config parameter when launching:

node path/to/mcp-discord/build/index.js --config "{\"DISCORD_TOKEN\":\"your_discord_bot_token\"}"

Enhanced Startup Script

The project includes an enhanced startup script (start-discord.js) that provides better debugging and error handling:

  • Loads environment variables from the .env file

  • Sets default server and channel IDs if not provided

  • Redirects console.log to stderr to avoid JSON parsing issues in Claude Desktop

  • Tests the Discord connection directly before starting the MCP server

  • Provides detailed error information if anything goes wrong

To use this script:

node start-discord.js

Usage with Claude/Cursor

  • Claude

    {
        "mcpServers": {
            "discord": {
                "command": "node",
                "args": [
                    "path/to/mcp-discord/start-discord.js"
                ],
                "env": {
                    "DISCORD_TOKEN": "your_discord_bot_token",
                    "DEFAULT_SERVER_ID": "your_default_server_id",
                    "DEFAULT_CHANNEL_ID": "your_default_channel_id"
                }
            }
        }
    }
  • Cursor

    {
        "mcpServers": {
            "discord": {
                "command": "cmd",
                "args": [
                    "/c",
                    "node",
                    "path/to/mcp-discord/start-discord.js"
                ],
                "env": {
                    "DISCORD_TOKEN": "your_discord_bot_token",
                    "DEFAULT_SERVER_ID": "your_default_server_id",
                    "DEFAULT_CHANNEL_ID": "your_default_channel_id"
                }
             }
         }
    }

Tools Documentation

Basic Functions

  • discord_login: Login to Discord

  • discord_list_guilds: List all available Discord servers (guilds) with their channels

  • 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

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jar285/mcp-discord'

If you have feedback or need assistance with the MCP directory API, please join our Discord server