discord-admin-mcp
Provides tools for Discord server administration, including role management, member moderation (kick, ban, timeout), channel management, and message purging.
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-admin-mcp purge the last 50 messages in #general"
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 Admin MCP Server
A Model Context Protocol (MCP) server providing structured tools for Discord server administration, role management, member moderation, and channel operations.
Designed to work seamlessly with Hermes Agent and any MCP-compliant client.
Features & Tools
Server Info:
get_current_bot_user: Inspect the bot's identity and user details.list_guilds: List servers the bot belongs to.get_guild_info: Get member counts, owner ID, server settings.
Role Management:
list_roles: List server roles, positions, and permission bitfields.assign_role: Assign roles to members.remove_role: Remove roles from members.create_role: Create new roles with custom colors and permissions.delete_role: Delete roles from the server.
Member Moderation:
kick_member: Kick members with audit log reason.ban_member: Ban members with optional message purge window.unban_member: Unban members.timeout_member: Timeout (mute/quarantine) members for a set duration.
Channel Management:
list_channels: List text, voice, forum, and announcement channels.create_channel: Create channels with custom categories/topics.edit_channel: Edit channel name, NSFW status, or topic.delete_channel: Delete channels.
Message Admin:
purge_messages: Bulk delete recent messages.
Related MCP server: Discord MCP Server
Installation & Setup
1. Requirements
Python >= 3.10
A Discord Bot Token with Server Moderation permissions and Privileged Gateway Intents (Server Members Intent).
2. Local Install
pip install -e .3. Environment Configuration
Set the following environment variables (or add them to .env / ~/.hermes/.env):
DISCORD_BOT_TOKEN=your_bot_token_here
DISCORD_DEFAULT_GUILD_ID=your_server_id_here # Optional fallbackHermes Agent Integration
Add to ~/.hermes/config.yaml:
mcp_servers:
discord_admin:
command: "/home/kernel/hermes-venv/bin/python3"
args: ["-m", "discord_admin_mcp.server"]
env:
DISCORD_BOT_TOKEN: "your_bot_token_here"License
MIT License - Author: CommanderBiz
Available Tools
17 toolsassign_roleB
Assign a role to a server member. Requires Manage Roles permission and bot role higher than target role.
Inputs: role_id (required), user_id (required), reason, guild_id. Returns: result
ban_memberB
Ban a user from the server with optional message deletion window (0 to 604800 seconds).
Inputs: user_id (required), reason, guild_id, delete_message_seconds. Returns: result
create_channelA
Create a new channel in the server. channel_type: 0 for GUILD_TEXT, 2 for GUILD_VOICE, 4 for GUILD_CATEGORY, 5 for GUILD_ANNOUNCEMENT, 15 for GUILD_FORUM.
Inputs: name (required), topic, reason, guild_id, +2 more. Returns: result
create_roleC
Create a new role in the server.
Inputs: name (required), color, hoist, reason, +3 more. Returns: result
delete_channelC
Delete a Discord channel.
Inputs: channel_id (required), reason. Returns: result
delete_roleC
Delete a role from the server.
Inputs: role_id (required), reason, guild_id. Returns: result
edit_channelC
Modify settings or topic of a Discord channel.
Inputs: channel_id (required), name, nsfw, topic, +1 more. Returns: result
get_current_bot_userA
Get details about the bot itself (ID, username, avatar, etc.).
Inputs: no named parameters. Returns: result
get_guild_infoC
Get detailed information about a Discord server (name, owner, member count, verification level, etc.).
Inputs: guild_id. Returns: result
kick_memberC
Kick a member from the server.
Inputs: user_id (required), reason, guild_id. Returns: result
list_channelsB
List all channels in a server with their names, types, categories, and topics.
Inputs: guild_id. Returns: result
list_guildsA
List all Discord servers (guilds) the bot is currently in.
Inputs: no named parameters. Returns: result
list_rolesB
List all roles in a Discord server with their IDs, names, permissions, and positions.
Inputs: guild_id. Returns: result
purge_messagesA
Bulk delete up to 100 recent messages from a channel (messages older than 14 days cannot be bulk deleted).
Inputs: channel_id (required), count, reason. Returns: result
remove_roleA
Remove a role from a server member. Requires Manage Roles permission and bot role higher than target role.
Inputs: role_id (required), user_id (required), reason, guild_id. Returns: result
timeout_memberA
Timeout (mute/quarantine) a member for a specified duration in seconds. Set duration_seconds to 0 to remove timeout.
Inputs: user_id (required), duration_seconds (required), reason, guild_id. Returns: result
unban_memberC
Unban a user from the server.
Inputs: user_id (required), reason, guild_id. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
Each tool targets a distinct resource and action: guild info, roles, channels, members, and messages are cleanly separated. Even similar moderation actions like kick, ban, unban, and timeout are clearly differentiated by name and description.
Tool names consistently follow a verb_noun pattern using snake_case, such as list_roles, create_channel, assign_role, and kick_member. Minor variations like get_current_bot_user versus get_guild_info do not break the overall predictable pattern.
At 17 tools, the server is slightly above the ideal 3-15 range, but every tool covers a distinct administrative operation. The count feels heavy yet still scoped and navigable for a Discord admin server.
The tool set provides solid coverage for roles, channels, members, and message moderation, including create/read/update/delete for channels and roles. Obvious gaps like listing members, viewing bans, or getting a specific role/channel by ID are missing but can often be worked around.
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
Manage game servers, configurations, players, and groups through the GameServerApp MCP server.
The AI admin for Discord: manage channels, roles, members, moderation and automations.
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables comprehensive Discord bot management and server operations through MCP, including channel management, message handling, member moderation, role management, and voice operations. Provides secure Discord API integration with built-in permission controls and audit logging capabilities.19190 npm19MIT
- AlicenseBqualityDmaintenanceEnables Discord bot integration through MCP, allowing users to manage servers, channels, roles, members, and messages including moderation actions like bans, timeouts, and bulk deletions through natural language.33MIT
- FlicenseNot gradedqualityDmaintenanceComprehensive Discord server management through MCP, enabling channel, role, permission, message, moderation, and automation tasks via natural language.4-
- AlicenseBqualityDmaintenanceEnables Discord server moderation actions including kick, ban, timeout, role management, channel operations, audit logs, and member management through MCP tools.297MIT