Member Tools
Moderation and member-management tools scoped to guild members.
These tools almost always require both a guild scope and a member identity. When possible, prefer explicit IDs over names.
If your integration sets X-Current-Guild, many of these tools can omit
guild_id and guild_name.
ban_member #
- Purpose: ban a guild member.
- Key arguments: guild scope, member identity.
- Optional fields:
delete_message_seconds,reason.
unban_member #
- Purpose: remove a guild ban.
- Key arguments: guild scope, member identity.
- Optional fields:
reason.
kick_member #
- Purpose: kick a member from a guild.
- Key arguments: guild scope, member identity.
- Optional fields:
reason.
set_member_nickname #
- Purpose: nickname-only update helper.
- Key arguments: guild scope, member identity,
nick. - Note: use
{"nick": null}to reset nickname.
edit_member #
- Purpose: general member edit endpoint.
- Key arguments: guild scope, member identity.
- Optional fields:
nick,roles,mute,deaf,channel_*,communication_disabled_until,reason. - Notes:
set_member_nicknameis usually the simpler choice for nickname-only changes.- Self nickname edits automatically use Discord's
@meroute when possible. - If your integration sets
X-Current-Channel, voice-channel moves can omitchannel_idandchannel_name.
timeout_member #
- Purpose: set or clear communication timeout.
- Key arguments: guild scope, member identity,
duration. - Optional fields:
reason. - Duration format:
- integer seconds, or a short string such as
30s,15m,2h, or7d - minimum
1s - maximum
7d - use
nullto clear the timeout - Note: the Discord MCP service calculates the final timeout deadline for you.
add_member_role #
- Purpose: add one role to a member.
- Key arguments: guild scope, member identity, role identity.
- Optional fields:
reason.
remove_member_role #
- Purpose: remove one role from a member.
- Key arguments: guild scope, member identity, role identity.
- Optional fields:
reason.
Name Resolution Notes #
Prefer explicit IDs when available.
The Discord MCP accepts member_id/member_name aliases and resolves them like
user_id/user_name.
If server_members is absent from X-Privileged-Intents, member-name
resolution falls back to user-name resolution.
For self nickname updates (user_id == app_id), the Discord MCP uses
/guilds/{guild_id}/members/@me automatically.
Role changes, moderation actions, and nickname edits are still subject to Discord's own permission and hierarchy rules even when the Discord MCP accepts the call.