Tools Reference

Discord Agent MCP provides 71 tools for comprehensive Discord server management. This reference documents each tool with parameters, examples, and use cases.


Messaging

10 tools for sending, editing, and managing messages.

send_message

Send a text message to a channel.

Parameter Type Required Description
channelId string Yes Target channel ID
content string Yes Message text (max 2000 chars)
embeds array No Embed objects (max 10)

Example:

"Send 'Welcome to our server!' to channel 123456789"

send_rich_message

Send formatted messages with embeds, images, and styling.

Parameter Type Required Description
channelId string Yes Target channel ID
embeds array Yes Array of embed objects

Embed Object:

Example:

"Create an announcement embed with title 'Server Update',
description about new features, and blue color"

send_message_with_file

Send a message with file attachments.

Parameter Type Required Description
channelId string Yes Target channel ID
content string No Message text
file string Yes File path or URL
description string No Alt text (max 1024 chars)

read_messages

Retrieve message history from a channel.

Parameter Type Required Description
channelId string Yes Channel ID
limit number No Number of messages (1-100, default 50)
before string No Get messages before this ID
after string No Get messages after this ID

Returns: Array of messages with author, content, attachments, embeds, and reactions.


edit_message

Edit an existing message sent by the bot.

Parameter Type Required Description
channelId string Yes Channel ID
messageId string Yes Message to edit
newContent string Yes New message content
embeds array No New embeds

delete_message

Delete a specific message.

Parameter Type Required Description
channelId string Yes Channel ID
messageId string Yes Message to delete
reason string No Audit log reason

bulk_delete_messages

Delete multiple messages at once (up to 100, messages must be < 14 days old).

Parameter Type Required Description
channelId string Yes Channel ID
limit number Yes Number to delete (2-100)
userId string No Filter by author
bots boolean No Filter bot messages only
reason string No Audit log reason

Example:

"Delete the last 50 messages from bots in #spam-channel"

add_reaction

Add an emoji reaction to a message.

Parameter Type Required Description
channelId string Yes Channel ID
messageId string Yes Message ID
emoji string Yes Unicode emoji or custom emoji ID

pin_message

Pin a message to a channel (max 50 pins per channel).

Parameter Type Required Description
channelId string Yes Channel ID
messageId string Yes Message to pin
reason string No Audit log reason

unpin_message

Unpin a message from a channel.

Parameter Type Required Description
channelId string Yes Channel ID
messageId string Yes Message to unpin
reason string No Audit log reason

Channel Management

10 tools for creating and managing channels.

list_channels

Get all channels in a server.

Parameter Type Required Description
guildId string Yes Server ID
type string No Filter by type (text, voice, category, etc.)

Returns: Channels organized by type with ID, name, topic, position, and parent category.


get_channel_details

Get detailed information about a specific channel.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Channel ID

Returns: Full channel metadata including permissions, slowmode settings, NSFW flag, etc.


create_text_channel

Create a new text channel.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Channel name
topic string No Channel topic
parent string No Category ID
nsfw boolean No Mark as NSFW

Example:

"Create a text channel called 'project-updates' in the
'Work' category with topic 'Daily project status updates'"

create_voice_channel

Create a new voice channel.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Channel name
bitrate number No Audio bitrate (8000-96000)
userLimit number No Max users (0 = unlimited)
parent string No Category ID

create_category

Create a channel category for organization.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Category name

create_forum_channel

Create a forum channel for threaded discussions.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Forum name
topic string No Forum guidelines
tags array No Available tags
slowmode number No Slowmode in seconds

create_stage_channel

Create a stage channel for presentations and events.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Stage name
topic string No Stage topic
parent string No Category ID

modify_channel

Update channel settings.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Channel ID
name string No New name
topic string No New topic
slowmode number No Slowmode in seconds
nsfw boolean No NSFW flag
parent string No New category
reason string No Audit log reason

delete_channel

Permanently delete a channel.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Channel ID
reason string No Audit log reason

set_channel_permissions

Configure channel-specific permission overrides.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Channel ID
targetId string Yes Role or user ID
allow array No Permissions to allow
deny array No Permissions to deny

Example:

"Make #announcements read-only for @everyone but allow
Moderators to send messages"

Thread Management

3 tools for managing forum threads and discussions.

find_threads

Search for threads in a forum channel.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Forum channel ID
query string No Search by name

create_thread

Create a new thread in a channel.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Parent channel ID
threadName string Yes Thread title
message string No Initial message

archive_thread

Archive and lock a thread.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Parent channel ID
threadId string Yes Thread ID
reason string No Audit log reason

