list_permissions
Retrieve all Discord permission names for configuring roles and channel overwrites. This tool provides the complete list of permissions available in Discord's permission system.
Instructions
List all available Discord permission names that can be used for roles and channel overwrites
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/permission-tools.ts:165-217 (handler)The handler for the 'list_permissions' tool. It extracts permission names from PermissionFlagsBits, categorizes them into groups (general, text, voice, etc.), and returns a JSON-formatted text response listing all available Discord permissions.'list_permissions', 'List all available Discord permission names that can be used for roles and channel overwrites', {}, async () => { const permissions = Object.keys(PermissionFlagsBits).filter( (key) => isNaN(Number(key)) ); const categorized = { general: [ 'Administrator', 'ViewAuditLog', 'ViewGuildInsights', 'ManageGuild', 'ManageRoles', 'ManageChannels', 'KickMembers', 'BanMembers', 'CreateInstantInvite', 'ChangeNickname', 'ManageNicknames', 'ManageEmojisAndStickers', 'ManageWebhooks', 'ManageGuildExpressions', 'ViewChannel', ], text: [ 'SendMessages', 'SendMessagesInThreads', 'CreatePublicThreads', 'CreatePrivateThreads', 'EmbedLinks', 'AttachFiles', 'AddReactions', 'UseExternalEmojis', 'UseExternalStickers', 'MentionEveryone', 'ManageMessages', 'ManageThreads', 'ReadMessageHistory', 'SendTTSMessages', 'UseApplicationCommands', 'SendVoiceMessages', ], voice: [ 'Connect', 'Speak', 'Stream', 'UseEmbeddedActivities', 'UseSoundboard', 'UseExternalSounds', 'UseVAD', 'PrioritySpeaker', 'MuteMembers', 'DeafenMembers', 'MoveMembers', ], stage: [ 'RequestToSpeak', ], events: [ 'CreateEvents', 'ManageEvents', ], monetization: [ 'CreateGuildExpressions', 'ViewCreatorMonetizationAnalytics', ], }; return { content: [ { type: 'text', text: JSON.stringify({ message: 'Available Discord permissions', permissions, categorized, }, null, 2), }, ], }; } );
- src/index.ts:58-58 (registration)Top-level registration call that invokes registerPermissionTools(server), which registers the 'list_permissions' tool among other permission tools.registerPermissionTools(server);
- src/index.ts:15-15 (registration)Import of the registerPermissionTools function used to register the permission tools including 'list_permissions'.import { registerPermissionTools } from './tools/permission-tools.js';
- Input schema for 'list_permissions' tool: empty object as it requires no parameters.async () => {