notion-mcp
Provides tools for searching, exporting, importing, appending, and creating Notion pages as markdown, managing comments, and uploading images, using Notion's internal API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@notion-mcpsearch my workspace for meeting notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@shck-dev/notion-mcp
Notion MCP Server — search, export, and import pages as markdown
No workspace admin. No OAuth. No page sharing.
Just paste 3 values from your browser and go.
Features
Search — full-text search across your entire workspace
Export — download any page as clean markdown (headings, lists, to-do, code blocks, tables, links, images with viewable URLs)
Import — write markdown back to Notion pages (replaces content), from a string or local file
Append — add markdown to the end of a page without touching existing content
Create — spin up new child pages, optionally prefilled from a markdown string or file
Images — upload a local image to a page, or reference an external URL
Comments — list open discussions, add new comments, reply to threads
One-command setup —
npx @shck-dev/notion-mcp init: paste a browser "Copy as cURL" and it extracts + saves your credentialsPrompts & resources — a
notion_setupprompt and anotion://guideresource for in-client onboardingZero setup friction — uses the same internal API as the Notion web app; if you can see it in your browser, this server can access it
Related MCP server: Markdown-To-Notion
Tools
Tool | Description |
| Full-text search across all pages in your workspace |
| Export any Notion page as markdown; image links resolve to viewable CDN URLs (pass |
| Write markdown to a Notion page — replaces all existing content |
| Write a local |
| Append markdown to the end of a page (non-destructive) |
| Append a local |
| Create a new sub-page, optionally prefilled with markdown |
| Create a new sub-page from a local |
| Append an image to the end of a page — local file is uploaded to Notion, http(s) URL is referenced as-is |
| List open discussion threads on a page |
| Start a new discussion — inline (anchored to text) or block-level |
| Reply to an existing discussion thread |
| Paste a browser "Copy as cURL" to extract & save credentials |
Why not the official Notion API?
This MCP server | Official Notion API | |
Setup | Paste 3 values from DevTools | Create integration, get admin approval, share pages |
Page access | Everything you can see | Only explicitly shared pages |
Markdown | Bidirectional (export + import) | Read-only blocks API |
Auth | Cookie ( | OAuth / integration token |
Trade-off: The internal API is undocumented and may change. Token expires periodically (re-grab from browser).
Quick start
Easiest: interactive setup
npx @shck-dev/notion-mcp initOpen Notion in Chrome → DevTools (F12) → Network → click any request to notion.so/api/v3/… → right-click → Copy as cURL, then paste it and press Ctrl-D. Your token, user id, and workspace id are extracted and saved to ~/.notion-mcp/config.json. Then register the server — no env block needed:
claude mcp add notion -- npx @shck-dev/notion-mcpPrefer to set the three values by hand? Steps below.
1. Get credentials from your browser
Open notion.so in Chrome
Press F12 → Application → Cookies →
www.notion.soCopy the
token_v2cookie value →NOTION_TOKENPress F12 → Network tab, do any action in Notion
Find a POST request to
api/v3/*, click itFrom Request Headers: copy
x-notion-active-user-header→NOTION_USER_IDFrom Request Body (Payload): find
spaceId→NOTION_SPACE_ID
2. Configure your MCP client
Claude Code
claude mcp add notion -- env NOTION_TOKEN=your_token NOTION_USER_ID=your_user_id NOTION_SPACE_ID=your_space_id npx @shck-dev/notion-mcpClaude Desktop / Cursor / any MCP client
Add to your MCP config (claude_desktop_config.json, .cursor/mcp.json, etc.):
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["@shck-dev/notion-mcp"],
"env": {
"NOTION_TOKEN": "your_token_v2_value",
"NOTION_USER_ID": "your_user_id",
"NOTION_SPACE_ID": "your_space_id"
}
}
}
}Requirements
Node.js ≥ 18 (for
npx) — or Bun. The published server is compiled to node-compatible JS, so Bun is no longer required to run it.
Limitations
Internal API — undocumented, may break with Notion updates
Token expiry —
token_v2expires periodically; re-grab from browser when auth failsDatabases — database/collection pages don't export rows yet; sub-pages render as links and such pages return an explanatory note instead of empty output
Block granularity — import replaces all content, append adds to the end (no in-place editing of individual blocks)
Lossy markdown — some complex formatting may simplify during conversion (e.g. nested lists flatten on import)
External images — http(s) image URLs added via
notion_add_image(or embedded in markdown) are referenced as-is and not re-uploaded to Notion
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -license-quality-maintenanceAn MCP server that enables natural language interaction with the Notion API, allowing users to search, comment, create pages, and access content within their Notion workspace.Last updated226,317
- AlicenseCqualityDmaintenanceAn MCP server that converts Markdown content to Notion API-compatible formats, suitable for content management and development integration.Last updated11Apache 2.0
- AlicenseAqualityAmaintenanceA lightweight Notion MCP server that minimizes token usage by returning Markdown instead of raw JSON, enabling efficient read/write operations on Notion pages.Last updated9MIT
- AlicenseAqualityCmaintenanceAn MCP server for Notion API with optimized token efficiency and full database property filtering, enabling AI assistants to manage pages, databases, and blocks.Last updated32801MIT
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
MCP server for AgentDocs (agentdocs.eu): read, search, write, comment on & share Markdown docs.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/shck-dev/notion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server