|
||
---|---|---|
src | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.md | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
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:
- Environment variables:
DISCORD_TOKEN=your_discord_bot_token
- 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 Discorddiscord_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 message
Development
# Development mode
npm run dev
License
MIT License