← Back to Articles
TutorialNotionClaudeMCP Server

How to Connect Claude to Notion Using MCP

Step-by-step tutorial to connect Claude Desktop to your Notion workspace using the official MCP Notion server. Search, read, and create pages directly from Claude.

By Web MCP GuideFebruary 14, 20266 min read


Imagine asking Claude to search your Notion workspace, summarize your meeting notes, or draft a new page based on existing content. With MCP, this is not only possible — it's straightforward to set up.

This tutorial walks you through connecting Claude Desktop to Notion using the official MCP Notion server.

What You'll Achieve

After completing this guide, Claude will be able to:

  • Search across your Notion workspace

  • Read page content and database entries

  • Create new pages

  • Append content to existing pages

  • Comment on pages
  • If you're new to MCP, read our introduction to the Model Context Protocol first.

    Prerequisites

    Before starting, you'll need:

  • Claude Desktop installed (macOS or Windows)

  • A Notion account with workspaces you want to access

  • Node.js 18+ installed

  • Basic comfort with the command line
  • Step 1: Create a Notion Integration

    First, we need to create an internal Notion integration to get an API key.

    1. Go to notion.so/my-integrations
    2. Click "+ New integration"
    3. Give it a name like "Claude MCP"
    4. Select the workspace you want to connect
    5. Under Capabilities, enable:

  • Read content

  • Update content

  • Insert content

  • Read comments (optional)

  • Insert comments (optional)

  • 6. Click Submit
    7. Copy the Internal Integration Token (starts with ntn_)

    Keep this token secure — it grants access to your Notion data.

    Step 2: Share Pages with Your Integration

    Notion integrations can only access pages explicitly shared with them.

    1. Open a Notion page or database you want Claude to access
    2. Click the "..." menu in the top right
    3. Select "Connections""Connect to"
    4. Find and select your "Claude MCP" integration
    5. Repeat for other pages/databases as needed

    Tip: Share a parent page to grant access to all child pages automatically.

    Step 3: Install the MCP Notion Server

    The official Notion MCP server is available via npm:

    npm install -g @modelcontextprotocol/server-notion

    Verify the installation:

    npx @modelcontextprotocol/server-notion --help

    Step 4: Configure Claude Desktop

    Now we connect Claude Desktop to the Notion server.

    On macOS

    Edit the Claude Desktop configuration file:

    code ~/Library/Application\ Support/Claude/claude_desktop_config.json

    On Windows

    Edit:

    %APPDATA%\Claude\claude_desktop_config.json

    Add the Notion Server Configuration

    Add or update the mcpServers section:

    {
    "mcpServers": {
    "notion": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-notion"],
    "env": {
    "NOTION_API_KEY": "ntn_your_integration_token_here"
    }
    }
    }
    }

    Replace ntn_your_integration_token_here with your actual token from Step 1.

    Security Note

    Storing API keys in configuration files isn't ideal for production. For better security practices, see our MCP Security Best Practices guide.

    Step 5: Restart Claude Desktop

    Close Claude Desktop completely and reopen it. The Notion MCP server should now be active.

    You can verify by looking for the hammer icon (🔨) in the Claude interface, which indicates available tools.

    Step 6: Test the Connection

    Try asking Claude:

  • "Search my Notion for meeting notes"

  • "What pages do I have about project planning?"

  • "Summarize the content of my 'Weekly Goals' page"
  • Claude will use the Notion MCP tools to search and retrieve content.

    Available Tools

    The Notion MCP server provides these tools:

    notion_search


    Search across your workspace:
    "Search Notion for quarterly reports"

    notion_get_page


    Retrieve a specific page's content:
    "Get the content from page ID abc123"

    notion_create_page


    Create new pages:
    "Create a new page titled 'Project Kickoff Notes' under my Projects database"

    notion_append_block


    Add content to existing pages:
    "Add a bullet point to my todo list page"

    notion_add_comment


    Comment on pages:
    "Add a comment asking for review on the proposal page"

    Practical Use Cases

    Meeting Notes Assistant

    "Search my Notion for last week's meeting notes and create a summary page with action items."

    Research Aggregator

    "Find all my notes tagged 'research' and compile them into a new page called 'Research Overview'."

    Project Updates

    "Look at my active projects database and create a weekly status update page."

    Knowledge Base Q&A

    "Based on my Notion documentation, explain how our deployment process works."

    For more use case inspiration, see our MCP Real-World Examples.

    Troubleshooting

    Claude doesn't show any Notion tools

    1. Verify the configuration JSON is valid (no trailing commas, proper quotes)
    2. Check the API key is correct
    3. Restart Claude Desktop completely
    4. Check Claude's logs for errors:

       # macOS
    tail -f ~/Library/Logs/Claude/mcp*.log

    "Page not found" errors

    Remember: integrations only access explicitly shared pages. Make sure you've connected the page to your integration (Step 2).

    Rate limiting

    Notion has API rate limits. If you're making many requests, you may need to wait before trying again.

    Server won't start

    Verify Node.js is installed and accessible:

    node --version  # Should be 18+
    npx --version

    Advanced Configuration

    Using Environment Variables

    Instead of hardcoding the API key, use environment variables:

    {
    "mcpServers": {
    "notion": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-notion"],
    "env": {
    "NOTION_API_KEY": "${NOTION_API_KEY}"
    }
    }
    }
    }

    Then set the environment variable in your shell profile:

    export NOTION_API_KEY="ntn_your_token"

    Multiple Workspaces

    To connect multiple Notion workspaces, create separate integrations and server configurations:

    {
    "mcpServers": {
    "notion-work": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-notion"],
    "env": {
    "NOTION_API_KEY": "ntn_work_token"
    }
    },
    "notion-personal": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-notion"],
    "env": {
    "NOTION_API_KEY": "ntn_personal_token"
    }
    }
    }
    }

    What's Next?

    Now that Claude can access your Notion, explore other integrations:

  • Top 10 MCP Servers You Should Know

  • Build Your Own MCP Server

  • Local vs Remote MCP Servers
  • You can combine multiple MCP servers — imagine Claude accessing your Notion, calendar, and email all at once for a truly integrated assistant experience.

    Conclusion

    Connecting Claude to Notion via MCP unlocks powerful workflows. Your notes, documentation, and databases become part of Claude's context, enabling it to help you in ways that weren't possible before.

    The setup takes about 10 minutes, and the productivity gains are immediate. Give it a try and see how much more useful Claude becomes when it can actually access your information.