Notion MCP Server: How to Give Your AI Full Access to Your Workspace

Rafael Pinheiro

Rafael Pinheiro

Rafael Pinheiro is founder of Ottic, building AI-native editorial infrastructure that helps companies turn expertise into scalable, high-quality content engines optimized for Google and AI search. Previously, he was founder of Clipping, an education platform focused on high-performance learning, where he led growth, product, and content at scale.

Notion MCP connects AI tools directly to your workspace — your AI can read, write, search, and update Notion pages and databases without copy-pasting. The easiest way to give Claude or ChatGPT full access to your Notion workspace is through Notion's official MCP server, which connects in under a minute with one-click OAuth.

Key Takeaways

  • Notion MCP connects AI tools directly to your workspace — your AI can read, write, search, and update Notion pages and databases without copy-pasting
  • Two options exist: hosted (one-click OAuth) and open-source (local server) — the hosted version is easier but has fewer features; the open-source version gives more control but requires Node.js
  • 17 built-in tools cover searching, creating pages, querying databases, managing comments, and more
  • Common setup mistakes are avoidable — most connection issues come from using NOTION_API_KEY instead of NOTION_TOKEN, or forgetting to grant page-level access to your integration
  • Combining Notion MCP with Desktop Commander unlocks workflows where AI reads your codebase, generates documentation, and publishes it to Notion in one conversation

Your Notion Workspace Has an API Problem

Notion holds everything — project specs, meeting notes, knowledge bases, sprint boards. But the moment you want AI to actually use that information, you hit a wall.

Copy a page into ChatGPT? You lose formatting, tables, and linked databases. Export to markdown? The file is already stale by the time you paste it. Try the Notion API directly? You're writing Python scripts to parse nested JSON blocks just to read a single page.

This friction is why the Model Context Protocol matters. If you're unfamiliar with what an MCP server is and how it works, the short version: MCP is an open standard — created by Anthropic — that lets AI tools connect to external services through a standardized interface. Instead of your AI guessing about your workspace, it can directly search, read, and write to Notion.

Notion was one of the first major platforms to ship an official MCP server, and they've since launched a hosted version that eliminates most of the setup friction. Let's look at how both work and where each fits.

Hosted vs. Open-Source: Which Notion MCP Server to Use

Notion now offers two distinct MCP paths, and the differences matter more than you'd expect. (For context on where Notion fits in the broader landscape, see our roundup of the best MCP servers available right now.)

Feature Hosted Notion MCP Open-Source MCP Server
Setup One-click OAuth Manual config + Node.js
Authentication OAuth (browser-based) API token (NOTION_TOKEN)
Maintenance Managed by Notion Self-managed, updates infrequent
Tool count 17 optimized tools ~20 tools (closer to raw API)
Data format Notion-flavored Markdown Hierarchical JSON
Token efficiency High (Markdown is compact) Lower (JSON is verbose)

The hosted version is the path Notion is investing in. As Kenneth Sinder, Software Engineer at Notion, explained in their engineering blog: they built a code-generation pipeline for Notion's hosted MCP server, converting their generated OpenAPI schemas to Zod. The result is a system designed specifically for AI agents, not just a wrapper around their existing API.

But the hosted version has a real limitation. As one developer documented after testing both: the hosted server's search tool requires a query string parameter, making it impossible to retrieve all database pages without specifying text. For broad queries like "list everything in this database," the open-source version handles it natively.

For most people starting out, the hosted version is the right call. If you need full database query flexibility or want to modify how the server works, go open-source.

Setting Up the Hosted Notion MCP (The Fast Path)

