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: MCP-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
Build Discord communities with AI: roles, channels, modules, automations and reviewed announcements.
Run Discord forms, surveys, polls and quizzes from your AI app: build, launch and analyze projects.
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…
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with the Discord platform, including managing servers, channels, roles, members, messages, forums, reactions, and webhooks through Discord bot capabilities.1,016 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with the Discord platform by managing servers, channels, roles, forum posts, messages, reactions, and webhooks through a Discord bot.1,016 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with the Discord platform through a bot login. Supports listing servers and members, managing channels, roles, forum posts, messages, reactions, and webhooks.1,016 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with Discord by managing servers, channels, roles, members, messages, forum posts, reactions, and webhooks.1,016 npmMIT