MCP.so
Sign In
N

Notion Private API MCP

@kirvigen

About Notion Private API MCP

Unofficial Notion MCP server built on Notion's private API (token_v2 cookie). Full read/write access to your entire Notion workspace — no integration token and no per-page sharing.

Basic information

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "notion-private": {
      "command": "npx",
      "args": [
        "-y",
        "notion-private-mcp"
      ],
      "env": {
        "NOTION_TOKEN_V2": "your_token_v2"
      }
    }
  }
}

Tools

11

Read a page block and its metadata

Read a single block

Read the direct child blocks of a page or block

Catalog of supported block types & inline annotations (call before composing complex pages)

Preview how Markdown parses into the simplified block JSON

Create a child page under another page, from blocks or Markdown

Append blocks/Markdown to a page (at the end, or after a given block)

Replace the direct child blocks of a page

Replace the plain-text content of a block (e.g. a code block)

Remove (archive) direct child blocks from a page

Create or replace a page from a local Markdown file

Overview

What is Notion Private API MCP?

Notion Private API MCP is an unofficial MCP server that gives LLM agents full read and write access to your entire Notion workspace using Notion's private, undocumented internal API and your browser session cookie (token_v2). It is built for developers and power users who want personal automation without setting up official integrations or sharing pages one by one.

How to use Notion Private API MCP?

Clone the repository, install dependencies with npm install, set the NOTION_TOKEN_V2 environment variable to your Notion session cookie, and start the server with npm start. Then register the server in your MCP client (e.g., Claude Desktop or Claude Code) using the provided configuration examples.

Key features of Notion Private API MCP

  • Authenticates with your browser session cookie — no integration token needed
  • Accesses everything your account can see in the workspace
  • Provides tools to read, create, edit, delete pages and blocks
  • Supports writing content via simplified block JSON or Markdown
  • Works with Claude Desktop, Claude Code, Cursor, and other MCP clients
  • Uses stdio transport via the official MCP SDK

Use cases of Notion Private API MCP

  • Search for any page in your workspace and have an agent summarize its content
  • Create child pages with structured content (headings, to-do lists, code blocks)
  • Append TODO lists or notes to an existing page automatically
  • Sync a local Markdown file into a Notion page as block content
  • Replace or delete blocks on a page programmatically

FAQ from Notion Private API MCP

Where do I get my token_v2?

Log into Notion in your browser, open DevTools (F12) → Application → Cookies → https://www.notion.so, and copy the value of the token_v2 cookie.

Why am I seeing "NOTION_TOKEN_V2 is required"?

The environment variable is not set in the process that launches the server. Ensure it is defined in your MCP client's env block or in the shell before starting the server.

My token stopped working — what happened?

Your token_v2 expires when your Notion session ends (logout, password change, long inactivity). Obtain a fresh cookie and update the environment variable.

What does MemcachedCrossCellError mean?

It is a transient Notion routing error on multi‑cell workspaces. The client already retries and falls back to loadPageChunk; simply retry the call if it appears.

Is using Notion's private API against the Terms of Service?

This server uses an undocumented internal API. Using it with your own account and data is at your own risk; Notion may change or break the API at any time, and use may be against their ToS.

Comments

More Memory & Knowledge MCP servers