Remove direct child blocks from a page and archive those blocks.
AI agents call delete_blocks to permanently remove resources in Notion Private Api — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.
This tool irreversibly deletes data (blocks) from Notion pages. Deletion operations that cannot be undone are classified as Destructive. The severity is critical because: (1) the action is irreversible, (2) the server has unrestricted workspace-wide access, (3) an LLM agent could inadvertently or maliciously delete critical documentation, project plans, or other blocks essential to workspace function, and (4) there…
From the tool's definition The tool description explicitly states 'Remove direct child blocks from a page and archive those blocks.' The verb 'Remove' combined with 'archive' indicates irreversible deletion of data.
Attacks that exploit this kind of access
Remove direct child blocks from a page and archive those blocks. It is categorised as a Destructive tool in the Notion Private Api MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
Register the Notion Private Api MCP server in PolicyLayer and add a rule for delete_blocks: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Notion Private Api. Nothing to install.
delete_blocks is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the delete_blocks rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for delete_blocks. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
delete_blocks is provided by the Notion Private Api MCP server (kirvigen/notion-private-api-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →