Skip to main content
Glama
CommanderBiz

discord-admin-mcp

by CommanderBiz
README.md
# 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

B3.4/5.0

Scored across 17 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues