
discord mcp server
一个为 Discord 提供全面集成能力的 Model Context Protocol (MCP) 服务器。
Repository Info
About This Server
一个为 Discord 提供全面集成能力的 Model Context Protocol (MCP) 服务器。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
Discord MCP Server
A Model Context Protocol (MCP) server that provides comprehensive Discord integration capabilities. This server enables MCP clients like Claude Desktop to interact with Discord servers through a rich set of tools for message management, server administration, and user interaction.
🚀 Features
📊 Server Management
- Get detailed server information and statistics
- List server members with roles and permissions
- Access server configuration and metadata
💬 Message Operations
- Send Messages: Post messages to any accessible channel
- Read Messages: Retrieve message history with reactions and pagination support
- Bulk Message Reading: Automatically fetch large amounts of messages with unlimited support
- Message Pagination: Navigate through message history using before/after/around parameters
- Message Moderation: Delete inappropriate content and manage users
- Reaction Management: Add, remove, and manage message reactions
🗂️ Channel Management
- Create Channels: Set up new text channels with categories and topics
- Delete Channels: Remove unwanted channels safely
- Category Operations: List and manage channels within categories
- Bulk Channel Reading: Read messages from all channels in a category
👥 User & Role Management
- Role Assignment: Add and remove roles from users
- User Information: Get detailed user profiles and statistics
- Member Management: List and manage server members
🛡️ Moderation Tools
- Message Deletion: Remove inappropriate content with audit trails
- User Timeouts: Temporarily restrict user participation
- Audit Logging: Track moderation actions with detailed reasons
📋 Prerequisites
- Node.js 18.0.0 or higher
- Discord Bot Token with appropriate permissions
- MCP-compatible client (e.g., Claude Desktop)
🔧 Installation
Install via npm (Recommended)
You can install the server directly from npm:
npm install -g @fukayatti0/discord-mcp-server
Or use it with pnpx (no global install required):
pnpx @fukayatti0/discord-mcp-server
Manual Installation
- Clone the repository:
git clone https://github.com/fukayatti/discord-mcp-server.git
cd discord-mcp-server
- Install dependencies:
npm install
# or
pnpm install
- Set up your Discord bot:
- Visit the Discord Developer Portal
- Create a new application and bot
- Copy the bot token
- Enable required privileged intents:
MESSAGE CONTENT INTENTPRESENCE INTENTSERVER MEMBERS INTENT
- Generate an invite URL and add the bot to your server
⚙️ Configuration
Claude Desktop Setup
Edit your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Using pnpx (Recommended)
If you installed via npm or want to use without global install, configure as follows:
{
"mcpServers": {
"discord": {
"command": "pnpx",
"args": ["@fukayatti0/discord-mcp-server"],
"env": {
"DISCORD_TOKEN": "your_discord_token_here"
}
}
}
}
Using local source
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/discord-mcp-server/src/server.js"],
"env": {
"DISCORD_TOKEN": "your_bot_token_here"
}
}
}
}
For global installation
{
"mcpServers": {
"discord": {
"command": "discord-mcp-server",
"env": {
"DISCORD_TOKEN": "your_bot_token_here"
}
}
}
}
🎯 Usage Examples
Basic Message Operations
"Send a welcome message to the #general channel"
"Read the last 20 messages from #announcements"
"Read all messages from #general channel (unlimited)"
"Get messages before message ID 1234567890 for pagination"
"Fetch 500 messages from #discussion using bulk reading"
"Add a 👍 reaction to message ID 1234567890"
Server Management
"Get information about this Discord server"
"List all members in the server with their roles"
"Show me all channels in the 'Gaming' category"
Channel Management
"Create a new channel called 'project-discussion' in the Development category"
"Delete the #old-channel with reason 'No longer needed'"
"Read messages from all channels in the Support category"
User & Role Management
"Add the 'Moderator' role to user ID 987654321"
"Remove the 'Member' role from user ID 123456789"
"Get detailed information about user ID 555666777"
Moderation
"Delete message ID 1111222233 for spam and timeout the user for 10 minutes"
"Moderate message ID 4444555566 with reason 'Inappropriate content'"
🛠️ Available Tools
| Tool | Description | Parameters |
|---|---|---|
get_server_info | Get server information | server (optional) |
list_members | List server members | server (optional), limit |
send_message | Send message to channel | server (optional), channel, content |
read_messages | Read message history with pagination | server (optional), channel, limit, before, after, around |
read_messages_bulk | Read large amounts of messages automatically | server (optional), channel, total_limit, unlimited |
add_reaction | Add reaction to message | server (optional), channel, message_id, emoji |
add_multiple_reactions | Add multiple reactions | server (optional), channel, message_id, emojis |
remove_reaction | Remove reaction | server (optional), channel, message_id, emoji |
moderate_message | Delete and timeout | server (optional), channel, message_id, reason, timeout_minutes |
create_text_channel | Create new channel | server (optional), name, category_id, topic |
delete_channel | Delete channel | server (optional), channel, reason |
list_category_channels | List channels in category | server (optional), category |
read_category_channels | Read from category channels | server (optional), category, limit |
add_role | Add role to user | server (optional), user_id, role_id |
remove_role | Remove role from user | server (optional), user_id, role_id |
get_user_info | Get user information | user_id |
📖 Advanced Message Reading Features
Pagination Support
The read_messages tool now supports pagination parameters:
before: Get messages sent before a specific message IDafter: Get messages sent after a specific message IDaround: Get messages around a specific message ID
Unlimited Message Reading
The read_messages_bulk tool enables reading large amounts of messages:
total_limit: Specify the total number of messages to fetch (automatically paginated)unlimited: true: Fetch all available messages in a channel/threadtotal_limit: -1: Alternative way to enable unlimited reading
Thread Support
All message reading tools now support Discord threads:
- Use thread ID as the channel parameter
- Read messages from both regular channels and threads seamlessly
No Artificial Limits
All previous artificial limits have been removed:
read_messages: No longer limited to 100 messages per requestread_category_channels: No longer limited to 50 messages per channel- Only Discord API's internal limits apply (100 messages per API call, automatically handled)
🔒 Required Bot Permissions
Ensure your Discord bot has these permissions:
Send MessagesRead Message HistoryAdd ReactionsManage Messages(for moderation)Manage Channels(for channel management)Manage Roles(for role management)Moderate Members(for timeouts)View Channels
🚀 Development
Running Locally
# Install dependencies
npm install
# Start the server
npm start
# Development mode with auto-reload
npm run dev
Environment Variables
DISCORD_TOKEN- Your Discord bot token (required)
Project Structure
discord-mcp-server/
├── src/
│ └── server.js # Main MCP server implementation
├── package.json # Project configuration
├── README.md # Documentation
└── .gitignore # Git ignore rules
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
📝 License
This project is licensed under the MIT License. See the LICENSE file for details.
🐛 Troubleshooting
Common Issues
Bot not responding:
- Verify the
DISCORD_TOKENis correct - Check that the bot has necessary permissions
- Ensure privileged intents are enabled in Discord Developer Portal
Channel/Server not found:
- Use channel/server IDs instead of names for precision
- Ensure the bot has access to the specified channels
- Check that the bot is a member of the target server
Permission errors:
- Review bot permissions in Discord server settings
- Ensure the bot's role is positioned correctly in the role hierarchy
- Verify specific permissions for channels and categories
🔗 Links
- Repository: https://github.com/fukayatti/discord-mcp-server
- npm package: @fukayatti0/discord-mcp-server
- Author: fukayatti
- MCP Documentation: Model Context Protocol
- Discord.js: https://discord.js.org/
Made with ❤️ by fukayatti
Quick Start
Clone the repository
git clone https://github.com/fukayatti/discord-mcp-serverInstall dependencies
cd discord-mcp-server
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.