# Discord Bot — MCP server on mcp.ai > Discordbot refers to automated programs on Discord servers, performing tasks like moderation, music playback, and user engagement to enhance community interactions By: mcp.ai · official Page: https://mcp.ai/discordbot ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_discordbot?ms=1781542440000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/discordbot/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/discordbot/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/discordbot/skill.md Postman collection (v2.1): https://mcp.ai/discordbot/postman.json ## Tools - discordbot_add_group_dm_user(nick?: string, user_id: string, channel_id: string, access_token?: string) — Adds a user to a discord group direct message (dm) channel. - discordbot_add_guild_member(deaf?: boolean, mute?: boolean, nick?: string, flags?: integer, roles?: null[], user_id: string, guild_id: string, access_token: string) — Adds a user (who is not already a member) to a guild using their `access token` (which must have `guilds.join` scope), optionally setting nickname, roles, mute/deaf status, or flags. - discordbot_add_guild_member_role(role_id: string, user_id: string, guild_id: string) — Assigns a role to a guild member, provided the bot has 'manage roles' permission in the guild and the role to be assigned is hierarchically lower than the bot's highest role. - discordbot_add_my_message_reaction(channel_id: string, emoji_name: string, message_id: string) — Adds an emoji reaction from the authenticated user/bot to a specific message in a discord channel; does not return information about existing reactions. - discordbot_add_thread_member(user_id: string, channel_id: string) — Adds a user to a specific, unarchived thread; the user must have access to the thread's parent channel, and for private threads, the bot must already be a member. - discordbot_ban_user_from_guild(user_id: string, guild_id: string, delete_message_days?: integer, delete_message_seconds?: integer) — Permanently bans a user from a discord guild, optionally deleting their recent messages (specify deletion period in seconds or days, not both). - discordbot_bulk_ban_users_from_guild(guild_id: string, user_ids: string[], delete_message_seconds?: integer) — Bans up to 200 users from a discord guild, optionally deleting their recent messages; the bot must have 'ban members' permission in the guild, and this action is irreversible. - discordbot_bulk_delete_messages(messages: string[], channel_id: string) — Atomically bulk deletes messages in a discord channel for moderation or maintenance; deletion may not be instantaneous and messages are unrecoverable. - discordbot_create_application_command(name: string, type?: null, options?: object[], description?: string, dm_permission?: boolean, application_id: string, name_localizations?: object, description_localizations?: object, default_member_permissions?: integer) — Creates a new global discord application command, accessible across guilds and in dms (if `dm permission` is true), noting global commands can take up to an hour to propagate and have registration lim - discordbot_create_auto_moderation_rule(guild_id: string) — Creates a new auto moderation rule for a discord guild, requiring 'manage guild' permission; rule parameters are passed in the json request body (see request schema description for body content). - discordbot_create_channel_invite(channel_id: string) — Creates a new invite for the specified discord channel, provided the bot has 'create instant invite' permission for that channel. - discordbot_create_dm(nicks?: object, recipient_id?: null, access_tokens?: string[]) — Creates a new direct message (dm) channel or retrieves an existing one, using `recipient id` for a 1-on-1 dm or `access tokens` for a group dm; this action only establishes or fetches the channel and - discordbot_create_guild(icon?: string, name: string, roles?: object[], region?: string, channels?: object[], afk_timeout?: null, description?: string, afk_channel_id?: null, preferred_locale?: null, system_channel_id?: null, verification_level?: null, system_channel_flags?: integer, explicit_content_filter?: null, default_message_notifications?: null) — Creates a new discord guild (server) with the specified name, roles, and channels; icon must be a base64 encoded 128x128 image, and if `afk channel id` is set, `afk timeout` must also be set. - discordbot_create_guild_application_command(name: string, type?: null, options?: object[], guild_id: string, description?: string, dm_permission?: boolean, application_id: string, name_localizations?: object, description_localizations?: object, default_member_permissions?: integer) — Creates a new guild-specific application command (slash, user, or message) in discord; command name must be unique per type within the guild (max 100 total commands), and client ui updates may take up - discordbot_create_guild_channel(name: string, nsfw?: boolean, type?: integer, topic?: string, bitrate?: integer, guild_id: string, position?: integer, parent_id?: string, rtc_region?: string, user_limit?: integer, available_tags?: string[], default_sort_order?: integer, video_quality_mode?: integer, rate_limit_per_user?: integer, default_forum_layout?: integer, permission_overwrites?: object[], default_reaction_emoji?: string, default_auto_archive_duration?: integer, default_thread_rate_limit_per_user?: integer) — Creates a new discord channel (text, voice, category, etc.) within a guild, with options for permissions, topic, and type-specific settings. - discordbot_create_guild_emoji(name: string, image: string, roles?: null[], guild_id: string) — Creates a new custom emoji in a specified discord guild, requiring `create expressions` permission and adherence to guild emoji limits. - discordbot_create_guild_from_template(code: string, icon?: string, name: string) — Creates a new discord guild by applying channels, roles, and settings from a specified, valid, and accessible guild template code. - discordbot_create_guild_role(icon?: string, name?: string, color?: integer, hoist?: boolean, guild_id: string, mentionable?: boolean, permissions?: integer, unicode_emoji?: string) — Creates a new role in a discord guild with customizable name, permissions, color, hoist, mentionability, and icon; `icon` (custom image hash) and `unicode emoji` (standard emoji) are mutually exclusiv - discordbot_create_guild_scheduled_event(guild_id: string) — Creates a new scheduled event in a discord guild; a separate json request body (not defined in this action's request schema model) with event details (e.g., name, type, schedule) is required, and its - discordbot_create_guild_sticker(file?: string, name?: string, tags?: string, guild_id: string, description?: string) — Uploads a png, apng, or lottie json file (max 512kb) as a new custom sticker to the specified discord guild; requires 'manage expressions' permissions and sufficient server boost level for sticker slo - discordbot_create_guild_template(name: string, guild_id: string, description?: string) — Creates a template of an existing discord guild's structure (settings, roles, channels) but not its content (e.g., messages, members). - discordbot_create_interaction_response(interaction_id: string, interaction_token: string) — Sends a response to a discord interaction (e.g., slash command, component); ensure response type is context-appropriate and initial reply is within 3 seconds. - discordbot_create_message(tts?: boolean, flags?: integer, nonce?: integer, embeds?: object[], content?: string, channel_id: string, components?: object[], attachments?: object[], sticker_ids?: string[], allowed_mentions?: null, message_reference?: null) — Sends a message to a specified discord channel (text, embeds, stickers, components, attachments); requires `send messages` permission and one of `content`, `embeds`, `sticker ids`, or `attachments`. - discordbot_create_stage_instance(topic: string, channel_id: string, privacy_level?: null, send_start_notification?: boolean, guild_scheduled_event_id?: null) — Creates a new stage instance in a specified stage channel for live audio events; requires `manage channels`, `mute members`, and `move members` permissions in the channel. - discordbot_create_thread(channel_id: string) — Creates a new thread in a text or announcement discord channel; requires a 'name' and optionally other details (e.g., 'auto archive duration', an initial 'message') in the request body. - discordbot_create_thread_from_message(name: string, channel_id: string, message_id: string, rate_limit_per_user?: integer, auto_archive_duration?: null) — Creates a new thread from a specific message in a discord channel, requiring `create public threads` permission (and `send messages` if in a forum/media channel). - discordbot_create_webhook(name: string, avatar?: string, channel_id: string) — Creates a webhook in a specified discord channel for external applications to post messages, provided the caller has 'manage webhooks' permission in that channel. - discordbot_crosspost_message(channel_id: string, message_id: string) — Crossposts a message from an announcement channel to all following channels, provided the message has not been previously crossposted and is not a system message or a message sent by a webhook. - discordbot_delete_all_message_reactions(channel_id: string, message_id: string) — Deletes all reactions (not just the bot's) from a message in a channel; requires 'manage messages' permission. - discordbot_delete_all_message_reactions_by_emoji(channel_id: string, emoji_name: string, message_id: string) — Removes all reactions for a specific emoji from a message in a discord channel; requires 'manage messages' permission and this operation is irreversible. - discordbot_delete_application_command(command_id: string, application_id: string) — Permanently deletes a specific application command; this action is irreversible. - discordbot_delete_auto_moderation_rule(rule_id: string, guild_id: string) — Deletes a specific auto-moderation rule from a discord guild. - discordbot_delete_channel(channel_id: string) — Permanently deletes a discord channel by its id; this action is irreversible and the channel must exist and be deletable. - discordbot_delete_channel_permission_overwrite(channel_id: string, overwrite_id: string) — Deletes a specific user's or role's permission overwrite in a discord channel, reverting their permissions to default; this action is irreversible. - discordbot_delete_group_dm_user(user_id: string, channel_id: string) — Permanently removes a user from an accessible discord group dm channel, revoking their access. - discordbot_delete_guild(guild_id: string) — Permanently deletes a specified discord guild (server); the authenticated user must be the owner of the guild. - discordbot_delete_guild_application_command(guild_id: string, command_id: string, application_id: string) — Permanently deletes a specific application command (e.g., slash, user, or message) for an application from a discord guild, used to remove outdated or unnecessary commands. - discordbot_delete_guild_emoji(emoji_id: string, guild_id: string) — Permanently deletes a specified custom emoji from a guild, requiring 'manage expressions' permissions; cannot delete default emojis and is irreversible. - discordbot_delete_guild_integration(guild_id: string, integration_id: string) — Permanently deletes a specific, unwanted or problematic integration from a discord guild; requires 'manage server' or 'administrator' permissions. - discordbot_delete_guild_member(user_id: string, guild_id: string) — Removes (kicks) a member from a discord guild; the user must be an existing member of the specified guild, and this action is permanent. - discordbot_delete_guild_member_role(role_id: string, user_id: string, guild_id: string) — Removes a specified role from a member of a discord guild, provided the member currently possesses that role. - discordbot_delete_guild_role(role_id: string, guild_id: string) — Permanently deletes a specified role from a discord guild, revoking it from all members; requires 'manage roles' permission and the target role must be lower in hierarchy than the bot's highest role. - discordbot_delete_guild_scheduled_event(guild_id: string, guild_scheduled_event_id: string) — Permanently deletes a specific scheduled event from a discord guild; this action is irreversible. - discordbot_delete_guild_sticker(guild_id: string, sticker_id: string) — Permanently deletes a custom sticker from a discord guild; the specified guild and sticker must exist, and this action is irreversible. - discordbot_delete_guild_template(code: string, guild_id: string) — Deletes an existing guild template by its unique code from a specified guild, returning the deleted template's details. - discordbot_delete_message(channel_id: string, message_id: string) — Permanently and irreversibly deletes a message from a specified discord channel. - discordbot_delete_my_message_reaction(channel_id: string, emoji_name: string, message_id: string) — Removes the authenticated user's own emoji reaction, which they must have previously added, from a specific message in a discord channel; this action is irreversible and cannot remove others' reaction - discordbot_delete_original_webhook_message(thread_id?: string, webhook_id: string, webhook_token: string) — Permanently deletes an existing original message posted by a webhook (using its id and token), optionally within a specific thread. - discordbot_delete_stage_instance(channel_id: string) — Deletes the stage instance for the given `channel id`, permanently ending its live audio event. - discordbot_delete_thread_member(user_id: string, channel_id: string) — Removes a user from a specified, unarchived thread in a discord channel. - discordbot_delete_user_message_reaction(user_id: string, channel_id: string, emoji_name: string, message_id: string) — Removes a specific user's emoji reaction from a message; requires 'manage messages' permission if deleting reactions from other users. - discordbot_delete_webhook(webhook_id: string) — Permanently deletes a specified, existing discord webhook by its unique id; this action is irreversible. - discordbot_delete_webhook_by_token(webhook_id: string, webhook_token: string) — Permanently deletes a discord webhook specified by its id and token; this action is irreversible. - discordbot_delete_webhook_message(thread_id?: string, message_id: string, webhook_id: string, webhook_token: string) — Deletes a message previously sent by the specified webhook, optionally within a specific thread. - discordbot_execute_github_compatible_webhook(ref?: string, wait?: boolean, issue?: null, action?: string, answer?: null, forced?: boolean, forkee?: null, member?: null, review?: null, comment?: null, commits?: object[], compare?: string, release?: null, ref_type?: string, check_run?: null, thread_id?: string, discussion?: null, repository?: null, sender__id?: integer, webhook_id: string, check_suite?: null, head_commit?: null, pull_request?: null, sender__login?: string, webhook_token: string, sender__html__url?: string, sender__avatar__url?: string) — Forwards github event notifications to a discord channel via a webhook configured for github-formatted payloads (url ending in `/github`). - discordbot_execute_slack_compatible_webhook(text?: string, wait?: boolean, icon_url?: string, username?: string, thread_id?: string, webhook_id: string, attachments?: object[], webhook_token: string) — Sends richly formatted messages to discord via its slack-compatible webhook endpoint; requires at least one of `text` or `attachments` and adherence to content limits. - discordbot_execute_webhook(wait?: boolean, thread_id?: string, webhook_id: string, webhook_token: string) — Executes a discord webhook to send messages, embeds, or interactive components to a specific discord channel or thread. - discordbot_follow_channel(channel_id: string, webhook_channel_id: string) — Follows a specified announcement channel (`channel id`), relaying its messages to `webhook channel id` in the current server; requires 'manage webhooks' permission in the current server and that it ha - discordbot_get_active_guild_threads(guild_id: string) — Retrieves all currently active and visible threads within a specified discord guild, excluding archived or hidden threads. - discordbot_get_application(application_id: string) — Retrieves the full details of a discord application using its unique `application id`. - discordbot_get_application_command(command_id: string, application_id: string) — Fetches the details of a specific, existing application command, identified by its application snowflake id and command snowflake id. - discordbot_get_application_role_connections_metadata(application_id: string) — Retrieves all role connection metadata records for a given discord application id; an empty list is returned if none are configured. - discordbot_get_application_user_role_connection(application_id: string) — Fetches the role connection object for the current user for a specified discord application. - discordbot_get_auto_moderation_rule(rule_id: string, guild_id: string) — Retrieves the complete configuration details of a specific auto-moderation rule within a discord guild for inspection or verification. - discordbot_get_bot_gateway() — Retrieves the wss url, recommended shard count, and session start limits, which are prerequisite for a bot to connect to the discord gateway and receive events. - discordbot_get_channel(channel_id: string) — Retrieves detailed metadata for a specific discord channel using its `channel id`, which must be a valid and accessible channel id; note that this action returns only channel metadata, not message con - discordbot_get_gateway() — Retrieves the websocket url to connect to discord's gateway for receiving real-time events. - discordbot_get_guild(guild_id: string, with_counts?: boolean) — Retrieves detailed information for a specified discord guild (server) by its `guild id`, optionally including approximate member and presence counts if `with counts` is true. - discordbot_get_guild_application_command(guild_id: string, command_id: string, application_id: string) — Fetches detailed information for a specific application command within a discord guild, identified by `application id`, `guild id`, and `command id`. - discordbot_get_guild_application_command_permissions(guild_id: string, command_id: string, application_id: string) — Fetches the permissions for a specific application command within a guild, used to inspect its current access settings. - discordbot_get_guild_ban(user_id: string, guild_id: string) — Fetches the ban details for a specific user in a discord guild, if that user is currently banned. - discordbot_get_guild_emoji(emoji_id: string, guild_id: string) — Retrieves details for a specific custom emoji within a specified discord guild, requiring valid and accessible guild and emoji ids. - discordbot_get_guild_member(user_id: string, guild_id: string) — Retrieves detailed information for a specific member of a discord guild, provided the bot belongs to the guild and has necessary permissions (e.g., guild members intent). - discordbot_get_guild_new_member_welcome(guild_id: string) — Retrieves the configured new member welcome screen for a discord guild, detailing the welcome message, suggested member actions, and resource channels. - discordbot_get_guild_preview(guild_id: string) — Fetches a public preview of a discord guild by its id, if the guild has the preview feature enabled. - discordbot_get_guild_scheduled_event(guild_id: string, with_user_count?: boolean, guild_scheduled_event_id: string) — Retrieves a specific scheduled event from a discord guild by its id, optionally including the count of subscribed users. - discordbot_get_guild_sticker(guild_id: string, sticker_id: string) — Retrieves a specific sticker from a discord guild using the guild and sticker ids; requires the sticker to exist in the guild. - discordbot_get_guild_template(code: string) — Retrieves the complete structure and details of a discord guild template using its unique code; the code must be valid and refer to an existing, accessible template. - discordbot_get_guild_vanity_url(guild_id: string) — Fetches the vanity url, including the invite `code` and its `uses` count, for a given discord `guild id`, which must correspond to an existing guild. - discordbot_get_guild_webhooks(guild_id: string) — Retrieves all webhook objects for a specified discord guild; requires 'manage webhooks' permission for the authenticated entity. - discordbot_get_guild_welcome_screen(guild_id: string) — Retrieves the configured welcome screen for a specific discord guild that has the 'community' feature enabled. - discordbot_get_guild_widget(guild_id: string) — Retrieves the public json widget data for a discord guild, if the widget is enabled for that guild. - discordbot_get_guild_widget_settings(guild_id: string) — Retrieves the widget settings for a specified discord guild, indicating if the widget is enabled and its configured channel id; requires a valid `guild id`. - discordbot_get_guilds_onboarding(guild_id: string) — Retrieves the onboarding settings for a specified discord guild, including prompts, options, default channels, and enabled status, to examine its new member guidance process when the guild id is known - discordbot_get_message(channel_id: string, message_id: string) — Retrieves a specific message from a discord channel, identified by `channel id` and `message id`, if the channel and message exist and are accessible. - discordbot_get_my_application() — Retrieves detailed information about the current authenticated discord application. - discordbot_get_my_oauth2_application() — Retrieves detailed information about the oauth2 application associated with the current authentication; cannot query other applications. - discordbot_get_original_webhook_message(thread_id?: string, webhook_id: string, webhook_token: string) — Fetches the original, unedited message posted by a specific discord webhook, requiring a message to have been previously sent by this webhook and to exist in the specified thread if `thread id` is pro - discordbot_get_public_keys() — Retrieves discord's oauth2 public keys (jwk format) for verifying access tokens; keys may rotate, so refresh caches periodically. - discordbot_get_stage_instance(channel_id: string) — Gets the active stage instance for a given stage channel id. - discordbot_get_sticker(sticker_id: string) — Retrieves a specific discord sticker by its unique id. - discordbot_get_thread_member(user_id: string, channel_id: string, with_member?: boolean) — Retrieves a member from a specified thread using their user id, optionally including the full guild member object. - discordbot_get_user(user_id: string) — Fetches public information for a discord user, requiring a valid and existing user id (snowflake). - discordbot_get_webhook(webhook_id: string) — Retrieves detailed information for an existing discord webhook, identified by its unique id, to verify settings or manage the webhook. - discordbot_get_webhook_by_token(webhook_id: string, webhook_token: string) — Fetches a discord webhook's configuration details (e.g., name, avatar, channel id) using its id and token; this excludes message history or usage statistics. - discordbot_get_webhook_message(thread_id?: string, message_id: string, webhook_id: string, webhook_token: string) — Retrieves a specific message previously sent by a discord webhook using its `message id`, requiring `thread id` if the message is part of a thread. - discordbot_invite_resolve(code: string, with_counts?: boolean, guild_scheduled_event_id?: string) — Resolves a discord invite code to get its details, optionally including member counts or data for a specific guild scheduled event; visibility of some details may depend on bot permissions. - discordbot_invite_revoke(code: string) — Revokes a discord server invite using its unique code, permanently preventing new joins via this link (does not affect existing members); requires 'manage server' or 'manage invites' permissions on th - discordbot_join_thread(channel_id: string) — Joins the authenticated user to a thread specified by `channel id`; use this when the user is not already a member, for archived threads, or for threads requiring explicit joining, provided the thread - discordbot_leave_guild(guild_id: string) — Enables the authenticated user to leave a specified discord guild of which they are a member but not the owner; this action is irreversible. - discordbot_leave_thread(channel_id: string) — Removes the currently authenticated user from a specified, existing, and accessible discord thread of which they are currently a member. - discordbot_list_application_commands(application_id: string, with_localizations?: boolean) — Fetches all global application commands for the specified discord application id; does not fetch guild-specific commands. - discordbot_list_auto_moderation_rules(guild_id: string) — Fetches all auto moderation rules for a specified discord guild to review or audit its configuration; requires `view audit log` permissions and the action does not modify rules. - discordbot_list_channel_invites(channel_id: string) — Fetches all active invites for a given discord channel id (read-only), requiring channel invite view permissions; response object structures may vary. - discordbot_list_channel_webhooks(channel_id: string) — Fetches detailed information for all webhooks in a given valid discord channel, useful for review or auditing purposes. - discordbot_list_guild_application_command_permissions(guild_id: string, application_id: string) — Call this action to retrieve all explicitly set guild-level permission settings for all commands of a specific application within a given guild, typically for auditing or troubleshooting command acces - discordbot_list_guild_application_commands(guild_id: string, application_id: string, with_localizations?: boolean) — Fetches all application command definitions (slash, user, and message types) for a specific application within a given discord guild, optionally including localizations; does not return permissions or - discordbot_list_guild_audit_log_entries(after?: string, limit?: integer, before?: string, user_id?: string, guild_id: string, target_id?: string, action_type?: integer) — Retrieves audit log entries (e.g., message deletions, member kicks/bans, role changes) for a specified discord guild, requiring 'view audit log' permission. - discordbot_list_guild_bans(after?: string, limit?: integer, before?: string, guild_id: string) — Fetches a list of users banned from a specified discord guild; `before`/`after` parameters require user ids from previous results for correct pagination. - discordbot_list_guild_channels(guild_id: string) — Fetches all channels (e.g., text, voice, category, threads) and their structural information for a specified discord guild id; does not include message content. - discordbot_list_guild_emojis(guild_id: string) — Fetches all custom emoji objects for a specified discord guild if the bot has access; returns only custom guild emojis, not standard unicode or nitro emojis. - discordbot_list_guild_integrations(guild_id: string) — Lists all integration objects for a specified discord guild. - discordbot_list_guild_invites(guild_id: string) — Retrieves all currently active invite codes for a specified discord guild, typically for administration, analytics, or managing guild invitations. - discordbot_list_guild_members(after?: integer, limit?: integer, guild_id: string) — Retrieves members for a discord guild; requires a valid guild id for an existing guild. - discordbot_list_guild_roles(guild_id: string) — Fetches all roles in a discord guild, providing details for each role but not user assignments; `guild id` must be valid. - discordbot_list_guild_scheduled_event_users(after?: string, limit?: integer, before?: string, guild_id: string, with_member?: boolean, guild_scheduled_event_id: string) — Fetches users who have expressed interest in a specific scheduled event, requiring valid guild and event ids. - discordbot_list_guild_scheduled_events(guild_id: string, with_user_count?: boolean) — Retrieves a list of scheduled events for a specified discord guild, optionally including subscribed user counts, provided the authenticated user/bot has access to the guild. - discordbot_list_guild_stickers(guild_id: string) — Retrieves all custom sticker objects for a discord guild; does not include standard/nitro stickers. - discordbot_list_guild_templates(guild_id: string) — Retrieves all guild templates for an existing discord guild, specified by its id. - discordbot_list_guild_voice_regions(guild_id: string) — Fetches a list of available voice regions for a specified discord guild. - discordbot_list_message_reactions_by_emoji(after?: string, limit?: integer, channel_id: string, emoji_name: string, message_id: string) — Fetches a list of users who reacted to a specific message with a given emoji in a discord channel; retrieves users for one emoji at a time. - discordbot_list_messages(after?: string, limit?: integer, around?: string, before?: string, channel_id: string) — Retrieves historical messages from a specified, accessible discord channel, typically newest first; for real-time messages, use discord's websocket gateway api. - discordbot_list_my_private_archived_threads(limit?: integer, before?: string, channel_id: string) — Retrieves private archived threads from a specified channel that the current user is a member of. - discordbot_list_pinned_messages(channel_id: string) — Retrieves all currently pinned messages from a discord channel using its valid, existing id; typically limited to 50 messages, and no history of past pins is returned. - discordbot_list_private_archived_threads(limit?: integer, before?: string, channel_id: string) — Lists a channel's private archived threads, sorted by most recent archival, requiring view access to them. - discordbot_list_public_archived_threads(limit?: integer, before?: string, channel_id: string) — Lists public archived threads in an accessible discord channel, returning an empty list if none exist; does not list private or active threads. - discordbot_list_sticker_packs() — Fetches sticker packs available to nitro subscribers on discord, excluding custom or guild-specific ones. - discordbot_list_thread_members(after?: string, limit?: integer, channel_id: string, with_member?: boolean) — Retrieves members of a specified discord thread, with an option to include full guild member objects for each. - discordbot_list_voice_regions() — Lists all available discord voice regions with their id, name, operational status (custom, deprecated, optimal), noting that availability may vary by server. - discordbot_pin_message(channel_id: string, message_id: string) — Pins a message in a discord channel for increased visibility, if the channel's pin limit (typically 50) is not exceeded. - discordbot_preview_prune_guild(days?: integer, guild_id: string, include_roles?: null[]) — Previews the number of members that would be pruned from a discord guild based on inactivity days and optional roles; this action only returns a count and does not remove members. - discordbot_prune_guild(days?: integer, guild_id: string, include_roles?: string[], compute_prune_count?: boolean) — Removes inactive members from a discord guild, requiring 'kick members' permission; use `compute prune count=true` to preview results before actual removal. - discordbot_put_guilds_onboarding(mode?: null, enabled?: boolean, prompts?: object[], guild_id: string, default_channel_ids?: string[]) — Configures or updates a discord guild's new member onboarding flow, including defining prompts with options, assigning roles/channels, setting default channels, and managing the flow's active status. - discordbot_search_guild_members(limit: integer, query: string, guild_id: string) — Searches for members in a specific discord guild, allowing filtering by a query string. - discordbot_set_channel_permission_overwrite(deny?: integer, type: integer, allow?: integer, channel_id: string, overwrite_id: string) — Updates or creates a permission overwrite for a role (type `0`) or member (type `1`) specified by `overwrite id` within an existing discord channel (`channel id`), using `allow` and `deny` bitwise val - discordbot_sync_guild_template(code: string, guild_id: string) — Synchronizes a guild template (by `code`) with its source guild (`guild id`), updating it to match the source's current configuration; this does not affect guilds already created from this template. - discordbot_trigger_typing_indicator(channel_id: string) — Shows the bot is 'typing' in a discord channel, typically before sending a message; indicator stops after 10 seconds or upon message send, so use when actively preparing a response. - discordbot_unban_user_from_guild(user_id: string, guild_id: string) — Revokes a ban for a user from a discord guild, allowing them to rejoin if they choose. - discordbot_unpin_message(channel_id: string, message_id: string) — Unpins a message that is currently pinned in a specified discord channel; the message itself is not deleted. - discordbot_update_application(icon?: string, tags?: string[], type?: null, flags?: integer, team_id?: null, cover_image?: string, application_id: string, install_params?: null, max_participants?: integer, custom_install_url?: string, description__default?: string, interactions_endpoint_url?: string, description__localizations?: object, role_connections_verification_url?: string) — Updates a discord application's settings using its `application id`; `max participants` requires the `application embedded activities` flag, and `team id`, `type`, or `install params` must be `null` i - discordbot_update_application_command(name?: string, options?: object[], command_id: string, description?: string, dm_permission?: boolean, application_id: string, name_localizations?: object, description_localizations?: object, default_member_permissions?: integer) — Updates specified properties of a discord application command (e.g., name, description); omitted properties remain unchanged, and the `options` field, if provided, overwrites all existing options. - discordbot_update_application_user_role_connection(metadata?: object, platform_name?: string, application_id: string, platform_username?: string) — Updates the authorized user's role connection for a specific application, which must have a linked role connection configured. - discordbot_update_auto_moderation_rule(rule_id: string, guild_id: string) — Updates an existing auto-moderation rule, identified by `guild id` and `rule id` in the path, with new values for rule properties (e.g., `name`, `event type`) provided in the request body. - discordbot_update_channel(channel_id: string) — Partially updates an existing discord channel, using `channel id` for identification and properties in the request body for changes, ensuring these properties are applicable to the channel's type. - discordbot_update_guild(icon?: string, name?: string, banner?: string, region?: string, splash?: string, features?: string[], guild_id: string, owner_id?: string, afk_timeout?: null, description?: string, home_header?: string, afk_channel_id?: null, discovery_splash?: string, preferred_locale?: null, rules_channel_id?: null, system_channel_id?: null, verification_level?: null, system_channel_flags?: integer, explicit_content_filter?: null, safety_alerts_channel_id?: null, public_updates_channel_id?: null, premium_progress_bar_enabled?: boolean, default_message_notifications?: null) — Updates settings for a discord guild, such as its name, region, or icon; transferring ownership requires being the current owner, and managing features or certain visual elements (e.g., banners, splas - discordbot_update_guild_application_command(name?: string, options?: object[], guild_id: string, command_id: string, description?: string, dm_permission?: boolean, application_id: string, name_localizations?: object, description_localizations?: object, default_member_permissions?: integer) — Updates a specific discord application command's properties (like name, description, options, or permissions) within a given guild; `application id`, `guild id`, and `command id` must refer to valid e - discordbot_update_guild_emoji(name?: string, roles?: null[], emoji_id: string, guild_id: string) — Updates a custom emoji's name and/or role restrictions in a discord guild; cannot create or delete emojis, and role updates for managed emojis may be restricted by their integration. - discordbot_update_guild_member(deaf?: boolean, mute?: boolean, nick?: string, flags?: integer, roles?: null[], user_id: string, guild_id: string, channel_id?: null, communication_disabled_until?: string) — Updates a guild member's attributes (e.g., nickname, roles, voice state); if moving via `channel id`, it must be a valid voice channel in the guild. - discordbot_update_guild_role(icon?: string, name?: string, color?: integer, hoist?: boolean, role_id: string, guild_id: string, mentionable?: boolean, permissions?: integer, unicode_emoji?: string) — Updates a discord guild role's attributes (name, permissions, color, etc.); requires `manage roles` permission, and the `role icons` guild feature if using `unicode emoji`; unspecified attributes rema - discordbot_update_guild_scheduled_event(guild_id: string, guild_scheduled_event_id: string) — Updates attributes such as name, description, schedule, status, or location for an existing discord guild event; only fields in the request body are changed. - discordbot_update_guild_sticker(name?: string, tags?: string, guild_id: string, sticker_id: string, description?: string) — Modifies a guild sticker's name, description, or tags, requiring 'manage emojis and stickers' permission. - discordbot_update_guild_template(code: string, name?: string, guild_id: string, description?: string) — Updates a discord guild template's `name` and/or `description` given its `guild id` and template `code`; omitted fields retain current values, and an empty string for `description` clears it. - discordbot_update_guild_welcome_screen(enabled?: boolean, guild_id: string, description?: string, welcome_channels?: object[]) — Updates a guild's welcome screen, including its description, enabled status, and up to 5 welcome channels; when specifying channel emojis, use `emoji name` as `emoji id` must be `null` if sent. - discordbot_update_guild_widget_settings(enabled?: boolean, guild_id: string, channel_id?: null) — Updates an existing discord guild's widget settings, such as its enabled state or clearing its invite channel. - discordbot_update_message(flags?: integer, embeds?: object[], content?: string, channel_id: string, components?: object[], message_id: string, attachments?: object[], sticker_ids?: string[], allowed_mentions?: null) — Updates a message previously sent by the bot in a discord channel, by modifying its content, embeds, components, flags, or attachment metadata (new attachments cannot be uploaded); only provide fields - discordbot_update_my_application(icon?: string, tags?: string[], type?: null, flags?: integer, team_id?: null, cover_image?: string, install_params?: null, max_participants?: integer, custom_install_url?: string, description__default?: string, interactions_endpoint_url?: string, description__localizations?: object, role_connections_verification_url?: string) — Modifies settings for the current authenticated discord application (e.g., description, icon, interaction urls); setting `team id` to `null` (none) transfers team ownership, while `null` (none) for `t - discordbot_update_my_guild_member(nick?: string, guild_id: string) — Modifies the nickname of the currently authenticated user within a specified discord guild. - discordbot_update_my_user(avatar?: string, username: string) — Updates the current authenticated user's discord username and/or avatar. - discordbot_update_original_webhook_message(flags?: integer, embeds?: object[], content?: string, thread_id?: string, components?: object[], webhook_id: string, attachments?: object[], webhook_token: string, allowed_mentions?: null) — Updates the original editable message previously sent by a webhook, allowing partial modification of its content (max 2000 chars), embeds (max 10), attachments (kept by `id`, metadata updatable), comp - discordbot_update_self_voice_state(guild_id: string, suppress?: boolean, channel_id?: null, request_to_speak_timestamp?: string) — Updates the current user's voice state in a guild (e.g., mute, request to speak), and can explicitly disconnect the user from voice; this action does not support joining or switching voice channels. - discordbot_update_voice_state(user_id: string, guild_id: string, suppress?: boolean, channel_id?: null) — Updates a user's voice state in a discord guild, such as toggling server mute or disconnecting from a voice channel; requires `mute members` permission to change mute status or `move members` to disco - discordbot_update_webhook(name?: string, avatar?: string, channel_id?: null, webhook_id: string) — Updates properties (e.g., name, avatar, channel id) of an existing discord webhook; the webhook and any new channel (if specified) must exist, with the new channel being in the same server. - discordbot_update_webhook_by_token(name?: string, avatar?: string, webhook_id: string, webhook_token: string) — Updates the default name and/or avatar for an existing discord webhook, using its id and token. - discordbot_update_webhook_message(flags?: integer, embeds?: object[], content?: string, thread_id?: string, components?: object[], message_id: string, webhook_id: string, attachments?: object[], webhook_token: string, allowed_mentions?: null) — Updates a message previously sent by the *same* webhook, allowing partial modification of content, embeds, attachments, or components; will not edit user/bot messages. ## Links Docs: https://mcp.ai/docs/mcps/discordbot Website: https://mcp.ai/mcps/discordbot