Server Management

7 tools for server configuration and administration.

get_server_info

Get comprehensive server information.

Parameter Type Required Description
guildId string Yes Server ID

Returns: Name, description, owner, member count, features, icon URL, creation date, and more.


modify_server

Update server settings.

Parameter Type Required Description
guildId string Yes Server ID
name string No New server name
description string No New description
reason string No Audit log reason

get_audit_logs

Retrieve server audit log entries.

Parameter Type Required Description
guildId string Yes Server ID
actionType string No Filter by action type
userId string No Filter by user
limit number No Number of entries

Returns: Actions with executor, target, changes, and timestamps.


list_webhooks

List all webhooks in the server.

Parameter Type Required Description
guildId string Yes Server ID
channelId string No Filter by channel

create_webhook

Create a new webhook for a channel.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Target channel
name string Yes Webhook name
avatar string No Avatar URL

get_invites

List all active invite links.

Parameter Type Required Description
guildId string Yes Server ID

Returns: Invites with code, channel, creator, uses, and expiration.


create_invite

Create a new invite link.

Parameter Type Required Description
guildId string Yes Server ID
channelId string Yes Target channel
maxAge number No Expiration in seconds (0 = never)
maxUses number No Max uses (0 = unlimited)
temporary boolean No Grant temporary membership

Member Management

3 tools for managing server members.

get_member_info

Get detailed information about a member.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID

Returns: Username, avatar, join date, roles, nickname, status.


list_members

List all members with optional filtering.

Parameter Type Required Description
guildId string Yes Server ID
limit number No Max results
role string No Filter by role ID
joinedBefore string No Filter by join date
joinedAfter string No Filter by join date

set_nickname

Change a member’s server nickname.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
newNickname string Yes New nickname
reason string No Audit log reason

Role Management

7 tools for creating and managing roles.

list_roles

List all roles in the server.

Parameter Type Required Description
guildId string Yes Server ID

Returns: Roles with ID, name, color, position, permissions, and mentionable status.


get_role_info

Get detailed information about a specific role.

Parameter Type Required Description
guildId string Yes Server ID
roleId string Yes Role ID

create_role

Create a new role with permissions.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Role name
color number No Hex color integer
hoist boolean No Display separately
mentionable boolean No Allow mentions
permissions array No Permission names
reason string No Audit log reason

Example:

"Create a 'Moderator' role with blue color, displayed
separately, with permissions to manage messages and kick members"

modify_role

Update role settings.

Parameter Type Required Description
guildId string Yes Server ID
roleId string Yes Role ID
name string No New name
color number No New color
hoist boolean No Display separately
mentionable boolean No Allow mentions
permissions array No New permissions
reason string No Audit log reason

delete_role

Delete a role.

Parameter Type Required Description
guildId string Yes Server ID
roleId string Yes Role ID
reason string No Audit log reason

assign_role

Add a role to a member.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
roleId string Yes Role ID
reason string No Audit log reason

remove_role

Remove a role from a member.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
roleId string Yes Role ID
reason string No Audit log reason

Moderation

6 tools for moderating members.

kick_member

Remove a member from the server (they can rejoin).

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
reason string No Audit log reason

ban_member

Ban a member from the server.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
deleteMessageDays number No Delete message history (0-7 days)
reason string No Audit log reason

unban_member

Remove a ban.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
reason string No Audit log reason

timeout_member

Temporarily mute a member.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
durationMs number Yes Duration in milliseconds
reason string No Audit log reason

Example:

"Timeout user 123456789 for 1 hour for spamming"

remove_timeout

Remove a timeout from a member.

Parameter Type Required Description
guildId string Yes Server ID
userId string Yes User ID
reason string No Audit log reason

get_bans

List all banned users.

Parameter Type Required Description
guildId string Yes Server ID

Returns: Banned users with usernames and ban reasons.


Emoji Management

4 tools for managing custom emojis.

list_guild_emojis

Get all custom emojis for a server.

Parameter Type Required Description
guildId string Yes Server ID

Returns: Emojis with ID, name, animated status, and role restrictions.


create_emoji

Upload a custom emoji.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Emoji name
image string Yes Base64 data or file path
roleIds array No Restrict to roles

modify_emoji

Update emoji settings.

Parameter Type Required Description
guildId string Yes Server ID
emojiId string Yes Emoji ID
name string No New name
roleIds array No New role restrictions

delete_emoji

Delete a custom emoji.

Parameter Type Required Description
guildId string Yes Server ID
emojiId string Yes Emoji ID

Sticker Management

4 tools for managing custom stickers.

list_guild_stickers

