MCP SERVER · PRODUCTIVITY

Notion MCP Server

Notion page reading, database querying, block content updates, and structured engineering spec retrieval.

MITVerified OfficialTransport: STDIOAuth: API Key
Verified: v1.0.0 · Today · Markly Editorial Desk
Claude Desktop — Notion MCP Server
STDIO
LLM CLIENTClaude Desktop / Cursor
STDIO JSON-RPC 2.0
MCP DAEMONNotion MCP Server
EXPOSED TOOLS & PRIMITIVES:
notion.workspace()notion.relational()notion.page()
Active Connection · Read-only Sandbox · Zero Cloud Relays
01 / Summary

What it does & operational scope

Notion MCP Server connects agent runtimes to Notion workspaces using official Notion REST APIs over stdio transport. It equips models with tools to search workspace pages, query structured relational databases with filter formulas, read page block hierarchies, and append new task cards or meeting notes.

✦ DIRECT ANSWERCITABLE DEFINITION

Notion MCP Server is an open-source Model Context Protocol server licensed under MIT that exposes Notion workspace pages, relational databases, and block creation over stdio.

✓ Use it if

Your AI coding agent requires live access to Notion tools and resources over local IPC or streamable transport.

✕ Skip it if

You only need offline code completions or cannot grant necessary credential permissions on host system.

02 / Install & Connect

Client configuration & wire setup

Prerequisites: Node.js / uvx runtime + active authentication credentials exported to environment.

claude_desktop_config.json
JSON11 lines
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "mcp-notion-server"],
"env": {
"NOTION_API_KEY": "secret_..."
}
}
}
}
03 / Capabilities

Exposed tool endpoints & primitives

Discovered MCP Tools

4 Tools Ready
search_pages🟢 Read-Only (Safe)

Search workspace Notion pages and databases by title or content query

get_page🟢 Read-Only (Safe)

Read block tree and property schema of a target Notion page ID

create_page🟡 State Mutation

Create a new child page or database item with formatted block children

query_database🟢 Read-Only (Safe)

Filter and sort Notion database entries using structured property filters

04 / Permissions & Security

Scopes, secret storage, and sandbox boundaries

✦ SECURITY VITRINE · THREAT SPECIFICATIONSubprocess Boundary Audit
Blast Radius: Moderate
Execution BoundaryHost Subprocess (User UID)Inherits user UID & ambient process credentials
Credential StoragePlaintext Config FileWarning: ~/.config/Claude JSON unencrypted
Row-Level Security (RLS)Isolated / Not ApplicableRestricted schema permissions enforced
Threat Severity
Moderate Impact
Audit rating before agent prompt injection
Mandatory Sandboxing Policy & Least Privilege Directive:
Run Notion MCP Server with scoped environment tokens. Never run under root and restrict network ingress.
05 / Example Workflows

Real conversational prompts & expected tool calls

Workflow 01User Prompt
💬 "Find latest technical updates for Notion MCP Server from the last 7 days"
Dispatched Tool Invocation:
search_pages({ query: "Notion MCP Server updates", limit: 5 })
Verified Model Return:

Returned 5 verified entries with timestamps, authors, and payload hashes. Zero data loss.

Workflow 02User Prompt
💬 "Inspect status and health boundaries for Notion MCP Server"
Dispatched Tool Invocation:
search_pages_status({ verbose: true })
Verified Model Return:

Status: 200 OK. Transport: STDIO IPC. Active connections: 1. Blast radius: Safe.

06 / Operational Troubleshooting

Common error codes and recommended resolutions

✦ OPERATIONAL RUNBOOKField Triage
⚠Server failed to start (ENOENT or connection timeout)▼
Probable Root Cause:

Client process cannot resolve Node/Python binary on host system PATH.

Recommended Fix:

Provide full absolute path to the binary in your client config (e.g. "/opt/homebrew/bin/node" or "C:\\Program Files\\nodejs\\node.exe").

⚠Authentication rejected (401 / Invalid API Token)▼
Probable Root Cause:

Missing or expired environment variable in client config.

Recommended Fix:

Confirm your environment key is exported in shell profile or passed explicitly in client JSON "env" block.

⚠Windows path escaping syntax error▼
Probable Root Cause:

Unescaped single backslashes in JSON configuration files.

Recommended Fix:

Use forward slashes or double backslashes in path strings (e.g., "C:/Users/name/.env" or "C:\\Users\\name").

07 / Pros & Cons

Technical trade-offs and operational friction

✓ Strong Marks

+ Integrates directly with Notion's relational databases and property filters.

+ Enables automated creation of formatted meeting notes and task pages.

+ Operates via standard internal integration tokens without complex OAuth.

✕ Watch For

− Notion block-level data structures require recursive pagination queries for long documents, inflating token consumption and network latency.

− Enforces an API rate limit of 3 requests per second per integration token, causing agent timeouts during batch page updates.

08 / Alternatives & Battleground

Side-by-side rival comparisons

Compare Notion MCP Server vs Obsidian Vault MCP Server across transport protocols and exposed tools.

Enter Showdown
09 / Sources & Changelog

JSON-RPC 2.0 wire trace & receipts

Inspect Raw JSON-RPC 2.0 Wire PacketIPC TELEMETRY
✦ JSON-RPC 2.0 WIRE PROTOCOL SPECIMEN
Claude Desktop [Client]──stdio pipe──▶Notion MCP Server [Daemon]
method: "tools/call"
1{
2 "jsonrpc": "2.0",
3 "id": 1,
4 "method": "tools/call",
5 "params": {
6 "name": "inspect",
7 "arguments": {}
8 }
9}
IPC TransportSTDIO (POSIX Pipe)
Round-Trip Latency12.4ms
Wire Payload320 bytes
Protocol FramingNewline Delimited (\n)