list_guildsLABSCO SUMMARY
Server administration as a sentence instead of forty clicks.
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.
What it is
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.
What you get
- 139 tools across 20 categories — guild, roles, channels, members, messages, reactions, threads, moderation, forums, stages, webhooks, events, polls, DMs and server admin
- Roles —
list_roleswith 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_channelsby category,create_text_channel,create_voice_channel,create_forum_channel,create_stage_channel,set_channel_permissions,lock_channelandunlock_channel,set_slowmode,clone_channel,reorder_channels,get_voice_members - Members —
list_membersandsearch_memberswith role and text filters,get_memberwith roles and account age,kick_member,ban_member,unban_member,timeout_member,prune_memberswith 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
Requirements
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.
Setup effort
One command plus a key — npx @quadslab.io/discord-mcp init, then supply credentials
USE CASES
Setting up a new server's structure
Create the categories, channels and roles, set the permission overwrites, and reorder them into the layout you want.
Giving a role to a lot of people at once
Search the members you mean, then assign in bulk rather than opening each profile.
Cleaning up an inactive server
Run the prune as a dry run first to see who would go, filtered by role, before doing it for real.
Handling a raid
Lock the channel, bulk-delete the recent messages, and apply timeouts to several accounts in one pass.
Vetting who reacted to something
Reactions come back with each reactor's account age, join date and roles, so a suspicious pattern is visible without opening profiles.
Finding what someone said
Search a channel's messages by content, author or date range instead of scrolling.
139 tools
Listed in project docs. Your client may show a different list.
get_guild_infolist_rolescreate_roledelete_rolemodify_roleget_role_permissionsmodify_role_permissionsset_role_iconassign_roleremove_roleget_role_membersclone_rolelist_channelscreate_text_channelcreate_voice_channelcreate_categorycreate_forum_channeldelete_channelmodify_channelset_channel_permissionsview_channel_permissionslock_channelunlock_channelset_slowmodeclone_channelreorder_channelsset_voice_regionfollow_announcement_channelcreate_stage_channelget_channel_invitesset_channel_topicget_voice_memberslist_membersget_memberkick_memberban_memberunban_membertimeout_memberprune_membersbulk_assign_rolebulk_remove_roleset_nicknamemove_to_voicedisconnect_from_voiceget_member_permissionssearch_membersbulk_timeout_membersget_messagesget_messagesend_messagesend_embededit_messagedelete_messagebulk_delete_messagescrosspost_messagepin_messageunpin_messagelist_pinned_messagesadd_reactionremove_reactionsearch_messagesget_reactionsedit_serverlist_invitescreate_invitedelete_inviteget_audit_loglist_bansget_welcome_screenset_welcome_screenget_widgetset_widgetget_vanity_urllist_integrationsdelete_integrationget_server_previewset_server_iconset_server_bannerlist_threadslist_archived_threadsget_threadget_thread_messagesget_thread_pinned_messagescreate_threadedit_threadarchive_threadunarchive_threaddelete_threadlock_threadunlock_threadlist_thread_membersadd_thread_memberremove_thread_membercreate_forum_postlist_forum_tagscreate_forum_tagedit_forum_tagdelete_forum_taglist_emojiscreate_emojidelete_emojirename_emojilist_stickerscreate_stickerdelete_stickerlist_webhookscreate_webhookdelete_webhooksend_webhook_messagelist_eventscreate_eventedit_eventdelete_eventget_event_userslist_stage_instancesstart_stageend_stagelist_automod_rulescreate_automod_ruleedit_automod_ruledelete_automod_rulecreate_pollget_poll_resultsend_pollsend_dmsend_dm_embedset_bot_presenceget_bot_infolist_templatescreate_templatedelete_templatesync_templatelist_commandscreate_commandedit_commanddelete_commandget_onboardingedit_onboardingBEFORE YOU INSTALL
What to know first
Tools you get
139 tools named in the project's documentation.
Requires
- npx on PATH
- DISCORD_TOKEN in your environment
- DISCORD_GUILD_ID in your environment
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx @quadslab.io/discord-mcp initMCP Clients
Claude Desktop, Claude Code, Cursor, Windsurf
{
"mcpServers": {
"discord": {
"command": "npx",
"args": [
"-y",
"@quadslab.io/discord-mcp"
],
"env": {
"DISCORD_TOKEN": "<YOUR_DISCORD_TOKEN>",
"DISCORD_GUILD_ID": "<YOUR_DISCORD_GUILD_ID>"
}
}
}
}