MCP field guide / Notion

// mcp field guide · productivity

Notion MCP server

A helpful surprise here: in Notion, "delete" means move to Trash — recoverable, not gone. That lowers the stakes on the scary-sounding tools. The real irreversible edge is quieter: a full-content page overwrite and bulk edits, which have no built-in undo. Here's the sourced picture.

Maintainer: Notion (official) Canonical: mcp.notion.com (hosted) · @notionhq/notion-mcp-server (local)

GUARD FIT · READ + CREATE + DELETE

LOW

Reads change nothing; creates are additive; deletes go to recoverable Trash (~30 days). Little to compensate here.

GUARD FIT · OVERWRITE + BULK EDIT

STRONG

A full-content update-page can clobber human-authored content with no undo; one bad agent decision fans out across a bulk edit.

Overall fit: MODERATE — concentrated on overwrites and bulk mutations, not blanket.

The two servers

Hosted (canonical)mcp.notion.com/mcp, Notion's own first-party server, one-click OAuth, with search across the workspace and connected apps. Its tools use a notion- prefix.1 Local@notionhq/notion-mcp-server (v2.0.0, MIT), bridging more directly to the Notion REST API with different tool names. Notion states it is prioritizing the hosted server and "may sunset this local MCP server repository in the future," so treat local as legacy/reference.3 Both act strictly within the authorizing user's existing permissions.

Tools by risk surface

RiskHosted (notion-)Local
read-onlynotion-search, notion-fetch, notion-get-comments, notion-get-users, notion-query-data-sourcessearch, retrieve-a-page, retrieve-a-database, retrieve-comments, get-block-children
createnotion-create-pages, notion-create-database, notion-create-comment, notion-move-pages, notion-duplicate-pagecreate-a-page, append-block-children, create-a-comment, move-page
overwrite / deletenotion-update-page (can full-content replace)update-page / update-page-markdown (overwrite), delete-a-page, delete-a-block

The reversibility nuance that changes everything: a Notion API "delete" sets in_trash: true — it moves the item to Trash, recoverable by setting in_trash: false. The API cannot permanently delete;4 trashed items auto-purge after ~30 days by default (Enterprise workspaces can customize the retention window). So delete tools are soft-deletes, cleanly compensable by an un-trash. (The hosted server's supported-tools list shows no standalone delete tool at all; a delete-via-update path is unverified.)

Real use cases

Knowledge-base Q&A. notion-search + notion-fetch to answer questions grounded in internal docs and meeting notes — pure read.

Docs automation. Turn a transcript into a structured page (notion-create-pages), file it (notion-move-pages), post a summary comment.

Database upkeep. Query stale records and notion-update-page to update statuses in bulk — the scenario where overwrite risk is highest.

Where a human-approval guard fits

Reads and creates: low value. Reads change nothing; creates are additive and easy to clean up. A guard here is noise control at best.

Deletes: soft, so compensable. Because a delete is archive-to-Trash, the honest mcp-compensate story is straightforward — a delete can be compensated by an un-trash (in_trash: false), and the only real irreversibility is the eventual ~30-day purge, which the tools don't trigger. A guard should classify these as recoverable, not catastrophic.

Overwrites and bulk edits: this is the real edge. A full-content update-page/update-page-markdown can replace human-authored content with no built-in compensation, and a query → loop of updates lets a single bad decision fan out across many pages. That combination — irreversible-in-practice plus fan-out — is the strongest, most defensible place to insert human approval.

The honest line: Notion is friendlier than its tool names suggest — the trash makes deletes recoverable. So don't over-gate. Put the human on the overwrite, where content is silently replaced, and on bulk mutations, where scale multiplies a mistake. That's the compensation-vs-undo distinction doing useful work: un-trash is real compensation; a clobbered page body is not.

Gate the overwrite, not the read

ChronoMCP passes reads and additive creates through, and gates full-content overwrites and bulk edits on a human — treating recoverable deletes honestly.

Read the quickstart → More MCP profiles

Sources

  1. Notion — MCP overview (official docs): developers.notion.com/guides/mcp/overview
  2. Notion — MCP supported tools (hosted tool list): developers.notion.com/guides/mcp/mcp-supported-tools
  3. Local repo (@notionhq/notion-mcp-server v2.0.0, deprioritization notice, local tools): github.com/makenotion/notion-mcp-server
  4. Notion API — "Trash a page" (delete = recoverable archive): developers.notion.com/reference/trash-page

Profiles describe third-party software from its public sources; ChronoMCP is not affiliated with Notion. The ~30-day Trash retention is Notion's default platform behavior (Enterprise workspaces can customize it), per Notion's Help Center rather than the API reference. Some local tool names vary slightly between source renderings; risk groupings are our classification. Capabilities reflect sources current as of Aug 2026 and can change — check the source links.