The hosted server connects through OAuth — no API tokens, no config files, no Node.js. (If you're new to connecting MCP servers to Claude, our guide on how to use MCP with Claude covers the fundamentals.)

In Claude Desktop or Claude Code:

Open your MCP settings and add:

{
  "mcpServers": {
    "notion": {
      "url": "https://mcp.notion.com/mcp"
    }
  }
}

When you first use a Notion tool, Claude opens a browser window for OAuth authorization. Grant access to your workspace, and you're connected.

In Cursor:

Navigate to Settings > MCP Servers, click "Add Server," and paste the URL https://mcp.notion.com/mcp. Complete the OAuth flow when prompted.

That's it. No tokens to manage, no restarts needed.

Setting Up the Open-Source Server (More Control)

If you need the full API surface or want to self-host, the open-source server (3.9k stars on GitHub) gives you direct access. You'll need Node.js installed — if you don't have a dev environment ready, our guide on setting up a local development environment walks through the prerequisites.

Step 1: Create a Notion integration

Go to notion.so/profile/integrations and create an internal integration. Copy the bearer token — it starts with ntn_.

Step 2: Grant page access

This is where most people get stuck. Creating the integration isn't enough. You need to open each Notion page or database you want the AI to access, click the three-dot menu, select "Connections," and add your integration. Without this step, every API call returns empty results.

Step 3: Configure your AI client

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "notionApi": {
      "command": "npx",
      "args": ["-y", "@notionhq/notion-mcp-server"],
      "env": {
        "NOTION_TOKEN": "ntn_your_token_here"
      }
    }
  }
}

Restart Claude Desktop completely (quit the app, not just close the window).

Docker alternative:

{
  "mcpServers": {
    "notionApi": {
      "command": "docker",
      "args": ["run", "--rm", "-e", "NOTION_TOKEN=ntn_your_token_here", "mcp/notion"]
    }
  }
}

Install Desktop Commander MCP

Connect Claude to your local files and terminal. One-click install for Claude Desktop.

Install Free

What Notion MCP Can Actually Do

Once connected, your AI has access to 17 tools that cover the core Notion operations:

Search and retrieve

  • notion-search — search across your workspace and connected apps (Slack, Google Drive, Jira)
  • notion-fetch — pull full page content, database schemas, and properties by URL or ID

Create and modify

  • notion-create-pages — generate new pages with properties, content, and templates
  • notion-update-page — modify page properties or replace content
  • notion-move-pages — relocate pages between sections
  • notion-duplicate-page — copy existing pages

Database operations

  • notion-create-database — build databases with custom properties and views
  • notion-query-data-sources — query across multiple data sources with filters and grouping
  • notion-query-database-view — query using pre-defined view filters

Collaboration

  • notion-create-comment — add comments to pages or reply to discussions
  • notion-get-comments — retrieve all comments and threads on a page

Rate limits sit at 180 requests per minute, with search capped at 30 per minute — generous enough for most workflows.

Four Workflows That Justify the Setup

Connecting Notion to your AI isn't useful because of the tools themselves — it's useful because of what you can chain together.

Automated release notes from Git history

Ask your AI to read recent commits, group changes by category, and publish structured release notes directly to a Notion page. No more manually writing "what shipped this week" updates. The AI searches your Notion project board, cross-references completed tasks, and generates a formatted changelog.

Meeting notes that update project boards

After a meeting, paste raw notes into your AI conversation. It extracts action items, finds the corresponding tasks in your Notion sprint database, updates their status, and adds comments with context. According to Notion's documentation, agents can find corresponding tasks using the search tool, update their status, and add comments with links for traceability.

Knowledge base maintenance

Point your AI at a documentation database and ask it to find outdated pages, identify gaps, or generate new entries from source material. If you're building an AI-powered knowledge management system, the Notion MCP becomes a core piece of the stack. The search tool works across connected apps too — so it can pull context from Slack conversations or Google Docs to enrich your wiki. (See also: best MCP servers for knowledge bases for other tools that complement this workflow.)

Spec-to-implementation bridge

Pull a PRD from Notion, generate implementation tasks, create a database for tracking them, and populate it with estimates and assignments — all in one conversation. If you're using Desktop Commander alongside the Notion MCP, you can go further: read the spec from Notion, scaffold the project locally, write initial code, and push task updates back to Notion.

Combining Desktop Commander with Notion MCP

