Skip to main content
Glama

update_section

Update a Notion page section by heading name: finds the heading, replaces content to the next section boundary with markdown. Option to preserve the heading block. More efficient than full page replacement.

Instructions

DESTRUCTIVE — no rollback: this tool deletes blocks in the section, then writes new blocks. If the write fails mid-call, the section is left partially or fully emptied; for most sections the heading anchor is deleted, so a retry can fail with "heading not found." For irreplaceable sections, duplicate_page the target first so you have a restore point.

Update a section of a page by heading name. Finds the heading, replaces everything from that heading to the next section boundary. For H1 headings, the section extends to the next heading of any level. For H2/H3 headings, it extends to the next heading of the same or higher level. Include the heading itself in the markdown. If the section starts at the first block, the replacement markdown must start with the same heading type so following sections stay in place. With preserve_heading:true, the existing heading block ID, text, type, comments, and toggleable state are preserved, but the section body blocks and existing toggleable-heading children are still destructively replaced; replacement markdown is treated as body-only, and a leading matching heading is stripped for compatibility. More efficient than replace_content for editing one section of a large page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
page_idYesPage ID
headingYesHeading text to find (case-insensitive)
markdownYesReplacement markdown including the heading
preserve_headingNoPreserve the existing heading block and replace only the section body. Default false.
dry_runNoPreview validation and planned effect without mutating Notion. Default false.
Behavior5/5

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

The tool has no annotations, so the description fully bears the burden. It thoroughly discloses destructive behavior, partial failure risks, heading anchor deletion, preserve_heading behavior, and efficiency, far exceeding the minimum.

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?

The description is relatively long but necessary given the destructiveness and nuanced behavior. It is well-structured with a warning first, then the main operation, followed by special cases. Nearly every sentence adds value, though a minor reduction could still maintain clarity.

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?

The description covers behavioral details, warnings, and parameter nuances comprehensively. There is no output schema, and the description does not specify return values, but for a mutation tool this is acceptable. Given complexity, it provides sufficient context for correct usage.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are already described. The description adds significant context for 'preserve_heading' (behavior on children, markdown stripping) and clarifies 'markdown' should include the heading, thus adding value beyond the schema.

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

Purpose5/5

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

The description clearly states the verb (update), resource (section), and method (by heading name). It also differentiates from sibling 'replace_content' by noting greater efficiency for single sections.

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?

The description explicitly compares to 'replace_content' and advises when to use it (more efficient for one section). It includes a strong warning about destructiveness and suggests duplicating the page first, but does not definitively list all cases where alternatives are better.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Grey-Iris/easy-notion-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server