discord_add_my_message_reaction
Add a reaction to a message as the bot user. Specify unicode characters or custom emojis as name:id. Adding the same reaction twice is not an error. To see who already reacted, use discord_list_message_reactions_by_emoji; to remove this reaction later, use discord_delete_my_message_reaction. Bot permissions it may need: View Channel, Read Message History, Add Reactions, Use External Emojis. Changes Discord data; safe to retry.
输入参数emoji必填channel_id必填message_id必填
discord_add_thread_member
Add another user to a thread by user ID. The thread must not be archived, and the call succeeds without change if the user is already a member. To have the bot join a thread instead, use discord_join_thread; to remove a member, use discord_delete_thread_member. Bot permissions it may need: Send Messages in Threads. Changes Discord data; safe to retry.
输入参数user_id必填channel_id必填
discord_bulk_delete_messages
Delete 2 to 100 messages from a guild channel in one request. The whole request fails if any message is older than 14 days or any message ID is duplicated. To delete a single message instead use discord_delete_message. Bot permissions it may need: View Channel, Manage Messages. Destructive: the user is asked to approve the exact change before it runs.
输入参数reasonchannel_id必填message_ids必填
Pin a message in a channel or thread so it appears in the channel's pinned list. Use it to keep an important message easy to find; use discord_list_pins to see what is pinned and discord_delete_pin to unpin. Returns pinned: true with the channel and message IDs. Bot permissions it may need: View Channel, Pin Messages. Changes Discord data; safe to retry.
输入参数reasonchannel_id必填message_id必填
Create a new thread without a starter message, or start a new post in a forum or media channel. Type 10 is an announcement thread (announcement channels only), 11 is a public thread visible to anyone who can view the parent channel, and 12 is a private thread visible only to invited members and moderators; type defaults to 12 when omitted. In forum or media channels pass message to create the first post. Returns the created thread. Bot permissions it may need: Create Public Threads, Create Private Threads, Send Messages, View Channel, Embed Links. Changes Discord data and is not idempotent; check the result before retrying.
输入参数name必填typereasonmessageinvitablechannel_id必填applied_tagsrate_limit_per_userauto_archive_duration
discord_create_thread_from_message
Create a new public or announcement thread from an existing message in a text or announcement channel. The new thread gets the same ID as the source message, so a message can have only one thread. Not supported in forum or media channels. Returns the created thread. To create a standalone thread without a starter message, use discord_create_thread. Bot permissions it may need: Create Public Threads, View Channel, Read Message History. Changes Discord data and is not idempotent; check the result before retrying.
输入参数name必填reasonchannel_id必填message_id必填rate_limit_per_userauto_archive_duration
discord_crosspost_message
Publish a message posted in an announcement channel (type 5) so Discord copies it into every channel that follows that channel. Use it after posting with discord_send_message in an announcement channel; regular text channels cannot be crossposted, and a message can be published only once, so a second call fails. Manage Messages is only needed for messages the bot did not send. Returns the published message. Bot permissions it may need: View Channel, Send Messages, Manage Messages. Changes Discord data and is not idempotent; check the result before retrying.
输入参数channel_id必填message_id必填
discord_delete_all_message_reactions
Delete all reactions across all emojis and users on a single message. This permanently clears the reaction list for everyone. To remove only a single emoji type across users, use discord_delete_all_message_reactions_by_emoji; to remove only the bot's own reaction, use discord_delete_my_message_reaction. Bot permissions it may need: View Channel, Read Message History, Manage Messages. Destructive: the user is asked to approve the exact change before it runs.
输入参数channel_id必填message_id必填
discord_delete_all_message_reactions_by_emoji
Delete all reactions for one specified emoji on a message across every user who reacted. To remove every emoji reaction at once, use discord_delete_all_message_reactions; to remove only the bot's own reaction, use discord_delete_my_message_reaction. Bot permissions it may need: View Channel, Read Message History, Manage Messages. Destructive: the user is asked to approve the exact change before it runs.
输入参数emoji必填channel_id必填message_id必填
Permanently delete a single message from a channel or thread. To delete between 2 and 100 recent messages at once use discord_bulk_delete_messages. Returns a confirmation object with the deleted message and channel IDs. Bot permissions it may need: View Channel, Manage Messages. Destructive: the user is asked to approve the exact change before it runs.
输入参数reasonchannel_id必填message_id必填
discord_delete_my_message_reaction
Delete the bot's own reaction for a specific emoji on a message. This only removes the bot's reaction and does not affect other users. To delete another user's reaction, use discord_delete_user_message_reaction; to add a reaction, use discord_add_my_message_reaction. Bot permissions it may need: View Channel, Read Message History. Changes or removes existing Discord data without an approval prompt.
输入参数emoji必填channel_id必填message_id必填
Unpin a pinned message from a channel or thread. To add a pin use discord_create_pin, and to list all current pinned messages use discord_list_pins. Returns a confirmation object with the unpinned message and channel IDs. Bot permissions it may need: View Channel, Pin Messages. Changes or removes existing Discord data without an approval prompt.
输入参数reasonchannel_id必填message_id必填
discord_delete_thread_member
Remove another user from a thread by user ID. Needs Manage Threads, or being the creator of a private thread; the thread must not be archived. To have the bot leave a thread instead, use discord_leave_thread; to add someone to a thread, use discord_add_thread_member. Bot permissions it may need: Manage Threads. Destructive: the user is asked to approve the exact change before it runs.
输入参数user_id必填channel_id必填
discord_delete_user_message_reaction
Delete another user's reaction for a specific emoji on a message. This removes only the target user's reaction, leaving all other reactions untouched. To remove the bot's own reaction without moderation permissions, use discord_delete_my_message_reaction; to remove all reactions of this emoji, use discord_delete_all_message_reactions_by_emoji. Bot permissions it may need: View Channel, Read Message History, Manage Messages. Destructive: the user is asked to approve the exact change before it runs.
输入参数emoji必填user_id必填channel_id必填message_id必填
discord_download_attachment
Download a message attachment from Discord into the local download folder (DISCORD_MCP_DOWNLOAD_DIR, default ~/Downloads/discord-mcp). Requires the message ID and the specific attachment ID (attachment_id comes from the attachments of discord_get_message). Returns local file path, size, content type and SHA-256 hash. Bot permissions it may need: View Channel, Read Message History. Writes a file to the local download folder and changes nothing in Discord.
输入参数channel_id必填message_id必填attachment_id必填
Edit a message the bot sent: replace its content or embeds, add uploaded files, and change the description or spoiler flag of existing attachments. Existing attachments are always kept; they cannot be removed with this tool. Discord only lets a bot edit its own messages; to post a new message use discord_send_message. Returns the updated message. Bot permissions it may need: View Channel, Read Message History, Attach Files, Embed Links. Changes or removes existing Discord data without an approval prompt.
输入参数embedscontentadd_fileschannel_id必填message_id必填allowed_mentionsupdate_attachments
End a poll the bot created before its duration runs out. Discord does not let a bot end polls posted by other users. Returns the message with the poll; Discord finishes the final vote count in the background, so read the final tally later with discord_get_message once poll.results.is_finalized is true. Bot permissions it may need: View Channel. Changes or removes existing Discord data without an approval prompt.
输入参数channel_id必填message_id必填
Fetch one message by ID from a channel or thread, with its author, content, attachments, embeds, reactions and poll. Use it when you already have the message ID; to read recent history use discord_list_messages, and to find messages by text use discord_search_guild_messages. Bot permissions it may need: View Channel, Read Message History. Read-only; safe to retry.
输入参数channel_id必填message_id必填
Fetch the bot's own user object: id, username, global name, avatar, banner and flags. Use it to confirm which account the token belongs to; to look up any other user by ID use discord_get_user. Returns the user object. No special bot permissions. Read-only; safe to retry.
无需输入参数。
discord_get_thread_member
Fetch membership details for one user in a thread, including their join timestamp and flags. Fails with 404 if the user is not a member. Set with_member to true to include full guild member details. To list all members of a thread, use discord_list_thread_members. No special bot permissions. Read-only; safe to retry.
输入参数user_id必填channel_id必填with_member
Fetch any Discord user by user ID: username, global name, avatar, banner, accent color and whether the account is a bot. Use it to resolve an ID taken from a message author, a mention or a poll voter; for the bot's own account use discord_get_my_user, and for guild data such as nickname, roles and join date use discord_get_guild_member (members toolset). Returns the user object. No special bot permissions. Read-only; safe to retry.
输入参数user_id必填
Add the bot user to a thread. The thread must not be archived. To remove the bot from a thread, use discord_leave_thread; to add another user, use discord_add_thread_member. No special bot permissions. Changes Discord data; safe to retry.
输入参数channel_id必填
Remove the authenticated bot from a guild by server ID. The bot ceases to be a member immediately and requires a new invite URL with bot scopes to rejoin. Use this when the bot is instructed to depart a server; to kick another member use discord_delete_guild_member (members toolset). Returns deleted: true and the guild ID. No special bot permissions. Destructive: the user is asked to approve the exact change before it runs.
输入参数guild_id必填
Remove the bot user from a thread. If the thread is private, the bot must be re-added or reinvited to rejoin. To join a thread, use discord_join_thread; to remove another user, use discord_delete_thread_member. No special bot permissions. Changes or removes existing Discord data without an approval prompt.
输入参数channel_id必填
discord_list_active_guild_threads
List every active (unarchived) thread in a guild, public and private, newest ID first. Returns threads and the bot's thread member entry for each one it has joined. To find archived threads use discord_list_public_archived_threads or discord_list_private_archived_threads. No special bot permissions. Read-only; safe to retry.
输入参数guild_id必填
discord_list_message_reactions_by_emoji
List the users who reacted to a message with one emoji, ordered by user ID. Returns users and next_after; pass it as after to get the next page, and stop when a page comes back empty. To add the bot's own reaction, use discord_add_my_message_reaction. Bot permissions it may need: View Channel, Read Message History. Read-only; safe to retry.
输入参数typeafteremoji必填limitchannel_id必填message_id必填
List messages from a channel or thread, newest first. Provide before, after, or around snowflake IDs to paginate or center the search window. To fetch a specific message by ID use discord_get_message, and to search messages by text or author across an entire server use discord_search_guild_messages. Page older messages with before=next_before. Bot permissions it may need: View Channel, Read Message History. Read-only; safe to retry.
输入参数afterlimitaroundbeforechannel_id必填
discord_list_my_connections
List the external accounts (for example GitHub, Twitch, YouTube, Steam) linked to the account behind the credential, with each connection's name, type, verified flag and visibility. Discord requires an OAuth2 token with the connections scope for this endpoint, so a plain bot token can be refused; to list the guilds the bot is in use discord_list_my_guilds. Returns the connections array. No special bot permissions. Read-only; safe to retry.
无需输入参数。
List the Discord guilds (servers) the authenticated bot account belongs to. Use this to discover available guild IDs before calling guild-scoped tools, or to check membership counts. Page older results with before and newer results with after. Under DISCORD_MCP_ALLOWED_GUILDS, paging parameters must be omitted; every allowed guild is returned in a single call. Returns partial guild objects plus next_before and next_after cursors; both are set only when the page is full, so a full page can be followed by an empty one, and both are null when the page holds fewer guilds than limit. No special bot permissions. Read-only; safe to retry.
输入参数afterlimitbeforewith_counts
discord_list_my_private_archived_threads
List private archived threads within a channel that the bot user has joined. Returns thread objects, thread member entries, and a next_before cursor. Page older threads in descending order using before=next_before. To list all private archived threads in the channel regardless of bot participation, use discord_list_private_archived_threads. Bot permissions it may need: Read Message History. Read-only; safe to retry.
输入参数limitbeforechannel_id必填
List the pinned messages of a channel or thread, newest pin first, each with its pin time. To pin a message use discord_create_pin, and to unpin use discord_delete_pin. Page with before=next_before while has_more is true. Bot permissions it may need: View Channel, Read Message History. Read-only; safe to retry.
输入参数limitbeforechannel_id必填
discord_list_poll_answer_voters
Get a paginated list of users that voted for a specific answer on a poll message. Use it after fetching a poll message with discord_get_message to see who selected each answer. Page subsequent voters with after=next_after. Bot permissions it may need: View Channel, Read Message History. Read-only; safe to retry.
输入参数afterlimitanswer_id必填channel_id必填message_id必填
discord_list_private_archived_threads
List private archived threads in a channel. Returns thread objects, thread member entries, and a next_before cursor. Page older threads in descending order by archive timestamp using before=next_before. To list public archived threads instead, use discord_list_public_archived_threads. Bot permissions it may need: Read Message History, Manage Threads. Read-only; safe to retry.
输入参数limitbeforechannel_id必填
discord_list_public_archived_threads
List public archived threads in a channel. Returns thread objects, thread member entries, and a next_before cursor. Page older threads in descending order by archive timestamp using before=next_before. To list private archived threads instead, use discord_list_private_archived_threads. Bot permissions it may need: Read Message History. Read-only; safe to retry.
输入参数limitbeforechannel_id必填
discord_list_thread_members
List members of a thread. Note that after and limit only apply when with_member is true, and Discord restricts this endpoint by the Server Members privileged intent. Returns thread members and next_after; page forward using after=next_after and stop when a page comes back empty. To fetch a single member, use discord_get_thread_member. No special bot permissions. Read-only; safe to retry.
输入参数afterlimitchannel_id必填with_member
discord_search_guild_messages
Search messages across a whole guild by text and filters (author, channel, mentions, attachments, links, embeds, pinned state, message ID range). Use discord_list_messages to read one channel in order. Results come back newest first by default; a page can hold fewer than limit, so page with offset=next_offset until it is null. A new or busy guild index can answer "not ready"; the tool then fails with a retryable error that carries the retry delay in seconds. Results omit reactions. Bot permissions it may need: View Channel, Read Message History. Read-only; safe to retry.
输入参数hassloplimitmax_idmin_idoffsetpinnedcontentsort_byguild_id必填mentionsauthor_id另有 13 个
Search threads in a channel by name, tags, and time bounds. New threads take about 30 seconds to appear in search results. Returns matched threads, first messages, and member objects. Page results with offset=next_offset. To browse active threads without indexing delays, use discord_list_active_guild_threads. Bot permissions it may need: Read Message History. Read-only; safe to retry.
输入参数tagnamesloplimitmax_idmin_idoffsetsort_byarchivedchannel_id必填sort_ordertag_setting
Send a message to a channel or thread. It can carry text, embeds, a poll, files from the local machine, a reply to an existing message, stickers (up to 3) and flags (suppress embeds, silent). At least one of content, embeds, sticker_ids, files or poll is required. Mentions do not ping unless allowed_mentions permits it. To change a message already sent use discord_edit_message. A retry without the same nonce posts a second message. Bot permissions it may need: View Channel, Send Messages, Attach Files, Embed Links, Send Polls, Send TTS Messages, Read Message History, Send Messages in Threads, Use External Stickers, Mention Everyone. Changes Discord data and is not idempotent; check the result before retrying.
输入参数ttspollfilesflagsnonceembedscontentchannel_id必填sticker_idsallowed_mentionsmessage_reference
discord_trigger_typing_indicator
Show the typing indicator in a channel or thread for 10 seconds, for a bot that needs a few seconds to prepare an answer. Discord advises most bots not to use it. To post the reply use discord_send_message. Bot permissions it may need: View Channel, Send Messages, Send Messages in Threads. Changes Discord data and is not idempotent; check the result before retrying.
输入参数channel_id必填
Update the authenticated bot's global username, avatar image, or banner image. Changes apply globally across every server the bot is in. Changing the username can randomize the discriminator. To change the bot's nickname or avatar in one guild only, use discord_update_my_guild_member (members toolset). Returns the updated bot user object. No special bot permissions. Destructive: the user is asked to approve the exact change before it runs.
输入参数avatarbannerusername