create_page
Convert markdown into native Notion pages while automatically handling block batching, text splitting, and deep nesting. No pre-chunking needed.
Instructions
Create a Notion page from markdown as native Notion blocks. Server handles 100-block batching, 2000-char splitting, and deep nesting, so no pre-chunking. Supports stdio-only file:// uploads. Syntax: easy-notion://docs/markdown. Mentions: @Title. Returns { id, title, url, success: true }, note for workspace-parent pages, plus block_map for top-level created blocks when present.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| icon | No | Optional emoji icon | |
| cover | No | Optional cover image URL | |
| title | Yes | Page title | |
| markdown | Yes | Markdown content for the page body | |
| parent_page_id | No | Parent page ID. Resolution order when omitted: NOTION_ROOT_PAGE_ID env var → last used parent in this session → workspace-level private page (OAuth mode). In stdio mode without NOTION_ROOT_PAGE_ID, this is required on first use. | |
| return_block_map | No | Include block_map in the response. Default true. Set false to skip the per-block id list when you do not plan to edit individual blocks. | |
| strip_leading_h1 | No | Remove the document's leading H1 heading. Applies only when the first converted top-level block is a plain (non-toggleable) heading_1. Useful when title is also passed and the file begins with the same heading. Default false. | |
| collapse_soft_wraps | No | Collapse single line breaks to spaces per CommonMark before writing. Default false (single line breaks are kept as they are today). Recommended when uploading hard-wrapped prose files (e.g. repo markdown wrapped at 78 columns). Do not use when re-uploading content read from Notion, or intentional line breaks will be lost. Blank lines and code blocks are unaffected. Note: replace_content renders an in-paragraph line break as a separate paragraph regardless of this option. |