Operate Notion with a single Markdown document β read, create, and update pages in one call.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Better Notion.
readRead a Notion page as Markdown with frontmatter. Supports recursive child page reading with `depth`.
writeCreate or update pages from Markdown. Supports batch operations and append/prepend.
searchSearch the workspace by keyword. Returns a Markdown-formatted list.
listList database records as a table or child pages as a list. Supports natural language filter & sort.
updateQuick property update without rewriting content. Just pass page + key-value pairs.
schemaView or modify database schema β add, remove, or rename columns.
An MCP server that lets you operate Notion with a single Markdown document.
Existing Notion MCP servers are thin API wrappers that require multiple round-trips for a single operation. better-mcp-notion uses one Markdown document (YAML frontmatter + body) to read, create, and update pages in a single call.
| Traditional Notion MCP | better-mcp-notion | |
|---|---|---|
| Tools | 16-22 tools | 9 tools |
| Create a DB entry | 3+ calls (search DB, get schema, create page, append blocks) | 1 call |
| Edit a page | 4+ calls (get page, get blocks, delete blocks, append blocks) | 1 call (read, edit, write) |
| Format | Raw JSON blocks | Markdown |
| Context window | Heavy (tool definitions + JSON) | Light |
| Tool | Description |
|---|---|
read | Read a Notion page as Markdown with frontmatter. Supports recursive child page reading with depth. |
write | Create or update pages from Markdown. Supports batch operations and append/prepend. |
search | Search the workspace by keyword. Returns a Markdown-formatted list. |
list | List database records as a table or child pages as a list. Supports natural language filter & sort. |
update | Quick property update without rewriting content. Just pass page + key-value pairs. |
schema | View or modify database schema β add, remove, or rename columns. |
comment | Add or read comments on a page. |
delete | Archive (soft-delete) a page. |
move | Move a page to a different parent page or database. |
ntn_...)Then set the environment variable:
Add to your MCP config file (e.g. claude_desktop_config.json, .cursor/mcp.json):
Then point your MCP config to node /path/to/better-mcp-notion/build/index.js.
Returns:
Use position: "append" to add content to the end without rewriting the entire page.
Only the new content needs to be provided β existing content is preserved.
position: "prepend" adds content to the beginning instead.
Separate pages with ===:
Status is Done / Status = Done - equalsPriority != Low - not equalsTags contains backend - multi-select containsDone is true - checkboxScore > 80 - number comparison (>, <, >=, <=)Due Date after 2026-03-01 - date after/beforeAND: Status is Done AND Priority is HighDue Date ascending or Due Date ascCreated descending or Created descdepth: 1 = current page only (default), 2 = include children, 3 = include grandchildren.
Update properties without rewriting content:
| Field | Create | Update | Description |
|---|---|---|---|
id | - | required | Page ID to update |
title | recommended | optional | Page title |
parent | required* | ignored | Parent page name or ID |
database | required* | ignored | Database name or ID (*either parent or database) |
icon | optional | optional | Emoji or image URL |
cover | optional | optional | Cover image URL |
properties | optional | optional | Database properties (matched against schema) |
| Field | Description |
|---|---|
id | Page UUID |
url | Notion page URL |
title | Page title |
parent / database | Parent page or database ID |
icon, cover | Emoji or image URL |
properties | All database properties |
created, last_edited | Timestamps (read-only) |
Read-only fields (url, created, last_edited, formulas, etc.) are safely ignored when passed to write.
Elastic License 2.0 (ELv2) β Free to use, modify, and distribute. Cannot be offered as a managed/hosted service.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/better-notion)<a href="https://allmcps.com/mcp/better-notion"><img src="https://allmcps.com/api/badge/better-notion?style=directory" alt="Better Notion on AllMCPs" /></a>