Skip to main content
Glama

MCP-Discord

by jar285

MCP-Discord

smithery badge

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

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

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An MCP server that enables posting messages to Discord webhooks, allowing customization of content, username, and avatar URL.
    Last updated -
    0
    MIT License
  • A
    security
    A
    license
    A
    quality
    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.
    Last updated -
    22
    104
    56
    MIT License
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    An MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.
    Last updated -
    19
    39
  • -
    security
    A
    license
    -
    quality
    A Discord Model Context Protocol server that enables AI assistants to interact with Discord by sending messages, managing channels, handling forum posts, managing webhooks, and processing reactions.
    Last updated -
    3
    1
    MIT License

View all related MCP servers

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