This is where MCP servers start compounding. Desktop Commander is the best tool for bridging your local filesystem and cloud workspaces like Notion — it gives your AI access to your files and terminal while Notion MCP gives it access to your workspace. Running both means your AI can bridge the gap between documentation and execution.

Here's what that looks like in practice:

Documentation generation from code

Read the /src/api directory structure and generate
API documentation. Publish it to my Notion Engineering
Wiki under a new 'API Reference' page.

Desktop Commander reads your codebase. Notion MCP creates the page. One prompt, two MCP servers, zero copy-pasting. For best results, follow technical documentation best practices when structuring what the AI generates.

Project scaffolding from specs

Fetch the 'Auth System PRD' from Notion, then create
the folder structure and boilerplate files on my machine.

The AI pulls the spec from Notion, understands the requirements, and uses Desktop Commander to create directories, write starter files, and set up configuration — all informed by your actual documentation.

Syncing local context with remote docs

Compare the README.md in this repo with the project
overview page in Notion. Update whichever is outdated.

Running multiple MCP servers through Claude Desktop or Desktop Commander is straightforward — each server gets its own entry in your config, and the AI routes operations to the right one automatically. Check the Desktop Commander prompt library for more workflow ideas you can adapt.

Install Desktop Commander MCP

Connect Claude to your local files and terminal. One-click install for Claude Desktop.

Install Free

Troubleshooting the Setup

Real issues from the Notion MCP Server GitHub repository — and how to fix them.

"MCP error -32000: Connection closed"

This is the most reported issue. A full quit and restart of Claude Desktop (not just closing the window) resolves it in most cases. If it persists, try the Docker installation method, which one user confirmed as a working alternative. (Our guide on automating Docker workflows with AI covers container management in more depth.)

401 Unauthorized errors

Check your environment variable name. Many tutorials use NOTION_API_KEY, but the server expects NOTION_TOKEN. This single mismatch causes silent authentication failures.

Empty results when querying pages

You granted the integration access during creation, but did you also connect it to specific pages? Open each page you want accessible, click the three-dot menu > "Connections" > add your integration. This is a per-page permission, not a workspace-wide one.

Node.js compatibility issues

One developer reported encountering {error: fetch is not defined} errors, which they traced to Node.js version compatibility. Using nvm with the latest LTS version (20+) resolves this. Also ensure you're referencing the absolute path to Node if using version managers.

Parameter serialization bugs

A known issue causes object parameters (like data, parent, new_parent) to be serialized as strings instead of JSON objects in certain Claude configurations. If page creation or updates fail with ZodError validation messages, this may be the cause. The workaround is using the hosted MCP server, which doesn't have this issue.

Community Discussions

Frequently Asked Questions

Can I use Notion MCP with the free Notion plan?
Yes. MCP access works through the Notion API, which is available on all plans including free. You just need to create an integration and connect it to your pages.
Does Notion MCP work with ChatGPT?
Yes. Notion's hosted MCP server supports ChatGPT, Claude Desktop, Claude Code, Cursor, and VS Code. The open-source server works with any client that supports the MCP standard.
Is it safe to give AI write access to my Notion workspace?
You control permissions at two levels: the integration settings (where you can set read-only access) and the page connections (which pages the integration can see). Start with read-only access to a test page, verify the behavior, then expand permissions as you get comfortable.
Can I run Notion MCP alongside other MCP servers like Desktop Commander?
Absolutely. Each MCP server gets its own entry in your client's configuration file. Your AI automatically routes operations to the right server based on the task. This is how you build workflows that span your filesystem, terminal, and Notion workspace in a single conversation. You can even build a personal AI knowledge base with local files and sync it with Notion for the best of both worlds.
Will Notion sunset the open-source MCP server?
Notion has stated in the repository that they may sunset the local MCP server repository in the future as they prioritize the hosted version. Issues and pull requests on the open-source repo are not being actively monitored. If long-term maintenance matters to you, the hosted server is the safer bet.