← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

Compare scores, permissions, risks, and fit in one decision-focused table.

DimensionNotion MCP ServerA token-auth, headless Notion MCP server for Claude, Cursor, and any MCP clientNotion MCP ServerOfficial Notion MCP server for querying, editing, and managing Notion pages and databases via AI agents.
FMRS61 / 100 · C64 / 100 · C
Reliability9 / 208 / 20
Security and permissions11 / 2017 / 20
Maintenance11 / 2010 / 20
Documentation17 / 2016 / 20
Setup experience13 / 2013 / 20
Best for
  • Automation and CI scenarios that need headless token auth (Notion's hosted MCP is OAuth-only)
  • Agents where context/token cost matters (only 422 tokens of tool schema at connection)
  • Workflows needing batch mutations, idempotency, retries, and rate limiting
  • Self-hosted deployments and developers exposing their own HTTP endpoint
  • Users of any MCP-speaking client (Claude, Cursor, VS Code, Cline, Zed, Continue, etc.)
  • Teams and individuals who already manage docs/wikis in Notion and want AI clients (Claude Desktop, Cursor, etc.) to operate on that content directly
  • Developers who want to self-host a local MCP server rather than use a remote hosted option
  • Automation/agent workflows that need to query or update Notion database records programmatically
Not for
  • Users who want a one-click Notion connection inside claude.ai or ChatGPT web UIs (use Notion's hosted MCP; ChatGPT's built-in connectors require OAuth-hosted servers)
  • Teams that prefer the official open-source server's one-tool-per-endpoint surface
  • Organizations unwilling to grant a third-party open-source service their Notion token (unless they audit or self-host)
  • Users who want the standard-OAuth, zero-JSON-config install with active official support — Notion recommends its newer remote Notion MCP server for that
  • Users uncomfortable handing a Notion integration token to a locally-run LLM client
  • Use cases needing capabilities the integration deliberately excludes, such as deleting databases
  • Long-term production deployments that need guaranteed maintenance, given this repo may be sunset
Required permissions
  • Requires NOTION_TOKEN: a Notion Personal Access Token (ntn_…, recommended — scope equals your account, expires in ~1 year) or an Internal Integration secret (only pages explicitly Connected)
  • Optional NOTION_PAGE_ID as default parent for create_page / create_database
  • Optional NOTION_UPLOAD_ROOT to confine which local directory upload_file's path source can read
  • Optional read-only deployment via NOTION_READ_ONLY=true or NOTION_ALLOWED_OPERATIONS=read; fine-grained control via NOTION_ALLOWED_OPERATIONS / NOTION_BLOCKED_OPERATIONS with group presets
  • A Notion internal integration token (NOTION_TOKEN or the Authorization value in OPENAPI_MCP_HEADERS), scoped by that integration's Capabilities (can be limited to read-only)
  • Access limited to the specific pages/databases explicitly connected to the integration, not the whole workspace
  • A separate bearer auth token when using the Streamable HTTP transport (--auth-token / AUTH_TOKEN)
  • Network access to the Notion API
Risks and side effects
  • The token acts as you: a PAT sees everything you can see, so a leak equals workspace exposure — issue per-member tokens and revoke immediately if a device is lost
  • When binding a non-loopback HTTP host, anyone reaching /mcp acts as your NOTION_TOKEN; failing to set MCP_AUTH_TOKEN is a serious exposure
  • Without NOTION_UPLOAD_ROOT, an upload_file path source can read any file the server process can access
  • Many write ops can modify or remove content: blocking the destructive group does not disable parameter-based removals like update_database's in_trash — use READ_ONLY or allow=read for guaranteed no-mutation
  • HTTP mode is single-tenant with one shared token — unsuitable for multi-user sharing
  • If the integration is granted broad read/write capabilities and connected to many pages, that content is effectively exposed to the LLM, risking data leakage or unintended edits
  • Running with --unsafe-disable-auth removes bearer authentication on the HTTP transport, potentially making it reachable via DNS rebinding from pages a user visits — the README says to only use it on an isolated network
  • Multi-tenant token passthrough requires careful TLS/gateway configuration; misconfiguration risks leaking or misrouting Notion tokens between tenants
  • The README states this local server may be sunset in favor of the remote Notion MCP, and that issues/PRs here are not actively monitored, so long-term maintenance and security fixes are not guaranteed
  • Storing NOTION_TOKEN or OPENAPI_MCP_HEADERS directly in shared client config files risks leaking the secret
Supported clientsClaude Code, Claude Desktop, Cursor, VS Code, Cline, Zed, Continue, ChatGPTClaude Desktop, Cursor, Zed, GitHub Copilot CLI
Tools29