🔌

Notion MCP

Productivity1,600

Access and manage Notion pages and databases.

Claude DesktopCursor

Overview

Access and manage Notion pages and databases.

Setup

Run with npx:

npx -y @modelcontextprotocol/server-notion

Configuration

NOTION_INTEGRATION_TOKEN environment variable

Documentation

Notion MCP Server

Overview

Access and manage Notion pages and databases directly from your AI agent through the Model Context Protocol.

Installation

Quick Setup

npx -y @modelcontextprotocol/server-notion

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-notion"],
      "env": {
        "NOTION_INTEGRATION_TOKEN": "your-token-here"
      }
    }
  }
}

Setup

  1. Create a Notion Integration

    • Go to Notion Developers
    • Create a new integration
    • Copy the internal integration token
  2. Connect to Your Workspace

    • Share the pages/databases you want to access with your integration
    • Click the three dots on the page > Add connections > Select your integration
  3. Configure the MCP Server

    • Set the NOTION_INTEGRATION_TOKEN environment variable
    • Restart your AI application

Available Tools

ToolDescription
searchSearch for pages and databases.
get_pageGet the contents of a page.
get_page_contentsGet full contents including child pages.
create_pageCreate a new page.
update_pageUpdate an existing page.
query_databaseQuery a Notion database.
get_databaseGet database schema and properties.
create_databaseCreate a new database.
append_blockAppend content to a page.
get_block_childrenGet child blocks of a page.

Usage Examples

Search for Pages

{
  "name": "search",
  "arguments": {
    "query": "project notes"
  }
}

Get Page Contents

{
  "name": "get_page_contents",
  "arguments": {
    "page_id": "your-page-id-here"
  }
}

Query a Database

{
  "name": "query_database",
  "arguments": {
    "database_id": "your-database-id",
    "filter": {
      "property": "Status",
      "select": {"equals": "In Progress"}
    }
  }
}

Create a Page

{
  "name": "create_page",
  "arguments": {
    "parent_page_id": "parent-page-id",
    "title": "Meeting Notes",
    "content": "## Agenda\n\n1. Project updates\n2. Action items"
  }
}

Security Notes

  • Use minimal permissions - Only grant access to necessary pages.
  • Rotate tokens regularly - Update your integration token periodically.
  • Audit access - Regularly review which pages your integration can access.
  • Use private integrations - For sensitive workspaces.

Integration Token Setup

  1. Go to Notion Developers
  2. Click New integration
  3. Give it a name (e.g., "AI Agent")
  4. Select the workspace
  5. Copy the Internal Integration Token
  6. Share pages with the integration

Resources