Skip to main content
Glama

notion-mcp__notion_update_page

Destructive

Changes one Notion page's title, property values, icon or cover, applies a template, or moves it to or from the trash. Property values are plain values checked against the page's data source schema (one read of the page and one of its schema). in_trash true is how a page is deleted through Notion's API, and in_trash false restores it. Omitted properties keep their values; a list value replaces the whole list. Returns the page's id, url, title, parent, in_trash and properties.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "page_id": "<page_id>"
    },
    "name": "notion-mcp__notion_update_page"
  }
}

Input Schema

NameRequiredDescriptionDefault
iconNoAn emoji, or an image URL. null removes the icon.
coverNoA cover image URL. null removes the cover.
titleNoThe page's title as plain text. Over 2,000 characters is split into several text pieces; the limit is 200,000.
accountNoOptional email address of the connected account to use (e.g. 'user@gmail.com'). If omitted, the default account is used.
page_idYesThe page's Notion id, with or without dashes, or a Notion URL that contains it (the id is read from the URL).
in_trashNotrue moves the page to the trash (the delete); false restores it from the trash.
templateNo"default" for the data source's default template, or a template page's id or URL. Notion fills in the template's content and properties in the background after the call returns.
propertiesNoProperty values as plain values keyed by property name, the shape notion_get_page returns: {"Status": "Done", "Tags": ["Docs"], "Due": "2026-10-30", "Estimate": 3, "Owner": ["<user id>"], "Done": true}. Values are checked against the data source schema before the write: an unknown name, a wrong value type or a select or status option that does not exist is refused in words, with the names the schema has. People and relations take ids; files take links; null clears a value. Formula, rollup, created and edited times, and unique ids are set by Notion and refused.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, and the description reinforces rather than contradicts that by explaining that in_trash=true is the delete path and that it is reversible via in_trash=false. It adds genuine behavioral context beyond the annotations: property values are validated against the data source schema at the cost of one page read plus one schema read, omitted properties are preserved, list values replace wholesale, and template content is filled in asynchronously after the call returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the mutation scope and followed by validation, trash semantics, merge semantics, and return shape — no filler. The sentences are dense and multi-clause, which slightly hurts skimmability, but every clause carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutation tool with a nested properties object and no output schema, the description covers the important unknowns: validation behavior, merge semantics, async template behavior, and return fields (id, url, title, parent, in_trash, properties). The only untouched parameter is the multi-account selector, which the schema covers adequately on its own.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so the baseline is 3, but the description adds merge semantics that the schema does not state: omitted properties keep their existing values and a list value replaces the entire list. It also discloses a validation behavior (unknown names, wrong types, and nonexistent select/status options are refused with the schema's valid names) that materially changes how an agent should construct the properties payload.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource and enumerates exactly what is mutable: title, property values, icon, cover, template application, and trash state. That enumeration implicitly separates it from notion_update_page_content (body blocks) and notion_move_page (parent change), but neither sibling is named, so the differentiation is inferential rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is strong for the destructive path: 'in_trash true is how a page is deleted through Notion's API, and in_trash false restores it,' which tells the agent exactly how deletion works in this system. It does not state when an agent should prefer notion_update_page_content or notion_move_page instead, so there are no explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.