The bulk and search tools are where the time goes: assigning a role to a hundred members, pruning inactive accounts with a dry run first, or finding every message from one person in a channel — each one a single instruction rather than an afternoon in the Discord UI.
A Discord administration server with a setup wizard that does the fiddly parts: it walks you through creating the bot, validates the token live, generates the invite URL with the right permissions, lets you pick which server to manage, and writes the config into every MCP client it finds on your machine.
- 139 tools across 20 categories — guild, roles, channels, members, messages, reactions, threads, moderation, forums, stages, webhooks, events, polls, DMs and server admin
- Roles — `list_roles` with colours and member counts, `create_role`, `modify_role`, `clone_role`, `get_role_permissions`, `modify_role_permissions`, `assign_role`, `remove_role`, `get_role_members`, `set_role_icon`
- Channels — `list_channels` by category, `create_text_channel`, `create_voice_channel`, `create_forum_channel`, `create_stage_channel`, `set_channel_permissions`, `lock_channel` and `unlock_channel`, `set_slowmode`, `clone_channel`, `reorder_channels`, `get_voice_members`
- Members — `list_members` and `search_members` with role and text filters, `get_member` with roles and account age, `kick_member`, `ban_member`, `unban_member`, `timeout_member`, `prune_members` with a dry run, `bulk_assign_role`, `bulk_remove_role`, `bulk_timeout_members`, `set_nickname`, `move_to_voice`, `disconnect_from_voice`, `get_member_permissions`
- Messages — `get_messages`, `send_message`, `send_embed`, `edit_message`, `delete_message`, `bulk_delete_messages`, `crosspost_message`, `pin_message`, `list_pinned_messages`, `add_reaction`, `search_messages`
- `get_reactions` — every reactor on a message with their account creation date, server join date, roles and boost status, which is the tool that turns a reaction list into a moderation signal
A Discord bot with the permissions for what you intend to do, and Node.js >= 18.0.0. Run `npx @quadslab.io/discord-mcp init` — the wizard handles the bot creation, token validation, invite URL and client config; `npx @quadslab.io/discord-mcp check` then reports the token, the bot identity, the server and a per-permission checklist, so a missing Manage Roles shows up before a tool call fails. Configured by hand, it takes `DISCORD_TOKEN` and `DISCORD_GUILD_ID` in a `.env`. Note the scope of what you are handing over: the same connection that reads messages can ban members, delete channels and bulk-delete messages, so give the bot only the permissions the work needs.
One command plus a key — npx @quadslab.io/discord-mcp init, then supply credentials
