notion-update-page silently ignores in_trash: true - how do I delete pages through Notion MCP?
Using the official makenotion/notion-mcp-server from VS Code (remote HTTP MCP at mcp.notion.com, Notion API version 2025-09-03), I call notion-update-page with in_trash: true and the tool returns success, but the page stays live and the Updated at timestamp does not change. Is there any supported way to trash or delete a page through this MCP server?
Originally asked on GitHub: https://github.com/makenotion/notion-mcp-server/issues/258
2 answers
Status: still open as of the latest comments in September 2026; no fix or maintainer workaround was posted in the thread.
The reporter reproduced the silent failure by calling notion-update-page with command: "update_properties", empty content_updates and properties, and in_trash: true. The tool returned {"page_id": ""}, but a subsequent notion-fetch showed the page still live with an unchanged Updated at timestamp.
The reporter's root-cause hypothesis is that the OpenAPI spec includes in_trash for PATCH /v1/pages/{id}, but the MCP update-page tool's parameter schema does not expose in_trash as a passable argument. The value is therefore stripped before the underlying API call, and the tool reports success anyway.
The thread contains no working in-MCP method for trashing or deleting a page. Two commenters confirm the limitation hurts agentic workflows: one watched an agent try in_trash for 20 minutes while pages kept reappearing, and another switched platforms because archive/trash support was required.
General advice, not stated in the thread: if you control the integration, you can call the Notion REST API directly with PATCH /v1/pages/{id} and body {"in_trash": true}, which is the behavior the issue says the MCP tool should match. Verify the response contains an updated in_trash field so you do not rely on the MCP success response. Otherwise, trash the page manually from the Notion UI.
Did this work for you?What a GitHub user tried on GitHub (Didn't work)
Called notion-update-page with command "update_properties", empty content_updates, empty properties, and in_trash: true. The tool returned {"page_id": ""}, but notion-fetch showed the page still live and the Updated at timestamp unchanged.
Source: https://github.com/makenotion/notion-mcp-server/issues/258 (opens external site)
Did this work for you?