Discord MCP Server for Cloudflare Workers
91 tools available in the Discord MCP server. Each tool can be called by AI assistants to perform specific actions.
discord_leave_guildMake the bot leave a guild.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"guildId": {
"type": "string",
"description": "The guild ID to leave"
}
}
}discord_get_channelGet information about a Discord channel.
Returns channel details including type, name, topic, and settings.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_modify_channelModify a Discord channel's settings.
Works for text, voice, announcement, forum, and thread channels.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"name": {
"type": "string",
"description": "New channel name"
},
"nsfw": {
"type": "boolean",
"description": "Whether channel is NSFW"
},
"topic": {
"type": "string",
"description": "New channel topic"
},
"locked": {
"type": "boolean",
"description": "Lock thread"
},
"bitrate": {
"type": "number",
"description": "Voice channel bitrate"
},
"archived": {
"type": "boolean",
"description": "Archive thread"
},
"parentId": {
"type": "string",
"description": "Parent category ID"
},
"position": {
"type": "number",
"description": "Sorting position"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"userLimit": {
"type": "number",
"description": "Voice channel user limit"
},
"rateLimitPerUser": {
"type": "number",
"description": "Slowmode in seconds (0-21600)"
},
"autoArchiveDuration": {
"type": "number",
"description": "Thread auto-archive duration (60, 1440, 4320, 10080)"
}
}
}discord_delete_channelDelete a Discord channel. Use with caution!
For guild channels, requires MANAGE_CHANNELS permission.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID to delete"
}
}
}discord_list_channel_invitesList all invites for a specific channel.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_create_channel_inviteCreate an invite for a channel.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"maxAge": {
"type": "number",
"description": "Invite duration in seconds (0 for never)"
},
"unique": {
"type": "boolean",
"description": "Create unique invite"
},
"maxUses": {
"type": "number",
"description": "Max number of uses (0 for unlimited)"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"temporary": {
"type": "boolean",
"description": "Grant temporary membership"
}
}
}discord_edit_channel_permissionsEdit permission overwrites for a channel.
Type 0 = role, Type 1 = member. Allow/Deny are permission bitfields as strings.
{
"type": "object",
"required": [
"channelId",
"overwriteId",
"type"
],
"properties": {
"deny": {
"type": "string",
"description": "Denied permissions bitfield"
},
"type": {
"type": "number",
"description": "0 for role, 1 for member"
},
"allow": {
"type": "string",
"description": "Allowed permissions bitfield"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"overwriteId": {
"type": "string",
"description": "Role or user ID"
}
}
}discord_delete_channel_permissionDelete a permission overwrite for a channel.
{
"type": "object",
"required": [
"channelId",
"overwriteId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
},
"overwriteId": {
"type": "string",
"description": "Role or user ID"
}
}
}discord_trigger_typingTrigger a typing indicator in a channel.
The typing indicator lasts for 10 seconds or until a message is sent.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_list_channel_webhooksList all webhooks for a channel.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_list_emojisList all custom emojis in a guild.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_emojiGet a specific custom emoji from a guild.
{
"type": "object",
"required": [
"guildId",
"emojiId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"emojiId": {
"type": "string",
"description": "The emoji ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_create_emojiCreate a new custom emoji in a guild.
Requires MANAGE_GUILD_EXPRESSIONS permission. Image must be a data URI (data:image/png;base64,...) or URL.
{
"type": "object",
"required": [
"guildId",
"name",
"image"
],
"properties": {
"name": {
"type": "string",
"description": "Emoji name (alphanumeric and underscores)"
},
"image": {
"type": "string",
"description": "Image data URI (data:image/png;base64,...)"
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Roles that can use this emoji"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_create_dmCreate a DM channel with a user.
Returns a DM channel that can be used to send messages to the user.
{
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"type": "string",
"description": "The user ID to DM"
}
}
}discord_modify_emojiModify a custom emoji in a guild.
Requires MANAGE_GUILD_EXPRESSIONS permission.
{
"type": "object",
"required": [
"guildId",
"emojiId"
],
"properties": {
"name": {
"type": "string",
"description": "New emoji name"
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Roles that can use this emoji (null for all)"
},
"emojiId": {
"type": "string",
"description": "The emoji ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_delete_emojiDelete a custom emoji from a guild.
Requires MANAGE_GUILD_EXPRESSIONS permission.
{
"type": "object",
"required": [
"guildId",
"emojiId"
],
"properties": {
"emojiId": {
"type": "string",
"description": "The emoji ID to delete"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_guildGet information about a Discord server (guild).
Returns server details including name, owner, member count, features, and more.
Args:
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"withCounts": {
"type": "boolean",
"default": false,
"description": "Include member/presence counts"
}
}
}discord_get_guild_previewGet a preview of a public Discord server.
Returns basic information without requiring membership.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_modify_guildModify a Discord server's settings.
Requires MANAGE_GUILD permission.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"name": {
"type": "string",
"description": "New server name"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"afkTimeout": {
"type": "number",
"description": "AFK timeout in seconds"
},
"description": {
"type": "string",
"description": "Server description"
},
"afkChannelId": {
"type": "string",
"description": "AFK channel ID"
},
"systemChannelId": {
"type": "string",
"description": "System messages channel ID"
},
"verificationLevel": {
"type": "number",
"description": "Verification level (0-4)"
},
"defaultMessageNotifications": {
"type": "number",
"description": "Default notification level (0=all, 1=mentions)"
}
}
}discord_list_channelsList all channels in a Discord server.
Returns text channels, voice channels, categories, forums, etc.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_create_channelCreate a new channel in a Discord server.
Channel types: 0=Text, 2=Voice, 4=Category, 5=Announcement, 13=Stage, 15=Forum
{
"type": "object",
"required": [
"guildId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Channel name"
},
"nsfw": {
"type": "boolean",
"description": "Whether channel is NSFW"
},
"type": {
"type": "number",
"default": 0,
"description": "Channel type (0=text, 2=voice, 4=category, etc.)"
},
"topic": {
"type": "string",
"description": "Channel topic (text channels)"
},
"bitrate": {
"type": "number",
"description": "Voice channel bitrate"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"parentId": {
"type": "string",
"description": "Parent category ID"
},
"position": {
"type": "number",
"description": "Sorting position"
},
"userLimit": {
"type": "number",
"description": "Voice channel user limit"
},
"rateLimitPerUser": {
"type": "number",
"description": "Slowmode in seconds (0-21600)"
}
}
}discord_list_membersList members in a Discord server.
Returns paginated list of server members with their roles and info.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"after": {
"type": "string",
"description": "Get members after this user ID"
},
"limit": {
"type": "number",
"default": 100,
"maximum": 1000,
"minimum": 1,
"description": "Number of members to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_memberGet information about a specific member in a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "The user ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_search_membersSearch for members in a Discord server by username or nickname.
{
"type": "object",
"required": [
"guildId",
"query"
],
"properties": {
"limit": {
"type": "number",
"default": 10,
"maximum": 1000,
"minimum": 1,
"description": "Max results"
},
"query": {
"type": "string",
"description": "Search query (username or nickname)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_modify_memberModify a member in a Discord server (nickname, roles, mute, etc.).
{
"type": "object",
"required": [
"guildId",
"userId"
],
"properties": {
"deaf": {
"type": "boolean",
"description": "Deafen in voice channels"
},
"mute": {
"type": "boolean",
"description": "Mute in voice channels"
},
"nick": {
"type": "string",
"description": "New nickname (null to reset)"
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of role IDs"
},
"userId": {
"type": "string",
"description": "The user ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"channelId": {
"type": "string",
"description": "Move to voice channel ID"
},
"communicationDisabledUntil": {
"type": "string",
"description": "Timeout until (ISO timestamp)"
}
}
}discord_add_member_roleAdd a role to a member in a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId",
"roleId"
],
"properties": {
"roleId": {
"type": "string",
"description": "The role ID to add"
},
"userId": {
"type": "string",
"description": "The user ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_remove_member_roleRemove a role from a member in a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId",
"roleId"
],
"properties": {
"roleId": {
"type": "string",
"description": "The role ID to remove"
},
"userId": {
"type": "string",
"description": "The user ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_kick_memberKick (remove) a member from a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId"
],
"properties": {
"userId": {
"type": "string",
"description": "The user ID to kick"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_list_bansList banned users in a Discord server.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"after": {
"type": "string",
"description": "Get bans after this user ID"
},
"limit": {
"type": "number",
"default": 100,
"maximum": 1000,
"minimum": 1,
"description": "Max bans to return"
},
"before": {
"type": "string",
"description": "Get bans before this user ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_banGet ban information for a specific user in a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "The user ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_ban_memberBan a user from a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId"
],
"properties": {
"reason": {
"type": "string",
"description": "Reason for the ban"
},
"userId": {
"type": "string",
"description": "The user ID to ban"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"deleteMessageSeconds": {
"type": "number",
"maximum": 604800,
"minimum": 0,
"description": "Delete messages from last N seconds (max 7 days)"
}
}
}discord_unban_memberRemove a ban for a user in a Discord server.
{
"type": "object",
"required": [
"guildId",
"userId"
],
"properties": {
"userId": {
"type": "string",
"description": "The user ID to unban"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_list_rolesList all roles in a Discord server.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_create_roleCreate a new role in a Discord server.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"name": {
"type": "string",
"description": "Role name"
},
"color": {
"type": "number",
"description": "Role color (integer)"
},
"hoist": {
"type": "boolean",
"description": "Display role separately in member list"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"mentionable": {
"type": "boolean",
"description": "Allow anyone to mention this role"
},
"permissions": {
"type": "string",
"description": "Permission bitfield as string"
}
}
}discord_modify_roleModify a role in a Discord server.
{
"type": "object",
"required": [
"guildId",
"roleId"
],
"properties": {
"name": {
"type": "string",
"description": "New role name"
},
"color": {
"type": "number",
"description": "New role color"
},
"hoist": {
"type": "boolean",
"description": "Display separately"
},
"roleId": {
"type": "string",
"description": "The role ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"mentionable": {
"type": "boolean",
"description": "Allow mentions"
},
"permissions": {
"type": "string",
"description": "New permission bitfield"
}
}
}discord_delete_roleDelete a role from a Discord server.
{
"type": "object",
"required": [
"guildId",
"roleId"
],
"properties": {
"roleId": {
"type": "string",
"description": "The role ID to delete"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_prune_countGet the number of members that would be pruned (removed for inactivity).
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"days": {
"type": "number",
"default": 7,
"maximum": 30,
"minimum": 1,
"description": "Number of days of inactivity"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"includeRoles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Role IDs to include in prune"
}
}
}discord_begin_pruneBegin pruning inactive members from a Discord server. Use with caution!
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"days": {
"type": "number",
"default": 7,
"maximum": 30,
"minimum": 1,
"description": "Days of inactivity"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"includeRoles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Role IDs to include"
},
"computePruneCount": {
"type": "boolean",
"default": true,
"description": "Return pruned count (may be slow)"
}
}
}discord_list_guild_invitesList all invites for a Discord server.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_list_guild_webhooksList all webhooks for a Discord server.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_list_voice_regionsList available voice regions.
Returns regions that can be used when creating/modifying voice channels.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}discord_get_audit_logGet the audit log for a Discord server.
Shows actions taken by moderators and admins.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"after": {
"type": "string",
"description": "Get entries after this ID"
},
"limit": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Max entries"
},
"before": {
"type": "string",
"description": "Get entries before this ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "Filter by user who performed action"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"actionType": {
"type": "number",
"description": "Filter by action type"
}
}
}discord_get_guild_voice_regionsGet available voice regions for a Discord server.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_inviteGet information about an invite.
Can include member counts and scheduled event info.
{
"type": "object",
"required": [
"inviteCode"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"inviteCode": {
"type": "string",
"description": "The invite code (not the full URL)"
},
"withCounts": {
"type": "boolean",
"default": false,
"description": "Include approximate member counts"
},
"withExpiration": {
"type": "boolean",
"default": false,
"description": "Include expiration info"
},
"scheduledEventId": {
"type": "string",
"description": "Include scheduled event with this ID"
}
}
}discord_delete_inviteDelete an invite.
Requires MANAGE_CHANNELS permission on the channel, or MANAGE_GUILD for the guild.
{
"type": "object",
"required": [
"inviteCode"
],
"properties": {
"inviteCode": {
"type": "string",
"description": "The invite code to delete"
}
}
}discord_list_messagesGet messages from a Discord channel.
Returns messages in reverse chronological order (newest first).
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"after": {
"type": "string",
"description": "Get messages after this message ID"
},
"limit": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of messages to return"
},
"before": {
"type": "string",
"description": "Get messages before this message ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_get_messageGet a specific message by ID.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_send_messageSend a message to a Discord channel.
Can include text content, embeds, or both.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"tts": {
"type": "boolean",
"description": "Send as text-to-speech"
},
"embeds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of embed objects"
},
"content": {
"type": "string",
"description": "Message text content (up to 2000 characters)"
},
"replyTo": {
"type": "string",
"description": "Message ID to reply to"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_edit_messageEdit a message sent by the bot.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"embeds": {
"type": "array",
"items": {
"type": "string"
},
"description": "New embeds (replaces existing)"
},
"content": {
"type": "string",
"description": "New message content"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID to edit"
}
}
}discord_delete_messageDelete a message from a channel.
Can delete own messages or others' with MANAGE_MESSAGES permission.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID to delete"
}
}
}discord_bulk_delete_messagesDelete multiple messages at once (2-100 messages).
Messages must be less than 14 days old. Requires MANAGE_MESSAGES permission.
{
"type": "object",
"required": [
"channelId",
"messageIds"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of message IDs to delete"
}
}
}discord_crosspost_messageCrosspost a message in an announcement channel to following channels.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The announcement channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID to crosspost"
}
}
}discord_add_reactionAdd a reaction to a message.
For custom emoji, use the format: name:id (e.g., "myemoji:123456789") For unicode emoji, use the emoji character directly (e.g., "👍")
{
"type": "object",
"required": [
"channelId",
"messageId",
"emoji"
],
"properties": {
"emoji": {
"type": "string",
"description": "Emoji to react with"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_remove_own_reactionRemove the bot's reaction from a message.
{
"type": "object",
"required": [
"channelId",
"messageId",
"emoji"
],
"properties": {
"emoji": {
"type": "string",
"description": "Emoji to remove"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_remove_user_reactionRemove another user's reaction from a message.
Requires MANAGE_MESSAGES permission.
{
"type": "object",
"required": [
"channelId",
"messageId",
"emoji",
"userId"
],
"properties": {
"emoji": {
"type": "string",
"description": "Emoji to remove"
},
"userId": {
"type": "string",
"description": "User ID whose reaction to remove"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_get_reactionsGet users who reacted with a specific emoji.
{
"type": "object",
"required": [
"channelId",
"messageId",
"emoji"
],
"properties": {
"after": {
"type": "string",
"description": "Get users after this user ID"
},
"emoji": {
"type": "string",
"description": "Emoji to get reactions for"
},
"limit": {
"type": "number",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Max users to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_delete_all_reactionsRemove all reactions from a message.
Requires MANAGE_MESSAGES permission.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_delete_reactions_for_emojiRemove all reactions for a specific emoji from a message.
Requires MANAGE_MESSAGES permission.
{
"type": "object",
"required": [
"channelId",
"messageId",
"emoji"
],
"properties": {
"emoji": {
"type": "string",
"description": "Emoji to remove all reactions for"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID"
}
}
}discord_get_pinned_messagesGet all pinned messages in a channel.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_pin_messagePin a message in a channel.
Requires MANAGE_MESSAGES permission. Max 50 pins per channel.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID to pin"
}
}
}discord_unpin_messageUnpin a message from a channel.
Requires MANAGE_MESSAGES permission.
{
"type": "object",
"required": [
"channelId",
"messageId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID to unpin"
}
}
}discord_list_scheduled_eventsList all scheduled events in a guild.
{
"type": "object",
"required": [
"guildId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"withUserCount": {
"type": "boolean",
"default": false,
"description": "Include number of interested users"
}
}
}discord_get_scheduled_eventGet a specific scheduled event.
{
"type": "object",
"required": [
"guildId",
"eventId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"eventId": {
"type": "string",
"description": "The scheduled event ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"withUserCount": {
"type": "boolean",
"default": false,
"description": "Include number of interested users"
}
}
}discord_create_scheduled_eventCreate a scheduled event in a guild.
Entity types:
Privacy level 2 = GUILD_ONLY (only option currently)
{
"type": "object",
"required": [
"guildId",
"name",
"scheduledStartTime",
"entityType"
],
"properties": {
"name": {
"type": "string",
"description": "Event name"
},
"image": {
"type": "string",
"description": "Cover image (data URI)"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"location": {
"type": "string",
"description": "Location (required for External events)"
},
"channelId": {
"type": "string",
"description": "Channel ID (required for Stage/Voice events)"
},
"entityType": {
"type": "number",
"maximum": 3,
"minimum": 1,
"description": "Event type (1=Stage, 2=Voice, 3=External)"
},
"description": {
"type": "string",
"description": "Event description"
},
"privacyLevel": {
"type": "number",
"default": 2,
"description": "Privacy level (2 = GUILD_ONLY)"
},
"scheduledEndTime": {
"type": "string",
"description": "End time (required for External events)"
},
"scheduledStartTime": {
"type": "string",
"description": "Start time (ISO8601 timestamp)"
}
}
}discord_get_userGet information about a Discord user.
{
"type": "object",
"required": [
"userId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "The user ID"
}
}
}discord_modify_current_userModify the bot user's username or avatar.
{
"type": "object",
"properties": {
"avatar": {
"type": "string",
"description": "Avatar image data (base64 data URI)"
},
"username": {
"type": "string",
"description": "New username"
}
}
}discord_modify_scheduled_eventModify a scheduled event.
Status values:
{
"type": "object",
"required": [
"guildId",
"eventId"
],
"properties": {
"name": {
"type": "string",
"description": "New event name"
},
"image": {
"type": "string",
"description": "New cover image"
},
"status": {
"type": "number",
"maximum": 4,
"minimum": 1,
"description": "Event status (1=Scheduled, 2=Active, 3=Completed, 4=Canceled)"
},
"eventId": {
"type": "string",
"description": "The scheduled event ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"location": {
"type": "string",
"description": "New location (External events)"
},
"channelId": {
"type": "string",
"description": "New channel ID"
},
"entityType": {
"type": "number",
"description": "New entity type"
},
"description": {
"type": "string",
"description": "New description"
},
"scheduledEndTime": {
"type": "string",
"description": "New end time"
},
"scheduledStartTime": {
"type": "string",
"description": "New start time"
}
}
}discord_delete_scheduled_eventDelete a scheduled event.
{
"type": "object",
"required": [
"guildId",
"eventId"
],
"properties": {
"eventId": {
"type": "string",
"description": "The scheduled event ID to delete"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
}
}
}discord_get_scheduled_event_usersGet users subscribed to a scheduled event.
{
"type": "object",
"required": [
"guildId",
"eventId"
],
"properties": {
"after": {
"type": "string",
"description": "Get users after this user ID"
},
"limit": {
"type": "number",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Max users to return"
},
"before": {
"type": "string",
"description": "Get users before this user ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"eventId": {
"type": "string",
"description": "The scheduled event ID"
},
"guildId": {
"type": "string",
"description": "The guild (server) ID"
},
"withMember": {
"type": "boolean",
"default": false,
"description": "Include guild member data"
}
}
}discord_start_thread_from_messageCreate a new thread from an existing message.
Creates a public thread attached to the specified message.
{
"type": "object",
"required": [
"channelId",
"messageId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Thread name"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"messageId": {
"type": "string",
"description": "The message ID to start thread from"
},
"rateLimitPerUser": {
"type": "number",
"description": "Slowmode in seconds"
},
"autoArchiveDuration": {
"type": "number",
"description": "Auto-archive duration in minutes (60, 1440, 4320, 10080)"
}
}
}discord_start_threadCreate a new thread without an existing message.
Creates a thread that isn't attached to any message. Type: 10=Announcement, 11=Public, 12=Private
{
"type": "object",
"required": [
"channelId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Thread name"
},
"type": {
"type": "number",
"default": 11,
"description": "Thread type (10=announcement, 11=public, 12=private)"
},
"channelId": {
"type": "string",
"description": "The channel ID"
},
"invitable": {
"type": "boolean",
"description": "Whether non-moderators can add users (private threads)"
},
"rateLimitPerUser": {
"type": "number",
"description": "Slowmode in seconds"
},
"autoArchiveDuration": {
"type": "number",
"description": "Auto-archive duration in minutes"
}
}
}discord_start_forum_threadCreate a new thread in a forum channel.
Requires creating the thread with an initial message.
{
"type": "object",
"required": [
"channelId",
"name",
"content"
],
"properties": {
"name": {
"type": "string",
"description": "Thread name"
},
"content": {
"type": "string",
"description": "Initial message content"
},
"channelId": {
"type": "string",
"description": "The forum channel ID"
},
"appliedTags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Forum tag IDs to apply"
},
"rateLimitPerUser": {
"type": "number",
"description": "Slowmode in seconds"
},
"autoArchiveDuration": {
"type": "number",
"description": "Auto-archive duration in minutes"
}
}
}discord_join_threadJoin a thread.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The thread ID"
}
}
}discord_add_thread_memberAdd a user to a thread.
{
"type": "object",
"required": [
"channelId",
"userId"
],
"properties": {
"userId": {
"type": "string",
"description": "The user ID to add"
},
"channelId": {
"type": "string",
"description": "The thread ID"
}
}
}discord_leave_threadLeave a thread.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"channelId": {
"type": "string",
"description": "The thread ID"
}
}
}discord_remove_thread_memberRemove a user from a thread.
{
"type": "object",
"required": [
"channelId",
"userId"
],
"properties": {
"userId": {
"type": "string",
"description": "The user ID to remove"
},
"channelId": {
"type": "string",
"description": "The thread ID"
}
}
}discord_get_thread_memberGet a specific member of a thread.
{
"type": "object",
"required": [
"channelId",
"userId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "The user ID"
},
"channelId": {
"type": "string",
"description": "The thread ID"
}
}
}discord_list_thread_membersList all members of a thread.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The thread ID"
}
}
}discord_list_public_archived_threadsList public archived threads in a channel.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"limit": {
"type": "number",
"description": "Max number of threads to return"
},
"before": {
"type": "string",
"description": "Returns threads archived before this timestamp"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_list_private_archived_threadsList private archived threads in a channel.
Requires MANAGE_THREADS permission.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"limit": {
"type": "number",
"description": "Max number of threads to return"
},
"before": {
"type": "string",
"description": "Returns threads archived before this timestamp"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_list_joined_private_archived_threadsList private archived threads the bot has joined.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"limit": {
"type": "number",
"description": "Max number of threads to return"
},
"before": {
"type": "string",
"description": "Returns threads archived before this timestamp"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_get_current_userGet the current bot user's information.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}discord_get_current_user_guildsGet a list of guilds the bot is a member of.
{
"type": "object",
"properties": {
"after": {
"type": "string",
"description": "Get guilds after this guild ID"
},
"limit": {
"type": "number",
"default": 100,
"maximum": 200,
"minimum": 1,
"description": "Max guilds to return"
},
"before": {
"type": "string",
"description": "Get guilds before this guild ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}discord_create_webhookCreate a webhook for a channel.
Requires MANAGE_WEBHOOKS permission.
{
"type": "object",
"required": [
"channelId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Webhook name"
},
"avatar": {
"type": "string",
"description": "Avatar image data (base64 data URI)"
},
"channelId": {
"type": "string",
"description": "The channel ID"
}
}
}discord_get_webhookGet a webhook by ID.
Requires MANAGE_WEBHOOKS permission.
{
"type": "object",
"required": [
"webhookId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"webhookId": {
"type": "string",
"description": "The webhook ID"
}
}
}discord_get_webhook_with_tokenGet a webhook by ID and token.
Doesn't require authentication or MANAGE_WEBHOOKS permission.
{
"type": "object",
"required": [
"webhookId",
"webhookToken"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"webhookId": {
"type": "string",
"description": "The webhook ID"
},
"webhookToken": {
"type": "string",
"description": "The webhook token"
}
}
}discord_modify_webhookModify a webhook.
Requires MANAGE_WEBHOOKS permission.
{
"type": "object",
"required": [
"webhookId"
],
"properties": {
"name": {
"type": "string",
"description": "New webhook name"
},
"avatar": {
"type": "string",
"description": "New avatar (base64 data URI)"
},
"channelId": {
"type": "string",
"description": "Move webhook to different channel"
},
"webhookId": {
"type": "string",
"description": "The webhook ID"
}
}
}discord_modify_webhook_with_tokenModify a webhook using its token.
Doesn't require authentication. Cannot change channel.
{
"type": "object",
"required": [
"webhookId",
"webhookToken"
],
"properties": {
"name": {
"type": "string",
"description": "New webhook name"
},
"avatar": {
"type": "string",
"description": "New avatar (base64 data URI)"
},
"webhookId": {
"type": "string",
"description": "The webhook ID"
},
"webhookToken": {
"type": "string",
"description": "The webhook token"
}
}
}discord_delete_webhookDelete a webhook.
Requires MANAGE_WEBHOOKS permission.
{
"type": "object",
"required": [
"webhookId"
],
"properties": {
"webhookId": {
"type": "string",
"description": "The webhook ID"
}
}
}discord_delete_webhook_with_tokenDelete a webhook using its token.
Doesn't require authentication.
{
"type": "object",
"required": [
"webhookId",
"webhookToken"
],
"properties": {
"webhookId": {
"type": "string",
"description": "The webhook ID"
},
"webhookToken": {
"type": "string",
"description": "The webhook token"
}
}
}discord_execute_webhookExecute a webhook to send a message.
Can customize username and avatar for this message.
{
"type": "object",
"required": [
"webhookId",
"webhookToken"
],
"properties": {
"tts": {
"type": "boolean",
"description": "Send as text-to-speech"
},
"wait": {
"type": "boolean",
"default": false,
"description": "Wait for message confirmation and return it"
},
"embeds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of embed objects"
},
"content": {
"type": "string",
"description": "Message content"
},
"username": {
"type": "string",
"description": "Override the webhook username"
},
"avatarUrl": {
"type": "string",
"description": "Override the webhook avatar"
},
"webhookId": {
"type": "string",
"description": "The webhook ID"
},
"threadName": {
"type": "string",
"description": "Create a thread with this name (forum channels)"
},
"webhookToken": {
"type": "string",
"description": "The webhook token"
}
}
}