Easy Notion Mcp
@Grey-Iris
About Easy Notion Mcp
Markdown-first Notion MCP server — 26 tools, 92% fewer tokens, full round-trip fidelity
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"notion": {
"command": "npx",
"args": [
"-y",
"easy-notion-mcp"
],
"env": {
"NOTION_TOKEN": "ntn_your_integration_token"
}
}
}
}Tools
26Create a new Notion page from markdown content. Supported markdown syntax: - Headings: # H1, ## H2, ### H3 - Inline: **bold**, *italic*, ~~strikethrough~~, `code`, [links](url) - Images:  - Lists: - bullet, 1. numbered, - [ ] task, - [x] checked task - Tables: | col | col | with header row and --- separator - Code blocks: triple backtick with optional language - Blockquotes: > text - Callouts: > [!NOTE], > [!TIP], > [!WARNING], > [!IMPORTANT], > [!INFO], > [!SUCCESS], > [!ERROR] → styled callout blocks with emoji - Dividers: --- - Toggle blocks: +++ Title\ncontent\n+++ (collapsible sections) - Column layouts: ::: columns\n::: column\nleft\n:::\n::: column\nright\n:::\n::: - Bookmarks: bare URL on its own line (not wrapped in []()) → rich preview card - Equations: $$expression$$ or multi-line $$\nexpression\n$$ → equation block - Table of contents: [toc] → table of contents block - Embeds: [embed](url) → embed block - File uploads:  → uploads and creates image block Link syntax: [name](file:///path/to/file.pdf) → uploads and creates file/audio/video block (by extension) Max 20 MB per file.
Append markdown content to an existing page. Supports the same markdown syntax as create_page (headings, tables, callouts, toggles, columns, bookmarks, etc.).
Replace all page content with the provided markdown. Deletes existing blocks and writes new ones. Supports the same markdown syntax as create_page (headings, tables, callouts, toggles, columns, bookmarks, etc.).
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. More efficient than replace_content for editing one section of a large page.
Find and replace text on a page. Preserves uploaded files and blocks that aren't touched. More efficient than replace_content for targeted text changes like fixing typos, updating URLs, or renaming terms.
Read a page and return its metadata plus markdown content. Recursively fetches nested blocks. Output uses the same conventions as input: toggles as +++ blocks, columns as ::: blocks, callouts as > [!NOTE], tables as | pipes |. The markdown round-trips cleanly — read a page, modify the markdown, replace_content to update.
Duplicate a page. Reads all blocks from the source and creates a new page with the same content.
Update page title, icon, or cover. Cover accepts an image URL or a file:// path (which will be uploaded to Notion).
Archive a page in Notion.
Search Notion pages or databases. Use filter: 'databases' to find databases by name, then get_database for schema details.
List child pages under a parent page.
Return the page URL that can be shared from Notion.
Create a database under a parent page. Supported property types: title, text, number, select, multi_select, date, checkbox, url, email, phone, status.
Get a database's schema — property names, types, and select/status options. Call this before query_database or add_database_entry to know the exact property names and valid values.
List all databases the integration can access. Returns database names and IDs — use get_database on any result to see its schema.
Query a database with optional filters, sorts, or text search. Use text for simple keyword search across all text fields. For advanced filtering, use the filter parameter with Notion filter syntax: - Text contains: { "property": "Name", "title": { "contains": "keyword" } } - Select equals: { "property": "Status", "status": { "equals": "Done" } } - Checkbox: { "property": "Urgent", "checkbox": { "equals": true } } - Date after: { "property": "Due", "date": { "after": "2025-01-01" } } - Combine: { "and": [...] } or { "or": [...] } Call get_database first to see available properties and valid options.
Create a new entry in a database. Pass properties as simple key-value pairs — the server converts using the database schema. Example: { "Name": "Buy groceries", "Status": "Todo", "Priority": "High", "Due": "2025-03-20", "Tags": ["Personal"] }. Call get_database to see available property names and valid select/status options.
Create multiple entries in a database in one call. Each entry uses the same simple key-value format as add_database_entry. Returns per-entry results — partial failures don't block the batch.
Update an existing database entry. Pass only the properties you want to change — omitted properties are left unchanged. Uses the same simple key-value format as add_database_entry. Call get_database to see valid property names and options.
List comments on a page.
Add a comment to a page.
Move a page to a new parent page.
Restore an archived page.
Delete (archive) a database entry.
List workspace users.
Get the current bot user.
Overview
What is Easy Notion Mcp?
Easy Notion Mcp is a markdown-first MCP server that connects AI agents to Notion. It converts standard GFM markdown to Notion's block API and back, supporting 26 tools and 25 block types with full round-trip fidelity.
How to use Easy Notion Mcp?
Install via npx easy-notion-mcp. Use OAuth (HTTP server with npx easy-notion-mcp-http) or an API token (NOTION_TOKEN). Configure with any MCP client (Claude Code, Claude Desktop, OpenClaw, Cursor, VS Code Copilot, Windsurf). The server runs on stdio (API token) or HTTP (OAuth).
Key features of Easy Notion Mcp
- 26 individually-named tools across 5 categories.
- 25 block types using standard markdown extended syntax.
- 92% fewer tokens vs official Notion MCP server.
- Full round-trip fidelity – read, modify, write without loss.
- Simple key-value pairs for database entries.
- Built-in prompt injection defense and URL sanitization.
Use cases of Easy Notion Mcp
- Create and edit Notion pages using plain markdown text.
- Manage databases with automatic schema conversion.
- Search, duplicate, move, and archive pages.
- Add comments and list workspace users.
- Upload files via
file:///pathin markdown.
FAQ from Easy Notion Mcp
How does Easy Notion Mcp compare to other Notion MCP servers?
Easy Notion Mcp uses standard GFM markdown, supports 25 block types, offers 26 tools, and achieves full round-trip fidelity – unlike the official server (raw JSON) or better-notion-mcp (limited block types, dropped content).
How do I set up Easy Notion Mcp?
Two options: OAuth (recommended) – run the HTTP server and connect with any MCP client; API token – create a Notion integration, set NOTION_TOKEN, and share pages with it. Configuration examples for Claude Desktop, Cursor, VS Code, Windsurf, and OpenClaw are provided.
How does Easy Notion Mcp handle databases?
It fetches the database schema at runtime and converts simple key-value pairs (e.g., {"Status": "Done"}) to Notion's property format automatically. Schema is cached for 5 minutes. Tools include create, query, add, update, and delete entries.
What about security and prompt injection?
Easy Notion Mcp adds a content notice prefix to read responses and sanitizes URLs to help defend against prompt injection attacks.
Can I read and rewrite pages without losing formatting?
Yes. All 25 supported block types (including toggles, columns, callouts, equations, tables, task lists) round-trip cleanly. Read a page as markdown, modify the string, then write it back – nothing is lost.
More Memory & Knowledge MCP servers
Obsidian MCP Server
cyanheadsRead, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP.
mcp-local-rag
nkapila6"primitive" RAG-like web search model context protocol (MCP) server that runs locally. ✨ no APIs ✨
Basic Memory
basicmachines-coAI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN
Anytype MCP Server
anyprotoAn MCP server enabling AI assistants to interact with Anytype - your encrypted, local and collaborative wiki - to organize objects, lists, and more through natural language.
Ultimate Google Docs & Drive MCP Server
a-bonusThe Ultimate Google Docs, Sheets, Drive, Gmail, & Google Calendar MCP Server. This MCP (primarily for use in Claude Desktop) gains full access to your google suite and lets claude do its thing.
Comments