Notion MCP Server

$git clone https://github.com/Shameerpc5029/notion-mcp && cd notion-mcp-server && uv sync
README.md

Search, create, and manage Notion workspace content through natural language.

🚀 Notion MCP Server

A powerful Model Context Protocol (MCP) server that connects AI assistants like Claude to your Notion workspace. Seamlessly search, create, and manage your Notion content through natural language conversations!

✨ What This Does

Transform your AI assistant into a Notion powerhouse! With this MCP server, you can:

  • 🔍 Search through all your Notion pages and databases
  • 📝 Create new pages, databases, and content
  • ✏️ Update existing pages and properties
  • 📊 Query databases with complex filters
  • 🔗 Manage your entire Notion workspace through conversation

🎯 Quick Start

1. Prerequisites

  • Python 3.8 or higher
  • A Notion workspace
  • Nango account (for OAuth authentication)
  • Claude Desktop app (for AI integration)

2. Installation

# Clone or download the files
git clone <your-repo-url>
cd notion-mcp-server

# Install dependencies
uv sync

3. Notion Setup

  1. Create a Notion Integration:

    • Go to https://www.notion.so/my-integrations
    • Click "New integration"
    • Name it (e.g., "Claude MCP Integration")
    • Select your workspace
    • Set capabilities:
      • ✅ Read content
      • ✅ Insert content
      • ✅ Update content
    • Save and copy your integration token
  2. Share Pages with Integration:

    • Open any Notion page you want to access
    • Click "Share" → "Invite"
    • Select your integration
    • Repeat for all pages/databases you want to use

4. Nango Setup (OAuth)

  1. Create Nango Account: https://nango.dev
  2. Add Notion Integration in your Nango dashboard
  3. Configure OAuth with your Notion integration credentials
  4. Get your Nango credentials (Base URL, Secret Key, Connection ID)

5. Environment Configuration

Create a .env file with your credentials:

# Nango OAuth Configuration
NANGO_BASE_URL=https://api.nango.dev
NANGO_SECRET_KEY=your_nango_secret_key_here
NANGO_CONNECTION_ID=your_connection_id_here
NANGO_INTEGRATION_ID=notion

# Optional: Direct Notion Token (if not using Nango)
# NOTION_TOKEN=your_direct_notion_token_here

6. Claude Desktop Configuration

Add this to your Claude Desktop configuration file:

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "notion": {
      "command": "uvx",
      "args": ["git+https://github.com/Shameerpc5029/notion-mcp.git"],
      "env": {
        "NANGO_BASE_URL": "https://api.nango.dev",
        "NANGO_SECRET_KEY": "your_nango_secret_key",
        "NANGO_CONNECTION_ID": "your_connection_id", 
        "NANGO_INTEGRATION_ID": "notion"
      }
    }
  }
}

7. Test the Connection

# Test the server directly
python notion-mcp-server.py

# Or restart Claude Desktop and try asking:
# "Search my Notion for meeting notes"
# "Create a new task in my project database"

🛠️ Available Tools

Tool Description Example Use
notion_search Search across all content "Find pages about project planning"
notion_get_database Get database info "Show me my tasks database structure"
notion_query_database Query with filters "Show incomplete tasks due this week"
notion_create_database Create new databases "Create a CRM database with contacts"
notion_get_page Get page details "Show me the content of my meeting notes"
notion_create_page Create new pages "Add a new task to my project database"
notion_update_page Update existing pages "Mark this task as completed"
notion_get_block_children Get page content "Read the content of this page"
notion_append_blocks Add content to pages "Add meeting notes to this page"
notion_get_current_user Get integration info "Check my Notion connection status"

💬 Example Conversations with Claude

Once configured, you can have natural conversations like:

Task Management

You: "Show me all my incomplete tasks"
Claude: [Queries your tasks database and shows open items]

You: "Create a new task called 'Review MCP integration' due next Friday"
Claude: [Creates the task with proper due date]

You: "Mark the first task as completed"
Claude: [Updates the task status to Done]

Content Creation

You: "Create a meeting notes page for today's standup"
Claude: [Creates a new page with meeting template]

You: "Add action items from our discussion to that page"
Claude: [Appends bullet points with the action items]

Research & Organization

You: "Search for all pages mentioning 'API documentation'"
Claude: [Finds and lists relevant pages]

You: "Create a new database to track our API endpoints"
Claude: [Creates a structured database with relevant properties]

🔧 Troubleshooting

Common Issues

"Authentication Error"

  • Check your .env file

Tools (10)

notion_searchSearch across all content in the Notion workspace.
notion_get_databaseGet information about a specific database structure.
notion_query_databaseQuery a database with complex filters.
notion_create_databaseCreate new databases within Notion.
notion_get_pageRetrieve details and properties of a specific page.
notion_create_pageCreate new pages or add entries to a database.
notion_update_pageUpdate existing page properties or status.
notion_get_block_childrenRead the content blocks of a specific page.
notion_append_blocksAdd new content blocks to an existing page.
notion_get_current_userCheck integration info and connection status.

Environment Variables

NANGO_BASE_URLrequiredBase URL for Nango OAuth API
NANGO_SECRET_KEYrequiredSecret key from Nango dashboard
NANGO_CONNECTION_IDrequiredSpecific connection ID for the Notion integration
NANGO_INTEGRATION_IDrequiredIdentifier for the integration (usually 'notion')
NOTION_TOKENDirect Notion integration token (alternative to Nango)

Configuration

claude_desktop_config.json
{"mcpServers": {"notion": {"command": "uvx", "args": ["git+https://github.com/Shameerpc5029/notion-mcp.git"], "env": {"NANGO_BASE_URL": "https://api.nango.dev", "NANGO_SECRET_KEY": "your_nango_secret_key", "NANGO_CONNECTION_ID": "your_connection_id", "NANGO_INTEGRATION_ID": "notion"}}}}

Try it

Search my Notion for meeting notes from last week.
Create a new task called 'Review MCP integration' in my project database due next Friday.
Show me all incomplete tasks in my tasks database.
Add a new bullet point to the 'Project Planning' page about the API documentation.
Create a new database to track our API endpoints with properties for Name and Status.

Frequently Asked Questions

What are the key features of Notion MCP Server?

Search across all Notion pages and databases using natural language.. Create and update pages, databases, and content blocks.. Query databases with complex filters to find specific records.. Manage workspace organization through conversational AI commands.. Supports both OAuth via Nango and direct Notion integration tokens..

What can I use Notion MCP Server for?

Automated task management by creating and updating database entries via chat.. Quick information retrieval from a large Notion knowledge base.. Meeting documentation by creating pages and appending notes in real-time.. Database schema management for organizing new projects or CRM systems.. Content drafting and organization directly within a Notion workspace..

How do I install Notion MCP Server?

Install Notion MCP Server by running: git clone https://github.com/Shameerpc5029/notion-mcp && cd notion-mcp-server && uv sync

What MCP clients work with Notion MCP Server?

Notion MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use Notion MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free