@@ -129,13 +129,14 @@ export const toolList = [
129129 } ,
130130 {
131131 name : "discord_create_text_channel" ,
132- description : "Creates a new text channel in a Discord server with an optional topic" ,
132+ description : "Creates a new text channel in a Discord server with an optional topic and parent category " ,
133133 inputSchema : {
134134 type : "object" ,
135135 properties : {
136136 guildId : { type : "string" } ,
137137 channelName : { type : "string" } ,
138- topic : { type : "string" }
138+ topic : { type : "string" } ,
139+ categoryId : { type : "string" , description : "Parent category ID to place the channel under" }
139140 } ,
140141 required : [ "guildId" , "channelName" ]
141142 }
@@ -378,5 +379,161 @@ export const toolList = [
378379 } ,
379380 required : [ "guildId" ]
380381 }
382+ } ,
383+ {
384+ name : "discord_list_roles" ,
385+ description : "Lists all roles in a Discord server with their properties" ,
386+ inputSchema : {
387+ type : "object" ,
388+ properties : {
389+ guildId : { type : "string" }
390+ } ,
391+ required : [ "guildId" ]
392+ }
393+ } ,
394+ {
395+ name : "discord_create_role" ,
396+ description : "Creates a new role in a Discord server" ,
397+ inputSchema : {
398+ type : "object" ,
399+ properties : {
400+ guildId : { type : "string" } ,
401+ name : { type : "string" } ,
402+ color : { type : "string" , description : "Hex color string (e.g. '#FF0000') or color name" } ,
403+ hoist : { type : "boolean" , description : "Whether the role should be displayed separately in the sidebar" } ,
404+ mentionable : { type : "boolean" , description : "Whether the role can be mentioned by anyone" } ,
405+ permissions : { type : "array" , items : { type : "string" } , description : "Array of permission flag names (e.g. ['SendMessages', 'ViewChannel'])" } ,
406+ reason : { type : "string" }
407+ } ,
408+ required : [ "guildId" , "name" ]
409+ }
410+ } ,
411+ {
412+ name : "discord_edit_role" ,
413+ description : "Edits an existing role in a Discord server" ,
414+ inputSchema : {
415+ type : "object" ,
416+ properties : {
417+ guildId : { type : "string" } ,
418+ roleId : { type : "string" } ,
419+ name : { type : "string" } ,
420+ color : { type : "string" , description : "Hex color string (e.g. '#FF0000') or color name" } ,
421+ hoist : { type : "boolean" } ,
422+ mentionable : { type : "boolean" } ,
423+ permissions : { type : "array" , items : { type : "string" } , description : "Array of permission flag names" } ,
424+ position : { type : "number" , description : "New position in the role hierarchy" } ,
425+ reason : { type : "string" }
426+ } ,
427+ required : [ "guildId" , "roleId" ]
428+ }
429+ } ,
430+ {
431+ name : "discord_delete_role" ,
432+ description : "Deletes a role from a Discord server" ,
433+ inputSchema : {
434+ type : "object" ,
435+ properties : {
436+ guildId : { type : "string" } ,
437+ roleId : { type : "string" } ,
438+ reason : { type : "string" }
439+ } ,
440+ required : [ "guildId" , "roleId" ]
441+ }
442+ } ,
443+ {
444+ name : "discord_assign_role" ,
445+ description : "Assigns a role to a member in a Discord server" ,
446+ inputSchema : {
447+ type : "object" ,
448+ properties : {
449+ guildId : { type : "string" } ,
450+ userId : { type : "string" } ,
451+ roleId : { type : "string" } ,
452+ reason : { type : "string" }
453+ } ,
454+ required : [ "guildId" , "userId" , "roleId" ]
455+ }
456+ } ,
457+ {
458+ name : "discord_remove_role" ,
459+ description : "Removes a role from a member in a Discord server" ,
460+ inputSchema : {
461+ type : "object" ,
462+ properties : {
463+ guildId : { type : "string" } ,
464+ userId : { type : "string" } ,
465+ roleId : { type : "string" } ,
466+ reason : { type : "string" }
467+ } ,
468+ required : [ "guildId" , "userId" , "roleId" ]
469+ }
470+ } ,
471+ {
472+ name : "discord_list_members" ,
473+ description : "Lists members in a Discord server with their roles" ,
474+ inputSchema : {
475+ type : "object" ,
476+ properties : {
477+ guildId : { type : "string" } ,
478+ limit : { type : "number" , description : "Maximum number of members to return (default 100, max 1000)" , minimum : 1 , maximum : 1000 , default : 100 } ,
479+ after : { type : "string" , description : "User ID to paginate after" }
480+ } ,
481+ required : [ "guildId" ]
482+ }
483+ } ,
484+ {
485+ name : "discord_get_member" ,
486+ description : "Gets detailed information about a specific member in a Discord server" ,
487+ inputSchema : {
488+ type : "object" ,
489+ properties : {
490+ guildId : { type : "string" } ,
491+ userId : { type : "string" }
492+ } ,
493+ required : [ "guildId" , "userId" ]
494+ }
495+ } ,
496+ {
497+ name : "discord_create_voice_channel" ,
498+ description : "Creates a new voice channel in a Discord server with an optional parent category" ,
499+ inputSchema : {
500+ type : "object" ,
501+ properties : {
502+ guildId : { type : "string" } ,
503+ channelName : { type : "string" } ,
504+ categoryId : { type : "string" , description : "Parent category ID to place the channel under" } ,
505+ userLimit : { type : "number" , description : "Maximum number of users allowed (0 for unlimited)" , minimum : 0 , maximum : 99 } ,
506+ reason : { type : "string" }
507+ } ,
508+ required : [ "guildId" , "channelName" ]
509+ }
510+ } ,
511+ {
512+ name : "discord_set_channel_permissions" ,
513+ description : "Sets permission overrides for a role or user on a channel or category" ,
514+ inputSchema : {
515+ type : "object" ,
516+ properties : {
517+ channelId : { type : "string" , description : "Channel or category ID" } ,
518+ roleId : { type : "string" , description : "Role or user ID to set permissions for" } ,
519+ allow : { type : "array" , items : { type : "string" } , description : "Permission flags to allow (e.g. ['ViewChannel', 'SendMessages'])" } ,
520+ deny : { type : "array" , items : { type : "string" } , description : "Permission flags to deny (e.g. ['ViewChannel', 'SendMessages'])" } ,
521+ reason : { type : "string" }
522+ } ,
523+ required : [ "channelId" , "roleId" ]
524+ }
525+ } ,
526+ {
527+ name : "discord_remove_channel_permissions" ,
528+ description : "Removes all permission overrides for a role or user on a channel or category" ,
529+ inputSchema : {
530+ type : "object" ,
531+ properties : {
532+ channelId : { type : "string" , description : "Channel or category ID" } ,
533+ roleId : { type : "string" , description : "Role or user ID to remove overrides for" } ,
534+ reason : { type : "string" }
535+ } ,
536+ required : [ "channelId" , "roleId" ]
537+ }
381538 }
382539] ;
0 commit comments