Get all custom stickers for a server.

Parameter Type Required Description
guildId string Yes Server ID

create_sticker

Upload a custom sticker (PNG, APNG, or Lottie).

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Sticker name
file string Yes File path
description string No Sticker description
tags string No Related emoji

modify_sticker

Update sticker settings.

Parameter Type Required Description
guildId string Yes Server ID
stickerId string Yes Sticker ID
name string No New name
description string No New description
tags string No New tags

delete_sticker

Delete a custom sticker.

Parameter Type Required Description
guildId string Yes Server ID
stickerId string Yes Sticker ID

Scheduled Events

6 tools for managing server events.

list_scheduled_events

Get all scheduled events.

Parameter Type Required Description
guildId string Yes Server ID
withUserCount boolean No Include interested count

get_event_details

Get detailed information about an event.

Parameter Type Required Description
guildId string Yes Server ID
eventId string Yes Event ID

create_scheduled_event

Create a new scheduled event.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Event name
description string No Event description
scheduledStartTime string Yes ISO 8601 start time
entityType string Yes STAGE_INSTANCE, VOICE, or EXTERNAL
channelId string Conditional Required for stage/voice
location string Conditional Required for external
scheduledEndTime string No ISO 8601 end time
image string No Cover image URL

Example:

"Create a voice event called 'Game Night' in the Gaming
voice channel for Saturday at 8 PM"

modify_scheduled_event

Update event details.

Parameter Type Required Description
guildId string Yes Server ID
eventId string Yes Event ID
name string No New name
description string No New description
status string No SCHEDULED, ACTIVE, COMPLETED, CANCELLED
scheduledStartTime string No New start time
scheduledEndTime string No New end time

delete_scheduled_event

Delete or cancel an event.

Parameter Type Required Description
guildId string Yes Server ID
eventId string Yes Event ID

get_event_users

Get users interested in an event.

Parameter Type Required Description
guildId string Yes Server ID
eventId string Yes Event ID
limit number No Max results

Auto-Moderation

5 tools for automatic moderation rules.

list_automod_rules

Get all auto-moderation rules.

Parameter Type Required Description
guildId string Yes Server ID

get_automod_rule

Get details about a specific rule.

Parameter Type Required Description
guildId string Yes Server ID
ruleId string Yes Rule ID

create_automod_rule

Create an auto-moderation rule.

Parameter Type Required Description
guildId string Yes Server ID
name string Yes Rule name
triggerType string Yes KEYWORD, SPAM, MENTION, HARMFUL_LINKS
eventType string Yes MESSAGE_SEND
actions array Yes BLOCK, ALERT_BLOCK, TIMEOUT
keywords array No Trigger keywords
keywordFilter string No Preset filter
exemptRoles array No Bypass roles
exemptChannels array No Bypass channels
reason string No Audit log reason

Example:

"Create an auto-mod rule to block messages containing
spam keywords and timeout the user for 5 minutes"

modify_automod_rule

Update rule settings.

Parameter Type Required Description
guildId string Yes Server ID
ruleId string Yes Rule ID
enabled boolean No Enable/disable
name string No New name
triggerMetadata object No New triggers
actions array No New actions

delete_automod_rule

Delete an auto-moderation rule.

Parameter Type Required Description
guildId string Yes Server ID
ruleId string Yes Rule ID

Application Commands

6 tools for managing slash commands.

list_application_commands

List all slash commands.

Parameter Type Required Description
guildId string No Server ID (omit for global)

get_application_command

Get details about a specific command.

Parameter Type Required Description
commandId string Yes Command ID
guildId string No Server ID (omit for global)

create_application_command

Create a new slash command.

Parameter Type Required Description
name string Yes Command name
description string Yes Command description
type string No CHAT_INPUT, USER, MESSAGE
options array No Command options
defaultMemberPermissions string No Required permissions
dmPermission boolean No Allow in DMs
guildId string No Server ID (omit for global)

modify_application_command

Update command settings.

Parameter Type Required Description
commandId string Yes Command ID
name string No New name
description string No New description
options array No New options
guildId string No Server ID (omit for global)

delete_application_command

Delete a slash command.

Parameter Type Required Description
commandId string Yes Command ID
guildId string No Server ID (omit for global)

bulk_overwrite_commands

Replace all commands at once.

Parameter Type Required Description
commands array Yes Array of command definitions
guildId string No Server ID (omit for global)

Resources

discord://guilds

List all servers the bot is connected to.

Usage: Access through MCP resource protocol.

Returns: JSON array of guilds with ID, name, member count, and owner ID.


Need Help?