guild_blueprint_apply
Apply an approved Discord guild blueprint plan to a specified guild, with checkpointed resumability and pre-write verification of approvals and permissions.
Instructions
Purpose: Apply a previously previewed guild_blueprint_plan safely to one explicit guild using the exact caller-owned bot. The operation graph is checkpointed locally after every successful mutation and reconciled against Discord before every resume.
When to use: Call only after presenting the plan summary and receiving approval for its approval_id. Pass exactly one unchanged local plan_ref or legacy plan_token, exact guild/bot IDs, __confirm:true, and run with MCP_DRY_RUN=false.
Safety: The tool re-verifies bot identity, guild allowlist, plan target, approval ID, live permissions, role hierarchy, drift, and a guild-wide apply lock before writing. It never deletes resources, never grants its own permissions, and stops on ambiguity or mismatched bound resources.
Resume: A partial result is safe to call again with the same inputs. Discord readback plus a local append-only checkpoint prevents duplicate roles, channels, AutoMod rules, and Components V2 publications.
Returns: Bounded progress, safe error codes, remaining work, bindings, and final Discord readback evidence. A successful terminal result also persists and returns authenticated Activity Evidence with policy invariants clearly separated from the execution and live-readback record. The plan token is never echoed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| guild_id | Yes | Explicit target guild; configured defaults are never accepted | |
| plan_ref | No | Preferred private local reference returned by guild_blueprint_plan; pass this field and omit plan_token | |
| __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. | |
| plan_token | No | Legacy fallback returned by guild_blueprint_plan; use only when plan_ref is null and omit plan_ref | |
| approval_id | Yes | Approval ID shown by guild_blueprint_plan | |
| expected_bot_id | Yes | Exact caller-owned bot ID locked by the selected profile | |
| operation_budget | No | Maximum Discord mutations attempted in this call; resume with the same plan if needed |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||