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
Servidores relacionados
Cloudways MCP Server
Integrates with the Cloudways API, allowing AI assistants to access and manage Cloudways infrastructure.
Dokploy
An AI-powered interface for managing the Dokploy infrastructure platform.
Wuying AgentBay MCP Server
A cloud infrastructure from Alibaba Cloud for AI Agents, featuring one-click configuration and serverless execution.
Litmus MCP Server
Enables LLMs and intelligent systems to interact with Litmus Edge for device configuration, monitoring, and management.
快递100 MCP Server (Python)
Access logistics information services from Kuaidi100, including package tracking, shipping cost estimation, and delivery time prediction. Requires a Kuaidi100 API key.
Oracle Service Cloud by CData
A read-only MCP server by CData that enables LLMs to query live data from Oracle Service Cloud.
Kayzen Analytics
An MCP server for interacting with the Kayzen Analytics API, requiring credentials configured via environment variables.
WeatherXM PRO
Access weather station data, observations, and forecasts using the WeatherXM PRO API.
Hostinger Ecommerce MCP
Interact with the Hostinger Ecommerce API using a JWT token and store ID.
Binance MCP Server
Interact with the Binance API to view portfolios, convert tokens, and execute trades with minimal market impact.