Skip to main content

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

Project description

notion-mcp

Ask DeepWiki

Trust Score smithery badge

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

Demo

Demo

Visual Guide

Notion MCP Query 1

Notion MCP Query 1

Notion MCP Query 2

Notion MCP Query 1

Notion MCP Query 3

Notion MCP Query 1

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_badhansen_notion_mcp-1.0.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_badhansen_notion_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_badhansen_notion_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_badhansen_notion_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c220c4ac51220ed0e8ca804d7613699fa4df32e232b7ea33d95e4808500f3724
MD5 73fca1918fd5bb49085f40f008988a08
BLAKE2b-256 344df58c80a8a4abad88c077bd0529ea26cae3684632e16b668c39d7372f838e

See more details on using hashes here.

File details

Details for the file iflow_mcp_badhansen_notion_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_badhansen_notion_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_badhansen_notion_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d75114239d2865b8988c2f7bb0f9da3dac2e88f96158e4741503725797566c25
MD5 bac93284a045628df1f7c1578633bf5a
BLAKE2b-256 f0074134ed356426d42a61c157ae4bb39b2105e0f4f4d31568f8ca40b2ee5016

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page