Reads and edits Notion through the private token_v2 API, with page, block, Markdown, and workspace content tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Notion Private API MCP.
get_pageRead a page block and its metadata
get_blockRead a single block
get_block_childrenRead the direct child blocks of a page or block
get_style_documentationCatalog of supported block types & inline annotations (call before composing complex pages)
markdown_to_blocksPreview how Markdown parses into the simplified block JSON
create_pageCreate a child page under another page, from blocks or Markdown
The kirvigen/notion-private-api-mcp MCP server provides read and write operations for a Notion workspace through Notion's private API. It can inspect page metadata and individual blocks, retrieve direct children, create child pages, append content, replace page contents, update block text, and archive direct child blocks. A separate tool can create or replace a page from a local Markdown file.
The server uses Notion permissions associated with the supplied browser session, so it can operate on pages visible to that account rather than only pages explicitly shared with an integration. It is an unofficial implementation and is not affiliated with Notion.
The process runs as an MCP server over stdio using the official MCP SDK. The client launches the Node.js server and passes configuration through environment variables. Requests are sent to Notion's internal API at the configured base URL, with the token_v2 browser cookie used for authentication.
Writing tools accept either simplified block JSON or Markdown. Supported simplified blocks include paragraphs, three heading levels, bulleted and numbered list items, to-do items, toggles, quotes, callouts, code, and dividers. The Markdown parser handles headings, paragraphs, ordinary and task lists, blockquotes, fenced code, and horizontal rules. Nested lists, tables, and inline formatting are not implemented. get_style_documentation returns the machine-readable catalog of supported block types and annotations, while markdown_to_blocks lets a client inspect Markdown conversion before writing.
To run the kirvigen/notion-private-api-mcp MCP server, clone the repository, install its Node.js dependencies, set the required environment variable, and start the process with npm start. The project requires Node.js 18 or newer.
NOTION_TOKEN_V2 must contain the token_v2 cookie from an authenticated Notion browser session. It should be kept like a password: use a shell environment or an untracked .env file, and do not commit it. NOTION_PRIVATE_API_BASE is optional and defaults to https://www.notion.so; it can change the private API base URL.
Claude Desktop configuration supplies the server command and token in its MCP configuration. The README also documents Claude Code usage and includes helper scripts for desktop and Codex launches.
get_page.get_block and get_block_children.The kirvigen/notion-private-api-mcp MCP server depends on Notion's undocumented internal API, including the /api/v3 endpoint. Notion may change or disable that interface, and the server may stop working without notice. The session cookie can expire after logout, a password change, or extended inactivity, requiring a new value.
Because the cookie effectively grants account-level access, use the server only with your own account and data and protect the credential carefully. The README warns that private API use may conflict with Notion's Terms of Service and is not intended for production or multi-tenant applications. Transient MemcachedCrossCellError responses may require retrying the operation.
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/kirvigen-notion-private-api-mcp)<a href="https://allmcps.com/mcp/kirvigen-notion-private-api-mcp"><img src="https://allmcps.com/api/badge/kirvigen-notion-private-api-mcp?style=directory" alt="Notion Private API MCP on AllMCPs" /></a>