guild_begin_prune
Remove inactive members from a Discord server to reduce bloat. Requires confirmation before any members are kicked.
Instructions
Purpose: Kick inactive members. DESTRUCTIVE - kicked members must rejoin manually.
When to use:
Reduce inactive bloat in large communities.
compute_prune_count (default true) returns the actual count; set false for large guilds (returns null) to avoid timeouts.
include_roles WIDENS the prune (does not narrow it). An inactive member is pruned only if ALL of their roles appear in this list; a member holding ANY role not listed is never pruned. Members with no roles are always pruned regardless. Max 100.
Returns: {pruned, guild_id} - pruned is null if compute_prune_count was false.
Security: gated by ConfirmRequired. Pass __confirm:true AND set MCP_DRY_RUN=false to actually prune.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Inactivity threshold in days (1..30, default 7) | |
| guild_id | Yes | Guild to prune | |
| __confirm | No | Set true to authorize this destructive operation. Also requires the server to run with MCP_DRY_RUN=false; otherwise a DRY_RUN_PREVIEW is returned. | |
| audit_reason | No | Reason recorded in audit log (X-Audit-Log-Reason header) | |
| include_roles | No | WIDENS the prune (does not narrow it). An inactive member is pruned only if ALL of their roles appear in this list; a member holding ANY role not listed is never pruned. Members with no roles are always pruned regardless. Max 100. | |
| compute_prune_count | No | Whether to return prune count (default true; set false for large guilds) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||