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_nickname is usually the simpler choice for nickname-only changes.
  • Self nickname edits automatically use Discord's @me route when possible.
  • If your integration sets X-Current-Channel, voice-channel moves can omit channel_id and channel_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, or 7d
  • minimum 1s
  • maximum 7d
  • use null to 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.