Skip to main content

MCP server wrapping the Notion Python SDK (v2025-09-03)

Project description

notion-mcp

MCP (Model Context Protocol) server that wraps ldraney/notion-sdk — a Python SDK for the Notion API v2025-09-03.

Overview

This project exposes the full Notion Python SDK as MCP tools, allowing AI assistants (Claude, etc.) to interact with Notion workspaces through a standardized tool interface.

SDK Coverage

Every method in notion-sdk maps to an MCP tool, organized by module:

Pages

Tool SDK Method Notion Endpoint
create_page create_page() POST /v1/pages
get_page get_page() GET /v1/pages/{id}
update_page update_page() PATCH /v1/pages/{id}
archive_page archive_page() PATCH /v1/pages/{id}
move_page move_page() POST /v1/pages/{id}/move

Databases

Tool SDK Method Notion Endpoint
create_database create_database() POST /v1/databases
get_database get_database() GET /v1/databases/{id}
update_database update_database() PATCH /v1/databases/{id}
archive_database archive_database() PATCH /v1/databases/{id}
query_database query_database() auto-resolves data source, then POST /v1/data_sources/{id}/query

Data Sources

Tool SDK Method Notion Endpoint
get_data_source get_data_source() GET /v1/data_sources/{id}
update_data_source update_data_source() PATCH /v1/data_sources/{id}
query_data_source query_data_source() POST /v1/data_sources/{id}/query
list_data_source_templates list_data_source_templates() GET /v1/data_sources/{id}/templates

Blocks

Tool SDK Method Notion Endpoint
get_block get_block() GET /v1/blocks/{id}
get_block_children get_block_children() GET /v1/blocks/{id}/children
append_block_children append_block_children() PATCH /v1/blocks/{id}/children
update_block update_block() PATCH /v1/blocks/{id}
delete_block delete_block() DELETE /v1/blocks/{id}

Users

Tool SDK Method Notion Endpoint
get_users get_users() GET /v1/users
get_self get_self() GET /v1/users/me

Comments

Tool SDK Method Notion Endpoint
create_comment create_comment() POST /v1/comments
get_comments get_comments() GET /v1/comments

Search

Tool SDK Method Notion Endpoint
search search() POST /v1/search

24 tools total covering the complete Notion API v2025-09-03 surface.

Architecture

notion-mcp/
├── src/
│   └── notion_mcp/
│       ├── server.py          # MCP server entry point
│       ├── tools/
│       │   ├── pages.py       # Page tools
│       │   ├── databases.py   # Database & data source tools
│       │   ├── blocks.py      # Block tools
│       │   ├── users.py       # User tools
│       │   ├── comments.py    # Comment tools
│       │   └── search.py      # Search tools
│       └── ...
├── tests/
├── pyproject.toml
└── README.md

Each tool module mirrors the SDK's mixin structure, keeping a clean 1:1 mapping.

Prerequisites

  • Python >= 3.10
  • A Notion integration API key (NOTION_API_KEY)
  • notion-sdk (installed as a dependency)

Setup

# Clone
git clone https://github.com/ldraney/notion-mcp.git
cd notion-mcp

# Install
pip install -e .

# Configure
export NOTION_API_KEY="ntn_..."

Usage

With Claude Code

Add to your Claude Code MCP config (~/.claude/settings.json or project settings):

{
  "mcpServers": {
    "notion": {
      "command": "python",
      "args": ["-m", "notion_mcp"],
      "env": {
        "NOTION_API_KEY": "ntn_..."
      }
    }
  }
}

Standalone

python -m notion_mcp

Related

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

ldraney_notion_mcp-0.1.2.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

ldraney_notion_mcp-0.1.2-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file ldraney_notion_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: ldraney_notion_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ldraney_notion_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 df0d93e40006f9bb7e6c318f9cc184e6b0bc3a5743d3f9f4ad59acd7b4ce61c7
MD5 df80145350325ed690164795c71f3771
BLAKE2b-256 ddc2b9d4cf0a1a4bb3835502817c4bdb8a94730042a3123029b9a9c8d7a58efd

See more details on using hashes here.

File details

Details for the file ldraney_notion_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ldraney_notion_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 463629cd3ca31666af88be5bb3585aff871b1d712fc2f862928d5ac2f2b59378
MD5 62fdb90d7d100f1370d84aa4b1985dda
BLAKE2b-256 5b58be9d40691f5743b673c1ec8adc527703d8210b584b804b1ad6c59724b94e

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