feat: add role management, member tools, voice channels, and channel permissions#25
Merged
barryyip0625 merged 2 commits intobarryyip0625:mainfrom Mar 17, 2026
Merged
Conversation
…permissions Add 12 new tools for Discord server management: Role management: - discord_list_roles: list all roles with properties - discord_create_role: create roles with color, hoist, permissions - discord_edit_role: modify existing role properties - discord_delete_role: remove a role Member management: - discord_assign_role: add a role to a member - discord_remove_role: remove a role from a member - discord_list_members: list guild members with roles - discord_get_member: get detailed member info Channel enhancements: - discord_create_voice_channel: create voice channels with optional category - discord_set_channel_permissions: set permission overrides on channels/categories - discord_remove_channel_permissions: remove permission overrides - Add categoryId parameter to discord_create_text_channel Also adds GuildMembers intent for member/role operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds 12 new tools for Discord server management, covering the most commonly needed features for setting up and managing server structure programmatically:
Role management (4 tools):
discord_list_roles— list all roles with properties (color, position, hoist, member count)discord_create_role— create roles with color, hoist, mentionable, and permission flagsdiscord_edit_role— modify existing role properties including positiondiscord_delete_role— remove a roleMember management (4 tools):
discord_assign_role— add a role to a memberdiscord_remove_role— remove a role from a memberdiscord_list_members— list guild members with their roles (paginated)discord_get_member— get detailed info for a specific memberChannel enhancements (4 tools + 1 fix):
discord_create_voice_channel— create voice channels with optional parent categorydiscord_set_channel_permissions— set permission overrides on channels/categories for a role or userdiscord_remove_channel_permissions— remove permission overridescategoryIdparameter to existingdiscord_create_text_channelso channels can be placed under a category at creation timeInfrastructure:
GuildMembersintent to support member/role operationsAll new tools follow the existing patterns (Zod schemas, handleDiscordError, same response format). The
categoryIdaddition tocreate_text_channelis backward compatible.Test plan
All 12 tools were tested against a live Discord server:
list_roles— returns all roles sorted by positioncreate_role— creates role with color and hoistassign_role— assigns role to memberget_member— shows assigned role on memberremove_role— removes role from memberdelete_role— deletes the rolelist_members— lists all members with rolescreate_text_channelwithcategoryId— channel created under categorycreate_voice_channelwithcategoryId— voice channel created under categoryset_channel_permissions— deny @everyone ViewChannel, allow specific roleremove_channel_permissions— removes overrides