Skip to content
Agentmart
Submit a tool

Discord MCP

A lightweight, multi-guild Discord MCP server with 95+ tools

Connector by PaSympa · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 29
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/pasympa-discord-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

A lightweight, multi-guild Discord MCP server with 95+ tools

Use cases: team-chat

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
34 read · 44 write · 21 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 99

Read from the source code; the running server may list different tools.

Read 34 · Look things up without changing anything.

  • discord_audit_permissions
  • discord_fetch_pinned_messages
  • discord_fetch_webhook_message
  • discord_find_channel_by_name
  • discord_get_audit_log
  • discord_get_channel_permissions
  • discord_get_event_subscribers
  • discord_get_forum_channels
  • discord_get_forum_post
  • discord_get_forum_tags
  • discord_get_guild_info
  • discord_get_invite
Show 22 more tools
  • discord_get_member_info
  • discord_get_membership_screening
  • discord_get_message_attachments
  • discord_get_reactions
  • discord_get_role_members
  • discord_get_scheduled_event
  • discord_get_server_stats
  • discord_list_bans
  • discord_list_channel_invites
  • discord_list_channels
  • discord_list_forum_threads
  • discord_list_guilds
  • discord_list_invites
  • discord_list_members
  • discord_list_roles
  • discord_list_scheduled_events
  • discord_list_webhooks
  • discord_read_dms
  • discord_read_messages
  • discord_search_guild_messages
  • discord_search_members
  • discord_search_messages

Write 44 · Create, change, send or run things.

  • discord_add_reaction
  • discord_add_role
  • discord_clone_channel
  • discord_create_channel
  • discord_create_event_invite
  • discord_create_forum_channel
  • discord_create_forum_post
  • discord_create_invite
  • discord_create_role
  • discord_create_scheduled_event
  • discord_create_thread
  • discord_create_webhook
Show 32 more tools
  • discord_crosspost_message
  • discord_edit_channel
  • discord_edit_dm
  • discord_edit_dm_embed
  • discord_edit_embed
  • discord_edit_message
  • discord_edit_role
  • discord_edit_scheduled_event
  • discord_edit_webhook
  • discord_edit_webhook_message
  • discord_follow_announcement_channel
  • discord_forward_message
  • discord_pin_message
  • discord_reply_dm
  • discord_reply_message
  • discord_reply_to_forum
  • discord_send_dm
  • discord_send_dm_embed
  • discord_send_embed
  • discord_send_message
  • discord_send_multiple_embeds
  • discord_send_webhook_message
  • discord_set_channel_position
  • discord_set_member_permission
  • discord_set_nickname
  • discord_set_role_icon
  • discord_set_role_permission
  • discord_set_role_position
  • discord_timeout_member
  • discord_unban_member
  • discord_update_forum_post
  • discord_update_membership_screening

Delete 21 · Delete, drop, revoke or wipe things.

  • discord_ban_member
  • discord_bulk_ban
  • discord_bulk_delete_messages
  • discord_copy_permissions
  • discord_delete_channel
  • discord_delete_dm
  • discord_delete_forum_post
  • discord_delete_invite
  • discord_delete_message
  • discord_delete_role
  • discord_delete_scheduled_event
  • discord_delete_webhook
Show 9 more tools
  • discord_delete_webhook_message
  • discord_kick_member
  • discord_lock_channel_permissions
  • discord_move_channel
  • discord_prune_members
  • discord_remove_reactions
  • discord_remove_role
  • discord_reset_channel_permissions
  • discord_set_forum_tags

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • DISCORD_TOKEN

Network hosts it talks to 2

  • github.com · found in code
  • glama.ai · found in code

