Notion MCP Server
Not yet source-checkedThe official Notion MCP server: give Claude, Cursor, and Copilot typed access to your Notion pages, databases, and comments.
Machine-drafted from the vendor's site · not yet source-checkedProfile updated Link checked How we rate
In short
The official Notion MCP server gives Claude, Cursor, and Copilot typed access to your Notion workspace. It enables agents to read pages, query databases, and draft content via a standard interface.
Teams already living in Notion who want Claude, Cursor, or Copilot to read specs, query project databases, draft pages, and leave comments through a standard MCP surface without building a custom API client.
Users who need OAuth-based per-user login rather than a shared integration token, or workflows that require destructive admin operations (deleting databases, bulk workspace migrations) not exposed by the server.
Notion MCP Server is the official Model Context Protocol server maintained by Notion (makenotion) that lets any MCP-compatible client — Claude Desktop, Claude Code, Cursor, Zed, GitHub Copilot CLI, and other agent hosts — read and write a Notion workspace through a typed tool interface. It wraps the Notion REST API behind roughly two dozen MCP tools covering pages, blocks, data sources (the v2 successor to the old database_id addressing), comments, search, and templates, plus two Markdown-native endpoints (retrieve-page-markdown and update-page-markdown) that dramatically cut token usage compared to walking the block tree JSON-first. Authentication is a Notion internal-integration token (NOTION_TOKEN) with per-page and per-database access explicitly granted from the Notion side, so scope is bounded by what the human shares with the integration rather than by broad OAuth consent. It ships as an npm package (@notionhq/notion-mcp-server, launchable via npx with zero install) and as an official Docker image (mcp/notion), and supports both stdio and streamable HTTP transports — the HTTP mode accepts bearer tokens and per-request token passthrough, which is what you want if you are fronting the server for multiple tenants or from a hosted agent runtime. Typical workflows: an agent that drafts weekly reports into a Notion page, a research assistant that queries a projects database and appends findings, a meeting-notes pipeline that inlines transcripts as Markdown, or a Claude Code session that reads a spec page and files follow-up comments. It is the reference implementation of the MCP contract for Notion, so behaviour tracks the API's own semantics closely and breaking changes (the v2 data_source_id migration, for example) are called out in the README.
This is the MCP server I reach for first when an agent needs to touch Notion — being the official implementation matters because the API's data_source vs database_id churn would be painful to track in a community fork. The Markdown endpoints are the quiet win: they make long-page editing actually tractable for a token-budgeted agent. Just remember that the security model is whatever you granted the integration, not whatever the human user can see.
— The AI Tool Bible editorial team
Pros
- ✅ Official and actively maintained by Notion, so the tool surface tracks the real API rather than a community reverse-engineering
- ✅ Markdown read/write endpoints make page editing dramatically more token-efficient than raw block JSON
- ✅ Runs via npx or Docker with no build step; wiring into Claude Desktop, Cursor, or Copilot CLI is a small JSON snippet
- ✅ Both stdio and streamable HTTP transports, with bearer-token auth and per-request token passthrough for multi-tenant hosting
- ✅ Permission scope is bounded by which pages you share with the integration in Notion, giving fine-grained blast-radius control
- ✅ MIT-licensed and easy to fork if you need custom tool shapes or additional guardrails
- ✅ Broad coverage: pages, blocks, data sources, comments, search, templates, and content moves
Cons
- ⚠️ Internal-integration tokens are static secrets; there is no first-party OAuth flow in the local server yet (a remote OAuth version is hinted but not shipped)
- ⚠️ V2.0 dropped the old database_id tools in favour of data_source_id, so older agent prompts and any scripts that hard-coded the previous tool names need to be updated
- ⚠️ Intentionally omits destructive operations like deleting databases, which is safe but occasionally frustrating for cleanup workflows
- ⚠️ README itself flags a non-zero risk of exposing workspace data to an LLM; you need to think about read-only integrations for sensitive spaces
- ⚠️ Requires a per-page or per-database access grant in Notion for every resource the agent should see — easy to forget and a common cause of empty query results
- ⚠️ Rate limits, pagination quirks, and schema oddities are inherited from the underlying Notion API and are not smoothed over by the server
Facts
- API available
- Yes
- Open source
- Yes (license: MIT)
- GitHub stars
- 4,686 (checked Oct 29, 2026)
- Last GitHub push
- Oct 28, 2026
- First commit
- Mar 2025
Where this tool sits
Use cases
Frequently asked
- How much does the Notion MCP Server cost?
- The server itself is free and MIT-licensed. However, you need a Notion workspace. Notion plans range from Free to Plus ($10/user/mo), Business ($18/user/mo), and Enterprise (custom), depending on your feature needs.
- Which AI tools are compatible with this server?
- It works with any MCP-compatible client, including Claude Desktop, Claude Code, Cursor, Zed, and GitHub Copilot CLI. It supports both stdio and streamable HTTP transports for flexible integration into various agent hosts.
- How do I authenticate with the Notion MCP Server?
- Authentication uses a Notion internal-integration token (NOTION_TOKEN). Access is bounded by what you explicitly share with the integration on the Notion side, rather than using broad OAuth consent. This allows for precise per-page and per-database permissions.
- Is there a learning curve for setup?
- Setup is straightforward. It ships as an npm package launchable via npx with zero install, or as an official Docker image. The typed tool interface simplifies interactions compared to building a custom API client from scratch.
- What specific tasks can the server perform?
- It covers pages, blocks, data sources, comments, search, and templates. It also includes Markdown-native endpoints to reduce token usage. Typical workflows include drafting reports, querying databases, inlining meeting transcripts, and filing comments.
- Are there any limitations or features it doesn't support?
- It does not support OAuth-based per-user login, requiring a shared integration token instead. It also does not expose destructive admin operations like deleting databases or bulk workspace migrations, which are not available through the server.