Notion MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "NANGO_BASE_URL=${NANGO_BASE_URL}" -e "NANGO_SECRET_KEY=${NANGO_SECRET_KEY}" -e "NANGO_CONNECTION_ID=${NANGO_CONNECTION_ID}" -e "NANGO_INTEGRATION_ID=${NANGO_INTEGRATION_ID}" notion-mcp -- uvx git+https://github.com/ampcome-mcps/notion-mcp.git
Required:NANGO_BASE_URLNANGO_SECRET_KEYNANGO_CONNECTION_IDNANGO_INTEGRATION_ID+ 1 optional
README.md

Connects AI assistants to Notion workspaces for search and management.

🚀 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/ampcome-mcps/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 h

Tools (10)

notion_searchSearch across all content in Notion
notion_get_databaseGet database info
notion_query_databaseQuery databases with filters
notion_create_databaseCreate new databases
notion_get_pageGet page details
notion_create_pageCreate new pages
notion_update_pageUpdate existing pages
notion_get_block_childrenGet page content
notion_append_blocksAdd content to pages
notion_get_current_userGet integration info

Environment Variables

NANGO_BASE_URLrequiredNango OAuth base URL
NANGO_SECRET_KEYrequiredNango secret key
NANGO_CONNECTION_IDrequiredNango connection ID
NANGO_INTEGRATION_IDrequiredNango integration ID (notion)
NOTION_TOKENDirect Notion integration token (alternative to Nango)

Configuration

claude_desktop_config.json
{"mcpServers": {"notion": {"command": "uvx", "args": ["git+https://github.com/ampcome-mcps/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
Create a new task in my project database
Show incomplete tasks due this week
Create a meeting notes page for today's standup
Add action items from our discussion to that page

Frequently Asked Questions

What are the key features of Notion MCP Server?

Search through all Notion pages and databases. Create new pages and databases. Update existing page properties and content. Query databases using complex filters. Manage workspace content via natural language.

What can I use Notion MCP Server for?

Automating task management by creating and updating items in a project database. Quickly retrieving meeting notes or project documentation via search. Generating structured databases for tracking API endpoints or contacts. Appending action items to existing meeting pages during a conversation.

How do I install Notion MCP Server?

Install Notion MCP Server by running: git clone <your-repo-url> && 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.

Turn this server into reusable context

Keep Notion MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare