Notion MCP

Integrations

  • Integrates with Notion's API to manage personal todo lists, providing functions to show all tasks, add new tasks, and update existing tasks in a Notion workspace.

notion-mcp

A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.

Demo

Visual Guide

Notion MCP Query 1

Notion MCP Query 2

Notion MCP Query 3

Prerequisites

  • Python 3.11 or higher
  • A Notion account with API access
  • A Notion integration token
  • A Notion page where you want to manage your todo list
  • Claude Desktop clint

Setup

Installing via Smithery

To install Notion MCP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @Badhansen/notion-mcp --client claude
  1. Clone the repository:
git clone https://github.com/Badhansen/notion-mcp.git cd notion-mcp
  1. Set up Python environment:
uv venv source .venv/bin/activate uv pip install -e .
  1. Create a Notion integration:
  2. Share your database/page with the integration:
    • Open your notion workspace with a database/table present or a page.
    • Click "..." menu → "Add connections"
    • Select your integration (Search by name)

Configuration

  1. Create .env file:
cp .env.example .env
  1. Configure Notion credentials in .env:
NOTION_TOKEN=<your-notion-api-token> PAGE_ID=<your-notion-page-id> NOTION_VERSION="2022-06-28" NOTION_BASE_URL="https://api.notion.com/v1"
  1. To use it with Claude Desktop as intended you need to adjust your claude_desktop_config.json file. Go to Claude Desktop -> Settings -> Developer -> Edit Config. Now add the Notion server configuration.
{ "mcpServers": { "notion-mcp": { "command": "uv", "args": [ "--directory", "/Users/username/Projects/Python/notion-mcp/src" /* Path to your project */, "run", "server.py" ] } } }

Development

Project structure:

notion-mcp/ ├── docs/ ├── src/ │ └── server.py ├── .env ├── .python-version ├── README.md ├── pyproject.toml └── uv.lock

Support Functions

Show Tasks

To show all tasks from your Notion workspace, use the show_all_todos function:

{ "name": "show_all_todos", "arguments": {} }
Add Task

To add a new task to your Notion workspace, use the add_todo function:

{ "name": "add_todo", "arguments": { "task": "Your task description" } }
Update Task

To update an existing task in your Notion workspace, use the complete_todo function:

{ "name": "complete_todo", "arguments": { "task_id": "your-task-id" } }

Contributing

  1. Fork the repository
  2. Create feature branch
  3. Submit pull request

License

MIT License. See LICENSE file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A Model Context Protocol server that integrates with Notion's API to manage personal todo lists, allowing users to view, add, and update tasks directly from Claude.

  1. Demo
    1. Visual Guide
      1. Notion MCP Query 1
      2. Notion MCP Query 2
      3. Notion MCP Query 3
    2. Prerequisites
      1. Setup
        1. Installing via Smithery
      2. Configuration
        1. Development
          1. Support Functions
            1. Show Tasks
            2. Add Task
            3. Update Task
          2. Contributing
            1. License

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list through Claude.
                Last updated -
                117
                Python
                MIT License
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that provides a standardized interface for interacting with Notion's API, enabling users to list databases, create pages, and search across their Notion workspace.
                Last updated -
                95
                Python
                MIT License
                • Apple
              • -
                security
                A
                license
                -
                quality
                A Model Context Profile server that enables Claude to interact with Todoist, allowing users to create, retrieve, update, and manage tasks through natural language commands.
                Last updated -
                1
                Python
                MIT License
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that bridges Claude with Google Tasks, allowing users to manage task lists and tasks directly through Claude interface.
                Last updated -
                5
                TypeScript
                MIT License
                • Apple

              View all related MCP servers

              ID: 02p0quowuj