MCP-Discord
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
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 claudeManual Installation
# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Compile TypeScript
npm run buildConfiguration
A Discord bot token is required for proper operation. You can provide it in two ways:
Environment variables:
DISCORD_TOKEN=your_discord_bot_token
DEFAULT_SERVER_ID=your_default_server_id # Optional
DEFAULT_CHANNEL_ID=your_default_channel_id # OptionalUsing the
--configparameter 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.jsUsage 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 Discorddiscord_list_guilds: List all available Discord servers (guilds) with their channelsdiscord_send: Send a message to a specified channeldiscord_get_server_info: Get Discord server information
Channel Management
discord_create_text_channel: Create a text channeldiscord_delete_channel: Delete a channel
Forum Functions
discord_get_forum_channels: Get a list of forum channelsdiscord_create_forum_post: Create a forum postdiscord_get_forum_post: Get a forum postdiscord_reply_to_forum: Reply to a forum postdiscord_delete_forum_post: Delete a forum post
Messages and Reactions
discord_read_messages: Read channel messagesdiscord_add_reaction: Add a reaction to a messagediscord_add_multiple_reactions: Add multiple reactions to a messagediscord_remove_reaction: Remove a reaction from a messagediscord_delete_message: Delete a specific message from a channel
Webhook Management
discord_create_webhook: Creates a new webhook for a Discord channeldiscord_send_webhook_message: Sends a message to a Discord channel using a webhookdiscord_edit_webhook: Edits an existing webhook for a Discord channeldiscord_delete_webhook: Deletes an existing webhook for a Discord channel
Development
# Development mode
npm run devLicense
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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