Tools (99)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • discord_add_reactionAdd reaction

    Add a single emoji reaction to a message as the bot. Requires the Add Reactions and Read Message History permissions. Use discord_remove_reactions to undo. Idempotent: re-adding the bot's existing reaction has no effect.

  • discord_add_roleAdd role to member

    Assign an existing role to a member. Requires the Manage Roles permission, and the role must be below the bot's highest role. Idempotent: assigning a role the member already has has no effect. Use discord_remove_role to undo.

  • discord_audit_permissionsAudit permissionsread-only

    Generate a server-wide permission report: for every channel that has overwrites, lists each role/member and their allowed/denied permissions (entity names resolved). Read-only. Returns { channels: [...] } with channel, channelId, overwrites. Use discord_get_channel_permissions for a single channel.

  • discord_ban_memberBan membercan change or delete data

    Ban a user from the server, blocking re-entry until unbanned. Optionally bulk-deletes their recent messages. Requires the Ban Members permission, and the bot's top role must outrank the target's. Use discord_unban_member to reverse, or discord_kick_member for a non-permanent removal. The reason is recorded in the audit log.

  • discord_bulk_banBulk bancan change or delete data

    Ban many users in a single call, intended for raid mitigation. SAFE BY DEFAULT: dry_run is true unless explicitly set to false, so call it first to preview the exact list of user IDs that would be banned, then re-call with dry_run:false to actually ban them. Requires both the Ban Members and Manage Server permissions. Returns counts of banned vs failed users; Discord rejects the whole call with an error if no user could be banned. Use discord_ban_member for a single ban with finer control.

  • discord_bulk_delete_messagesBulk delete messagescan change or delete data

    Permanently delete multiple recent messages in one call. IRREVERSIBLE. SAFE BY DEFAULT: dry_run is true unless explicitly set to false, so call it first to preview, then re-call with dry_run:false to actually delete. Discord only allows bulk-deleting messages younger than 14 days; older ones are skipped. Requires the Manage Messages permission. Returns the number deleted.

  • discord_clone_channelClone channel

    Create a copy of a channel, including its name, topic, and permission overwrites (but not its messages). Requires the Manage Channels permission. Returns the cloned channel's name and ID.

  • discord_copy_permissionsCopy channel permissionscan change or delete data

    Replace the target channel's permission overwrites with a copy of the source channel's. The target's existing overwrites are overwritten. Requires the Manage Roles permission. Returns a confirmation.

  • discord_create_channelCreate channel

    Create a text channel, voice channel, or category in a server. Requires the Manage Channels permission. For forum channels use discord_create_forum_channel instead. Returns the new channel's name and ID.

  • discord_create_event_inviteCreate event invite

    Create a shareable invite URL that points to a scheduled event, so recipients land on the event when joining. Requires the Create Instant Invite permission. Returns the invite URL.

  • discord_create_forum_channelCreate forum channel

    Create a new forum channel in a server. A forum holds posts (threads) rather than a linear message feed. Requires the Manage Channels permission. Use discord_create_channel for text/voice channels instead. Returns the new channel's name and ID.

  • discord_create_forum_postCreate forum post

    Create a new post (a thread with a starter message) in a forum channel. Requires the Send Messages and Create Public Threads permissions. Use discord_reply_to_forum to add follow-up messages. Returns the new post's name and thread ID.

  • discord_create_inviteCreate invite

    Create an invite link for a channel, optionally limiting its lifetime, uses, and membership type. SECURITY: anyone with the returned link can join the server. Requires the Create Instant Invite permission. Returns the invite URL and code.

  • discord_create_roleCreate role

    Create a new role in a server. Requires the Manage Roles permission; the new role is placed below the bot's highest role. Use discord_add_role to then assign it to members. Returns the new role's name and ID.

  • discord_create_scheduled_eventCreate scheduled event

    Create a scheduled event. For 'VOICE'/'STAGE_INSTANCE' events provide channel_id; for 'EXTERNAL' events provide location AND scheduled_end_time. Requires the Manage Events permission. Returns the new event's name and ID.

