Skip to main content
Glama
Discord MCP - Discord server management MCP for AI agents

Discord MCP - Discord server management MCP for AI agents

Ban member

ban_member
Destructive

Bans a Discord user from a server, optionally deleting recent messages, and supports users who already left by user ID. Returns a preview with a confirmation token before applying the action.

Instructions

Ban a user from the server, optionally deleting their recent messages. Works on users who already left (pass their user ID). Safe to call directly: the first call changes nothing and returns a preview plus a confirm_token; repeating the call with the token performs the ban. Relay the preview for the user's go-ahead.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "user": "<user>"
    },
    "name": "ban_member"
  }
}

Input Schema

NameRequiredDescriptionDefault
userYesMember name, or a user ID for someone not in the server.
guildNoGuild (server) name or ID. Omit to use the default guild.
reasonNo
dry_runNo
confirm_tokenNoThe token from this exact action's preview. Where the app can show a confirmation dialog, calling with it asks the user there, and it happens only if they agree.
delete_message_secondsNoAlso delete their messages from the last N seconds, up to 604800 (7 days).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.4.2
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / confirm_token / description
      Added value: +"The token from this exact action's preview. Where the app can show a confirmation dialog, calling with it asks the user there, and it happens only if they agree."
  2. Changed1 schema field changedv1.3.0
    • removedInput schema / additionalProperties
      Removed value: -false
  3. First observedv1.0.2

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say destructiveHint=true; the description adds the crucial two-phase behavior — the first call changes nothing and returns a preview plus confirm_token, and the token must be echoed to actually ban. That is exactly the kind of context an agent cannot infer from the schema and prevents an accidental irreversible ban.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: what it does, the edge case, then the safety protocol. The safety-critical preview/confirm behavior is front-loaded before the follow-up instruction to relay it, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive six-parameter tool with no output schema, the description covers the risky path (preview/confirm), the edge case (departed users), and the message-deletion option. Only minor gaps remain, such as what the preview actually contains and how dry_run relates to confirm_token.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the description supplements it with meaning for the two least obvious inputs: `user` accepts a name or an ID for members no longer in the server, and `confirm_token` must come from 'this exact action's preview'. It doesn't discuss `reason`, `guild`, or `dry_run` interplay, but those are largely self-documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ban a user from the server') plus an optional side effect ('optionally deleting their recent messages'). It is cleanly distinguishable from kick_member/unban_member by the outcome, though it never names a sibling the way a top-scoring definition would.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete usage condition that separates it from naive alternatives: 'Works on users who already left (pass their user ID)'. It also instructs the caller to relay the preview for the user's go-ahead. It stops short of stating when to prefer kick_member or bulk_ban instead, so there is no explicit exclusion set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools