Discord MCP
Provides tools for interacting with Discord servers, including listing servers and channels, sending messages, managing reaction-based opt-in campaigns and reminders.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Discord MCPlist all my Discord servers and their channels"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Discord MCP Server
⚠️ ALPHA SOFTWARE - This project is in early alpha development. Features may be incomplete or buggy. Use at your own risk.
A Model Context Protocol (MCP) server that provides Discord integration tools for AI assistants like Claude.
Current Version: 0.0.1-alpha1 (Local Development)
Project Status
🔬 Phase: Local Development - Testing with MCP Inspector
📋 Next: Alpha Release - Publish to PyPI for Claude Desktop testing
🎯 Future: Beta & v1.0 - Feature-complete and stable
See specs/ROADMAP.md for version planning.
Related MCP server: poke_discord
Overview
This MCP server enables AI assistants to interact with Discord servers through tools for:
✅ Core Operations: List servers, channels, send messages
✅ Campaign System: Reaction-based opt-in campaigns with reminders
🚧 Future Features: Role management, member analytics, thread support, and more
Development Setup
Prerequisites
Python 3.10+ with
uvpackage managerDiscord Bot: Create at Discord Developer Portal
Node.js (for MCP Inspector)
Installation
# Clone repository
git clone https://github.com/yourusername/mcp-discord.git
cd mcp-discord
# Install with uv
uv pip install -e ".[dev]"Configuration
Create a .env file:
DISCORD_TOKEN=your_discord_bot_token_here
MCP_DISCORD_DB_PATH=discord_mcp.db
LOG_LEVEL=INFO
DRY_RUN=false # Set to true for testing without Discord APITesting with MCP Inspector
The MCP Inspector lets you test tools locally before deploying.
1. Start the MCP Inspector
npx @modelcontextprotocol/inspector python -m discord_mcpThis will:
Start your Discord MCP server
Launch the MCP Inspector web UI
Open in your browser (usually http://localhost:5173)
2. Test Available Tools
In the inspector, you can test:
discord_list_servers- See all servers your bot is indiscord_list_channels- List channels in a serverdiscord_send_message- Send test messagesdiscord_create_campaign- Create reaction campaignsAnd more...
3. Alternative: Direct Module Run
# Run server directly (for stdio transport)
python -m discord_mcp
# Run with development script
python dev.py server
# Run with inspector mode
python dev.py inspectorClaude Desktop Configuration (Alpha/Beta Only)
⚠️ Not ready yet - First test locally with inspector, then we'll publish to PyPI
Once published to PyPI, you can configure Claude Desktop:
Windows: Edit %APPDATA%\Claude\claude_desktop_config.json
Mac: Edit ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"discord": {
"command": "python",
"args": ["-m", "discord_mcp"],
"env": {
"DISCORD_TOKEN": "your_token_here",
"MCP_DISCORD_DB_PATH": "C:\\path\\to\\discord_mcp.db",
"LOG_LEVEL": "INFO"
}
}
}
}Restart Claude Desktop to load the server.
Available Tools (v0.0.1-alpha)
Core Discord Tools
discord_list_servers- List all Discord serversdiscord_list_channels- List channels with type filteringdiscord_get_channel_info- Get detailed channel informationdiscord_bot_status- Check bot connection statusdiscord_get_recent_messages- Retrieve recent messagesdiscord_get_message- Get specific message by IDdiscord_send_message- Send messages with reply support
Campaign & Reminder Tools
discord_create_campaign- Create reaction opt-in campaignsdiscord_tally_optins- Track campaign participantsdiscord_list_optins- List opt-ins with paginationdiscord_build_reminder- Build reminder messagesdiscord_send_reminder- Send reminders with rate limitingdiscord_run_due_reminders- Process scheduled reminders
See specs/implemented/core_tools.md for detailed documentation.
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Discord bot token |
| No |
| SQLite database path |
| No | - | Comma-separated server IDs to restrict access |
| No |
| Logging level (DEBUG, INFO, WARNING, ERROR) |
| No |
| Test mode without Discord API calls |
Development Commands
# Run tests
uv run pytest
# Format code
uv run black src/ tests/
uv run isort src/ tests/
# Build package
uv build
# Run MCP inspector
npx @modelcontextprotocol/inspector python -m discord_mcpProject Structure
discord-mcp/
├── src/discord_mcp/ # Main package
│ ├── server.py # MCP server entry point
│ ├── __main__.py # Module runner (python -m discord_mcp)
│ ├── config.py # Configuration
│ ├── discord_client/ # Discord bot implementation
│ ├── database/ # SQLite models & repos
│ ├── tools/ # MCP tool implementations
│ └── server_registry/ # Legacy entity registry
├── tests/ # Test suite
├── specs/ # Documentation
│ ├── implemented/ # Current features
│ ├── future/ # Planned features
│ └── ROADMAP.md # Version roadmap
├── pyproject.toml # Package configuration
└── README.md # This fileKnown Issues & Limitations
⚠️ Alpha quality - Bugs expected
⚠️ Limited features - Only basic tools implemented
⚠️ No error recovery - Some edge cases not handled
⚠️ Database migrations - Manual schema updates may be needed
See GitHub Issues for known bugs.
Contributing
This is an alpha project - contributions welcome but expect things to change!
Test locally with MCP Inspector first
Check specs/ROADMAP.md for planned features
Open an issue to discuss changes
Submit PR against
developbranch
Release Stages
Now (Local): Testing with MCP Inspector only
Alpha (0.0.x): Published to PyPI, testing with Claude Desktop
Beta (0.1.x): Feature-complete, polishing bugs
Release (1.0.0): Stable, production-ready
License
MIT License - see LICENSE file.
Support
📖 Documentation: specs/ directory
🐛 Bug Reports: GitHub Issues
💬 Discussions: GitHub Discussions
Remember: This is alpha software. Always test in a non-production Discord server first!
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect a Discord bot (bot token from the developer portal) to read/send messages, list guilds and c
Control your Discord community: send/read messages, manage channels and forums, and handle webhook…
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Messaging tools for AI agents: send messages, manage chats, groups and channels.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with Discord servers through a bot, supporting channel management, messaging, forum operations, reactions, and webhooks.22411 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables interaction with Discord through natural language, including reading and sending messages, managing servers, and user actions.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.6 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.9 npm2MIT