Show 84 more tools
  • discord_create_threadCreate thread

    Create a thread, either branching from an existing message (pass message_id) or as a standalone thread in a text channel (omit message_id). Standalone creation requires a parent text channel and fails if channel_id is itself a thread. Requires the Create Public Threads permission. Returns the new thread's ID.

  • discord_create_webhookCreate webhook

    Create a webhook on a channel and return its ID and token. SECURITY: the returned token grants anyone the ability to post as this webhook without authentication; treat it as a secret. Requires the Manage Webhooks permission. Use the returned id+token with discord_send_webhook_message.

  • discord_crosspost_messageCrosspost message

    Publish (crosspost) a message from an Announcement channel to every server that follows it. Only works in announcement channels on a message that has not already been published. Requires the Send Messages permission (and Manage Messages for messages authored by others). Returns a confirmation.

  • discord_delete_channelDelete channelcan change or delete data

    Permanently delete a channel and all of its messages. IRREVERSIBLE. SAFE BY DEFAULT: dry_run is true unless explicitly set to false, so call it first to preview, then re-call with dry_run:false to actually delete. Requires the Manage Channels permission. An optional reason is recorded in the audit log.

  • discord_delete_dmDelete DMcan change or delete data

    Permanently delete a DM message previously sent by this bot. IRREVERSIBLE. The bot can only delete its own DM messages, not the recipient's. Returns a confirmation.

  • discord_delete_forum_postDelete forum postcan change or delete data

    Permanently delete a forum post (thread) and all its messages. IRREVERSIBLE. To merely close it without deleting, use discord_update_forum_post with archived:true. Requires the Manage Threads permission.

  • discord_delete_inviteDelete invitecan change or delete data

    Revoke an invite by its code so it can no longer be used. IRREVERSIBLE (the code is freed). Requires the Manage Channels permission (or Manage Server). The reason is recorded in the audit log.

  • discord_delete_messageDelete messagecan change or delete data

    Permanently delete one specific message. IRREVERSIBLE. The bot can always delete its own messages; deleting another user's message requires the Manage Messages permission. Use discord_bulk_delete_messages to remove many at once. An optional reason is recorded in the audit log.

  • discord_delete_roleDelete rolecan change or delete data

    Permanently delete a role from the server; it is automatically removed from every member who held it. IRREVERSIBLE. Requires the Manage Roles permission, and the role must be below the bot's highest role.

  • discord_delete_scheduled_eventDelete scheduled eventcan change or delete data

    Permanently delete a scheduled event. IRREVERSIBLE. To cancel an event while keeping a record, use discord_edit_scheduled_event with status:'CANCELED' instead. Requires the Manage Events permission.

  • discord_delete_webhookDelete webhookcan change or delete data

    Permanently delete a webhook by its ID, invalidating its token. IRREVERSIBLE: any integrations using the old token will stop working. Requires the Manage Webhooks permission.

  • discord_delete_webhook_messageDelete webhook messagecan change or delete data

    Permanently delete a message that was sent through a webhook, using the webhook's ID and token. IRREVERSIBLE. Requires the original webhook token.

  • discord_edit_channelEdit channel

    Update a channel's name, topic, slowmode, or NSFW flag. Only provided fields change; topic and slowmode apply to text channels only. Requires the Manage Channels permission. Returns a confirmation.

  • discord_edit_dmEdit DM

    Edit the text content of a DM message previously sent by this bot. Only the bot's own DM messages can be edited. Use discord_edit_dm_embed for embed messages. Returns a confirmation.

  • discord_edit_dm_embedEdit DM embed

    Replace the embed on a DM message previously sent by this bot. Only the bot's own messages can be edited. Full replace, not merge: provided fields are applied and omitted fields are dropped. Returns a confirmation.

  • discord_edit_embedEdit embed

    Replace the embed on a message previously sent by this bot. Only this bot's messages can be edited. This is a full replace, not a merge: provided fields are applied and omitted fields are dropped from the embed. Returns a confirmation.

  • discord_edit_messageEdit message

    Edit the text content of a message previously sent by this bot. Discord forbids editing other users' messages, so this fails for non-bot messages. Use discord_edit_embed for embed messages. Works in text channels and threads. Returns the edited message ID.

  • discord_edit_roleEdit role

    Update an existing role's name, color, permissions, hoist, or mentionable flag. Only provided fields change; passing permissions REPLACES the role's full permission set. Requires the Manage Roles permission, and the role must be below the bot's highest role.

  • discord_edit_scheduled_eventEdit scheduled event

    Update a scheduled event; only provided fields change. Use the status field to start ('ACTIVE'), end ('COMPLETED'), or cancel ('CANCELED') an event; Discord only allows certain status transitions. Requires the Manage Events permission.

  • discord_edit_webhookEdit webhook

    Update a webhook's name, avatar, or the channel it posts to. Only provided fields change. Requires the Manage Webhooks permission. Returns a confirmation.

  • discord_edit_webhook_messageEdit webhook message

    Edit a message previously sent through a webhook, using the webhook's ID and token. Replaces the provided fields. Requires the original webhook token. Returns a confirmation.

  • discord_fetch_pinned_messagesFetch pinned messagesread-only

    List all pinned messages in a channel. Returns { messages: [...] } with id, author, content, timestamp, pinnedAt. Read-only. Use discord_pin_message to change which messages are pinned.

  • discord_fetch_webhook_messageFetch webhook messageread-only

    Fetch a single message sent through a webhook (id, content, embed count, timestamp), using the webhook's ID and token. Read-only. Requires the original webhook token.

  • discord_find_channel_by_nameFind channel by nameread-only

    Find channels whose name contains a substring (case-insensitive). Returns matching channels (id, name, type) as a JSON array. Read-only. Useful for resolving a channel_id when you only know the channel's name.

  • discord_follow_announcement_channelFollow announcement channel

    Subscribe a target channel to an announcement (news) channel, so the source's published messages are reposted into the target. The source must be an announcement channel. Requires the Manage Webhooks permission in the target. Returns a confirmation.

  • discord_forward_messageForward message

    Forward an existing message to another channel using Discord's native forward, which preserves the original attribution. Works across text channels and threads. Use discord_send_message to compose new content instead. Requires the Send Messages permission in the target channel. Returns a confirmation.

  • discord_get_audit_logGet audit logread-only

    Fetch the server's audit log, the record of administrative actions (bans, kicks, role/channel changes, etc.) with who performed them and when. Requires the View Audit Log permission. Returns { entries: [...] } with id, action, executor, target, reason, createdAt. Read-only.

  • discord_get_channel_permissionsGet channel permissionsread-only

    List every permission overwrite on a channel, per role and per member, with the allowed and denied permission flags for each. Read-only. Use discord_audit_permissions for a server-wide report across all channels.

  • discord_get_event_subscribersGet event subscribersread-only

    List the users who marked themselves 'Interested' in a scheduled event. Returns { subscribers: [...], nextCursor }. A page holds up to 100 users; if nextCursor is non-null, pass it back as `after` to fetch the next page. Read-only.

  • discord_get_forum_channelsList forum channelsread-only

    List the forum channels in a server (id, name, topic, parent category). Read-only. Use discord_get_forum_tags to see a forum's available tags, or discord_list_forum_threads for its posts.

  • discord_get_forum_postGet forum postread-only

    Get a forum post's details (title, archived/locked state, applied tags, message count) plus its recent messages, oldest-to-newest. Read-only. Pass the post's thread_id. Returns a JSON object.

  • discord_get_forum_tagsGet forum tagsread-only

    List the tags available on a forum channel (id, name, emoji, moderated flag). Read-only. Use these IDs with discord_create_forum_post or discord_update_forum_post; manage the tag set with discord_set_forum_tags.

  • discord_get_guild_infoGet server inforead-only

    Get details about one server: name, description, member/channel/role counts, boost tier, owner, and creation date. Read-only. Use discord_get_server_stats for a finer breakdown (humans vs bots, channel types).

  • discord_get_inviteGet inviteread-only

    Look up a single invite by its code: target server and channel, inviter, and expiry. Works for any public invite, but this endpoint never returns usage counters (uses/max_uses/max_age read 0); use discord_list_invites or discord_list_channel_invites for real counters. Read-only. Returns a JSON object.

  • discord_get_member_infoGet member inforead-only

    Get full details for one server member: roles, effective permissions, account/join dates, bot flag, and current timeout status. Read-only. Returns a JSON object.

  • discord_get_membership_screeningGet membership screeningread-only

    Fetch the server's membership screening form, the rules/questions new members must accept before gaining access. Requires the server to have the Community feature enabled. Read-only. Returns the form as JSON, including its version.

  • discord_get_message_attachmentsGet message attachmentsread-only

    List the file attachments of a message. Returns { attachments: [...] } with id, filename, title (the original name when Discord strips non-ASCII from filename), url, proxyUrl, contentType, size in bytes, width, height, alt-text description, voice-message duration and waveform, spoiler flag. Discord signs CDN urls with a 24-hour expiry and does not re-sign on every fetch; re-call this tool if a stored url has expired. Requires the View Channel and Read Message History permissions. Read-only. Use discord_read_messages to find messages with attachments.

  • discord_get_reactionsGet reactionsread-only

    List the users who reacted to a message with a specific emoji. Returns { reactions: [...] } with id, username, bot flag. Read-only.

  • discord_get_role_membersGet role membersread-only

    List members who currently hold a specific role, scanning up to 20,000 members. Returns { members: [...], truncated }; check `truncated` on very large servers. Read-only. Use discord_list_roles to discover role IDs first.

  • discord_get_scheduled_eventGet scheduled eventread-only

    Get full details for one scheduled event: name, description, status, type, channel/location, start/end times, creator, and interested-user count. Read-only. Returns a JSON object.

  • discord_get_server_statsGet server statsread-only

    Get a snapshot of server metrics: total members (humans vs cached bots), channel breakdown (text/voice/category), role count, boost tier and count, and creation date. Read-only. Returns a JSON object. Note: bots are counted from the member cache only, so botsInCache is a lower bound and humans (total minus cached bots) an upper bound.

  • discord_kick_memberKick membercan change or delete data

    Remove a member from the server. They can rejoin with a new invite (unlike a ban). Requires the Kick Members permission, and the bot's top role must be higher than the target's. Use discord_ban_member to block re-entry. The reason is recorded in the audit log.

  • discord_list_bansList bansread-only

    List the users banned from the server, with their ban reasons. Returns { bans: [...], nextCursor }. A page holds up to 1000 bans; if nextCursor is non-null, pass it back as `after` to fetch the next page. Requires the Ban Members permission. Read-only.

  • discord_list_channel_invitesList channel invitesread-only

    List the active invites that point to one specific channel. Unlike discord_list_invites (server-wide), this scopes results to a single channel. Requires the Manage Channels permission. Read-only.

  • discord_list_channelsList channelsread-only

    List all channels in a server, grouped by their parent category and ordered by position. Returns a JSON object keyed by category name. Read-only. Use discord_find_channel_by_name to locate a specific channel.

  • discord_list_forum_threadsList forum threadsread-only

    List posts in a forum channel. Returns { threads: [...], hasMore, nextBefore }. The first call (no `before`) includes all active posts plus the first page of archived posts; archived posts are paginated, so if hasMore is true pass nextBefore back as `before` to fetch older archived posts. Read-only. Use discord_get_forum_post to read one post's messages.

  • discord_list_guildsList serversread-only

    List every Discord server (guild) the bot is a member of (id, name, member count, icon). Takes no arguments. Read-only. Start here to discover the guild_id needed by most other tools.

  • discord_list_invitesList invitesread-only

    List all active invites across a server (code, url, channel, inviter, uses, expiry). Requires the Manage Server permission. Read-only. Use discord_list_channel_invites to scope to one channel.

  • discord_list_membersList membersread-only

    List members of a server with their roles, ordered by user ID. Returns { members: [...], nextCursor }. A page holds up to 1000 members; if nextCursor is non-null, pass it back as `after` to fetch the next page. Use discord_search_members to find specific members by name, or discord_get_member_info for one member's full details. Read-only.

  • discord_list_rolesList rolesread-only

    List all roles in a server (excluding @everyone), highest-first, with color, position, member count, and permissions. Read-only. Returns { roles: [...] }. Use discord_get_role_members to see who holds a given role.

  • discord_list_scheduled_eventsList scheduled eventsread-only

    List all scheduled events in a server (id, name, status, type, time, location, interested count). Read-only. Use discord_get_scheduled_event for one event's full details.

  • discord_list_webhooksList webhooksread-only

    List the webhooks in a single channel or across a whole server (id, name, channel, token when visible, creator). Provide exactly one of channel_id or guild_id. Requires the Manage Webhooks permission. Read-only.

  • discord_lock_channel_permissionsSync channel permissions

    Reset a channel's permission overwrites to exactly match its parent category (Discord's 'sync permissions'). The channel must be inside a category. Requires the Manage Roles permission. Returns a confirmation.

  • discord_move_channelMove channel

    Move a channel into a category, or remove it from its category when category_id is omitted. Requires the Manage Channels permission. Use discord_set_channel_position to reorder within a category. Returns a confirmation.

  • discord_pin_messagePin or unpin message

    Pin or unpin a message in a channel, controlled by the pin flag. Requires the Pin Messages permission (a dedicated permission since early 2026, separate from Manage Messages). A channel holds at most 50 pins. Idempotent: pinning an already-pinned message (or unpinning an unpinned one) has no additional effect.

  • discord_prune_membersPrune inactive memberscan change or delete data

    Remove members who have been inactive (no roles, not seen) for a number of days. SAFE BY DEFAULT: dry_run is true unless explicitly set to false, so call it first to preview the count, then re-call with dry_run:false to actually remove them. Removal is irreversible (members must rejoin). Requires the Kick Members permission.

  • discord_read_dmsRead DMsread-only

    Read the most recent messages from the bot's DM conversation with a user, oldest-to-newest. Returns { messages: [...] } with id, author, content, embed count, timestamp. Read-only.

  • discord_read_messagesRead messagesread-only

    Read messages from a text channel or thread, oldest-to-newest. Page backwards by re-calling with before set to the id of the oldest message you received, which walks a channel past the 100-message per-call cap. Requires the View Channel and Read Message History permissions. Returns { messages: [...] } with id, author, content, timestamp, attachment count, pinned flag. Use discord_search_messages to filter by keyword, or discord_fetch_pinned_messages for pinned messages only.

  • discord_remove_reactionsRemove reactionscan change or delete data

    Remove reactions from a message. With no emoji: removes ALL reactions. With emoji only: removes every reaction of that emoji. With emoji and user_id: removes that one user's reaction. Removing all reactions or another user's reaction requires the Manage Messages permission. Use discord_add_reaction to add.

  • discord_remove_roleRemove role from member

    Remove a role from a member. Requires the Manage Roles permission, and the role must be below the bot's highest role. Idempotent: removing a role the member doesn't have has no effect. Reverses discord_add_role.

  • discord_reply_dmReply to DM

    Reply to a specific message in a DM, attaching a quoted reply reference. Unlike the edit/delete DM tools, this works on any message in the conversation (the bot's or the user's). Use discord_send_dm for a standalone DM with no reference. Returns the new reply's message ID.

  • discord_reply_messageReply to message

    Reply to a specific message, attaching a reply reference so clients show it as a threaded reply. Use discord_send_message for a standalone message with no reference. Requires the Send Messages permission. Returns the new reply's message ID.

  • discord_reply_to_forumReply to forum post

    Post a follow-up message inside an existing forum post (thread). Requires the Send Messages in Threads permission (shown as 'Send Messages in Posts' for forums). Use discord_create_forum_post to start a new post instead. Returns the new message ID.

  • discord_reset_channel_permissionsReset channel permissionscan change or delete data

    Remove ALL permission overwrites on a channel, so only role/server-level permissions apply. Does NOT re-sync with the category; use discord_lock_channel_permissions for that. IRREVERSIBLE: the cleared overwrites cannot be recovered. Requires the Manage Roles permission.

  • discord_search_guild_messagesSearch guild messagesread-only

    Search for messages across all channels in a guild using Discord's native search API. Returns messages matching the query with channel context. Requires READ_MESSAGE_HISTORY permission. Use discord_search_messages for channel-specific search.

  • discord_search_membersSearch membersread-only

    Find server members whose username or nickname starts with a query string (prefix match). Returns { members: [...] } with id, username, nickname, roles. Use discord_list_members to page through everyone. Read-only.

  • discord_search_messagesSearch messagesread-only

    Keyword search over a channel's recent messages using case-insensitive substring matching. Scans only up to the last 100 messages; it does not search full history. Returns { matches: [...] } with id, author, content, timestamp. Use discord_read_messages to fetch recent messages without filtering.

  • discord_send_dmSend DM

    Send a private direct message to a user by their user ID. Use discord_send_message to post in a server channel instead. Requires the bot to share at least one server with the user, and the user must allow DMs from server members (otherwise Discord rejects the send). Returns the new message ID.

  • discord_send_dm_embedSend DM embed

    Send a rich embed as a private direct message to a user. Use discord_send_dm for plain text, or discord_send_embed to post an embed in a channel. Requires the bot to share a server with the user, and the user must allow DMs from server members. Returns the new message ID.

  • discord_send_embedSend embed

    Send a single rich embed (title, description, color, fields, author, footer, images, timestamp). Use discord_send_message for plain text, or discord_send_multiple_embeds to send several embeds at once. Requires the Send Messages and Embed Links permissions. Returns the new message ID.

  • discord_send_messageSend message

    Send a plain-text message to a channel or thread. For rich content (title, color, fields, images) use discord_send_embed; to attach a reply reference to an existing message use discord_reply_message. Requires the bot to have the Send Messages permission. Returns the new message ID.

  • discord_send_multiple_embedsSend multiple embeds

    Send up to 10 embeds in a single message, with optional text above them. Use discord_send_embed for a single embed. Requires the Send Messages and Embed Links permissions. Returns the new message ID.

  • discord_send_webhook_messageSend webhook message

    Send a message through a webhook using its ID and token (no bot permissions needed; the token authorizes the send). Supports per-message username/avatar overrides and up to 10 embeds. At least one of content or embeds is required. Returns the new message ID.

  • discord_set_channel_positionSet channel position

    Set a channel's display order within its category. Use discord_move_channel to change which category it belongs to. Requires the Manage Channels permission. Returns a confirmation.

  • discord_set_forum_tagsSet forum tagscan change or delete data

    Replace the full set of available tags on a forum channel with the provided list. This overwrites existing tags, so include every tag you want to keep. Requires the Manage Channels permission. Returns a confirmation.

  • discord_set_member_permissionSet member channel permission

    Add or update a per-channel permission overwrite for a single member, allowing and/or denying specific permissions. Merges with the member's existing overwrite. Requires the Manage Roles permission. Use discord_set_role_permission to target a whole role instead.

  • discord_set_nicknameSet nickname

    Set or clear a member's server nickname. Pass null (or the string 'null') to clear it. Requires the Manage Nicknames permission (or Change Nickname for the bot itself). The reason is recorded in the audit log.

  • discord_set_role_iconSet role icon

    Set or clear a role's icon, either a custom image or a unicode emoji. Requires the server to be Boost Level 2+ (the ROLE_ICONS feature) and the Manage Roles permission. Pass null to either field to remove that icon. Returns a confirmation.

  • discord_set_role_permissionSet role channel permission

    Add or update a per-channel permission overwrite for a role, allowing and/or denying specific permissions. Merges with the role's existing overwrite (does not reset it). Denying View Channel to @everyone also locks the bot out unless it holds an allow overwrite of its own; grant that with discord_set_member_permission before the deny. Requires the Manage Roles permission. Use discord_set_member_permission to target a single member instead.

  • discord_set_role_positionSet role position

    Move a role up or down in the server's role hierarchy, which determines permission precedence and member-list ordering. Higher position = higher in the list. Requires the Manage Roles permission, and the target position must be below the bot's highest role.

  • discord_timeout_memberTimeout member

    Mute a member for a set duration (Discord 'timeout'): they cannot send messages, react, or speak until it expires. Pass duration_minutes = 0 to remove an active timeout early. Max 28 days (40320 minutes). Requires the Moderate Members permission.

  • discord_unban_memberUnban member

    Lift a ban so the user may rejoin via a new invite. Requires the Ban Members permission. Reverses discord_ban_member. The reason is recorded in the audit log.

  • discord_update_forum_postUpdate forum post

    Update a forum post's title, archived/locked state, or applied tags. Only provided fields change; passing applied_tags replaces the post's tags. Set archived:true to close a post without deleting it. Requires the Manage Threads permission.

  • discord_update_membership_screeningUpdate membership screening

    Update the server's membership screening form: set the welcome description and the rules new members must agree to. Only provided fields change. Requires the Community feature and the Manage Server permission. Returns the updated form.

Signals

Stars
29
Forks
17
Open issues
2
Contributors
6
Weekly downloads
755
Last commit
Oct 7, 2026 (21 days ago)
Last release
Sep 3, 2026 (1 month ago)
Last package publish
Sep 3, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.PaSympa/discord-mcp
Version
2.2.0
Auth
API key
Packages
npm @pasympa/discord-mcpoci docker.io/pasympa/discord-mcp:2.2.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Discord MCP. Agent Mart. https://agentmart.dev/connectors/pasympa-discord-mcp (last updated 2026-10-24)