discord-admin-mcp
# 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.
## 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
```bash
pip install -e .
```
### 3. Environment Configuration
Set the following environment variables (or add them to `.env` / `~/.hermes/.env`):
```env
DISCORD_BOT_TOKEN=your_bot_token_here
DISCORD_DEFAULT_GUILD_ID=your_server_id_here # Optional fallback
```
## Hermes Agent Integration
Add to `~/.hermes/config.yaml`:
```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
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.