Discord MCP
A MCP Server for Interacting with Discord Servers
Discord MCP Server
A production-grade Model Context Protocol (MCP) server for Discord built with FastMCP and discord.py. Provides a complete API surface for managing channels, roles, permissions, messages, moderation, and server settings via MCP.
Features
- Per-token bot sessions with automatic session management
- Channel management: create, edit, delete, organize
- Role management: create, edit, delete, assign, remove
- Permission configuration for channels, categories, and roles
- Message operations: send, edit, delete, bulk delete, retrieve
- Moderation actions: timeout, kick, ban, enforce role policies
- Guild/server settings management
- Polls: create, end, and get results
- Scheduled events: create, edit, delete, list, get attendees
- Threads & forums: create, edit, delete, manage members, forum posts
- Webhooks: create, send messages, list, delete
- Invites: create, list, delete
- Emoji & stickers: create, delete, list
- Reactions: add, remove, list users, clear
- AutoMod: create, edit, delete, list rules
- Audit log: query with filters
- Member info: get details, list members, edit nicknames/mute/deafen
- Status endpoints for bot sessions
Installation
uv sync
Configuration
Copy the template .env file and modify it as needed:
cp .env.template .env
Usage
Run the MCP server locally:
uv run python -m discord_mcp.main
Or use it without a local setup:
uv run --with git+https://github.com/ExilProductions/discord-mcp discord-mcp
MCP Client Configuration Example
Example configuration for OpenCode using a remote MCP server:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"discord-mcp": {
"type": "remote",
"url": "http://localhost:8000/mcp",
"enabled": true,
"headers": {
"Authorization": "YOUR_DISCORD_BOT_TOKEN"
}
}
}
}
This can be used by any client that supports MCP.
MCP Tools
Channel Management
create_channel- Create a text, voice, news, stage, forum, media, or category channeledit_channel- Edit a channel's settingsdelete_channel- Delete a channelmove_channel- Move channel to new position/categoryget_channel- Get channel informationget_channels- List all channels in guild
Role Management
create_role- Create a new roleedit_role- Edit a roledelete_role- Delete a roleassign_role- Assign role to memberremove_role- Remove role from memberget_role- Get role informationget_roles- List all roles in guild
Permission Management
set_channel_permissions- Set channel permissionsset_category_permissions- Set category permissionsset_role_permissions- Update role permissionsget_channel_permissions- Get channel permission overwritesget_category_permissions- Get category permission overwritesremove_channel_permissions- Remove permission overwrites
Message Operations
send_message- Send a message (supports embeds, TTS, mentions, references)edit_message- Edit a messagedelete_message- Delete a messagebulk_delete_messages- Bulk delete messagesget_message- Get a messageget_channel_messages- Get channel message history
Moderation
timeout_user- Timeout a memberremove_timeout- Remove timeout from memberkick_user- Kick a memberban_user- Ban a memberunban_user- Unban a memberenforce_role_policy- Enforce role policy (kick/ban members missing required roles)get_guild_bans- List guild bansget_member_timeout_status- Check timeout status
Guild Management
get_guild_settings- Get server settings (name, description, verification level, etc.)edit_guild_settings- Edit server settings
Polls
create_poll- Create a poll in a channelend_poll- End an active pollget_poll_results- Get poll vote counts and results
Scheduled Events
create_scheduled_event- Create a scheduled event (voice, stage, or external)edit_scheduled_event- Edit a scheduled eventdelete_scheduled_event- Delete a scheduled eventlist_scheduled_events- List all scheduled events in a guildget_scheduled_event_users- Get users interested in an event
Threads & Forums
create_thread- Create a thread (optionally from a message)edit_thread- Edit thread settings (name, archive, lock, slowmode)delete_thread- Delete a threadlist_threads- List active and archived threads in a channeladd_thread_member- Add a member to a threadremove_thread_member- Remove a member from a threadcreate_forum_post- Create a forum post with tags
Webhooks
create_webhook- Create a webhook for a channelsend_webhook_message- Send a message via webhooklist_webhooks- List webhooks for a guild or channeldelete_webhook- Delete a webhook
Invites
create_invite- Create a channel invitelist_invites- List all guild invitesdelete_invite- Delete an invite
Emoji & Stickers
create_emoji- Create a custom emojidelete_emoji- Delete a custom emojilist_emojis- List all custom emojis in a guildlist_stickers- List all stickers in a guild
Reactions
add_reaction- Add a reaction to a messageremove_reaction- Remove a reaction from a messageget_reaction_users- Get users who reacted with a specific emojiclear_reactions- Clear all or specific reactions from a message
AutoMod
create_automod_rule- Create an automod rule (keyword, spam, preset, mention spam)edit_automod_rule- Edit an automod ruledelete_automod_rule- Delete an automod rulelist_automod_rules- List all automod rules in a guild
Audit Log
get_audit_log- Query audit log with filters (user, action type, limit)
Members
get_member_info- Get detailed member profile infolist_members- List guild membersedit_member- Edit member (nickname, mute, deafen)
Status
get_bot_status- Get bot status and session info
Related Servers
Kaggle
Interact with the Kaggle API to access datasets, notebooks, and competitions.
MCP Docker Orchestrator
A daemon to orchestrate MCP servers as Docker containers and configure AWS ALB path-based routing.
Kubernetes Server
An MCP server that enables AI assistants to interact with and manage Kubernetes clusters.
Maestro MCP Server
Interact with the Bitcoin blockchain using the Maestro API to explore blocks, transactions, and addresses.
OpenWeatherMap
Provides comprehensive weather data and forecasts using the OpenWeatherMap API.
Kontomanager
An unofficial server for managing Austrian mobile accounts for brands like yesss!, Georg, and XOXO.
Fastly NGWAF
Manage web application security through the Fastly NGWAF API using natural language.
Bybit MCP Server
Access Bybit's v5 API for real-time market data, trading operations, and account information.
RAD Security
Interact with the RAD Security platform which provides AI-powered security insights for Kubernetes and cloud environments.
Pangea MCP proxy
Protect any MCP server from malicious entities and confidential PII using Pangea's AI Guard and Vault.