MCP-Discord

MCP-Discord

A Discord MCP server that enables AI assistants to interact with Discord platforms, providing functionalities like sending messages, managing channels, creating forum posts, and handling webhooks.

Category
Visit Server

Tools

test

A simple test tool to verify the MCP server is working correctly

discord_login

Logs in to Discord using the configured token

discord_list_guilds

Lists all Discord servers (guilds) the bot has access to

discord_send

Sends a message to a specified Discord text channel

discord_get_forum_channels

Lists all forum channels in a specified Discord server (guild)

discord_create_forum_post

Creates a new post in a Discord forum channel with optional tags

discord_get_forum_post

Retrieves details about a forum post including its messages

discord_reply_to_forum

Adds a reply to an existing forum post or thread

discord_create_text_channel

Creates a new text channel in a Discord server with an optional topic

discord_delete_channel

Deletes a Discord channel with an optional reason

discord_read_messages

Retrieves messages from a Discord text channel with a configurable limit

discord_get_server_info

Retrieves detailed information about a Discord server including channels and member count

discord_add_reaction

Adds an emoji reaction to a specific Discord message

discord_add_multiple_reactions

Adds multiple emoji reactions to a Discord message at once

discord_remove_reaction

Removes a specific emoji reaction from a Discord message

discord_delete_forum_post

Deletes a forum post or thread with an optional reason

discord_delete_message

Deletes a specific message from a Discord text channel

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

README

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
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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured