Notion API MCP Server

by pbohannon
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides advanced todo list management and content organization capabilities through Notion's API, including task management, database operations, content structuring, and real-time integration with Notion's workspace, pages, and databases.

Notion API MCP

NotionのAPIを通じて高度なToDoリスト管理とコンテンツ整理機能を提供するModel Context Protocol(MCP)サーバー。MCPはAIモデルと外部ツールやサービスとの連携を可能にし、Notionの強力な機能とのシームレスな統合を実現します。

MCPの概要

AI モデルが Notion の API と対話できるようにし、次の機能を提供する Python ベースの MCP サーバー。

  • ToDo 管理: リッチ テキスト、期限、優先度、ネストされたサブタスクを使用してタスクを作成、更新、追跡します
  • データベース操作: カスタムプロパティ、フィルター、ビューを使用して Notion データベースを作成および管理します
  • コンテンツの構成: Markdown サポート、階層リスト、ブロック操作を使用してコンテンツを構造化およびフォーマットします。
  • リアルタイム統合: クリーンな非同期実装を通じて、Notion のワークスペース、ページ、データベースと直接対話できます。

全機能リスト →

クイックスタート

# Clone and setup git clone https://github.com/yourusername/notion-api-mcp.git cd notion-api-mcp uv venv && source .venv/bin/activate # Install and configure uv pip install -e . cp .env.integration.template .env # Add your Notion credentials to .env: # NOTION_API_KEY=ntn_your_integration_token_here # NOTION_PARENT_PAGE_ID=your_page_id_here # For new databases # NOTION_DATABASE_ID=your_database_id_here # For existing databases # Run the server python -m notion_api_mcp

はじめる

1. Notion統合を作成する

  1. https://www.notion.so/my-integrationsにアクセスしてください。
  2. 「新しい統合」をクリックします
  3. 統合に名前を付けます(例:「My MCP Integration」)
  4. 統合を使用するワークスペースを選択します
  5. 「内部統合トークン」をコピーします。これがNOTION_API_KEYになります。
    • 「ntn_」で始まる必要があります

2. Notion Accessを設定する

親ページ (新しいデータベースを作成する場合) または既存のデータベース ID のいずれかが必要になります。

オプションA: 新しいデータベースの親ページ

  1. ブラウザでNotionを開く
  2. データベースを作成する新しいページを作成するか、既存のページを開きます
  3. 右上の•••メニューをクリックします
  4. 「接続を追加」を選択し、統合を選択します
  5. URLからページIDをコピーします。これは最後のスラッシュの後、疑問符の前の文字列です。
    • 例: https://notion.so/myworkspace/123456abcdef...では、ID は123456abcdef...です。
    • これはあなたのNOTION_PARENT_PAGE_IDになります

オプションB: 既存のデータベース

  1. 既存のNotionデータベースを開く
  2. 統合に接続されていることを確認してください(••• メニュー > 接続を追加)
  3. URLからデータベースIDをコピーします
    • 例: https://notion.so/myworkspace/123456abcdef...?v=...では、ID は123456abcdef...です。
    • これはあなたのNOTION_DATABASE_IDになります

3. MCPサーバーをインストールする

  1. 仮想環境を作成する:
cd notion-api-mcp uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. 依存関係をインストールします:
uv pip install -e .
  1. 環境を構成する:
cp .env.integration.template .env
  1. Notion の資格情報を使用して .env を編集します。
NOTION_API_KEY=ntn_your_integration_token_here # Choose one or both of these depending on your needs: NOTION_PARENT_PAGE_ID=your_page_id_here # For creating new databases NOTION_DATABASE_ID=your_database_id_here # For working with existing databases

4. Claudeデスクトップを設定する

重要: サーバーは .env ファイルと環境変数の両方をサポートしていますが、Claude Desktop では、MCP を使用するために構成ファイルでの構成が特に必要です。

Claude Desktop の設定 ( ~/Library/Application Support/Claude/claude_desktop_config.json ) に追加します。

{ "mcpServers": { "notion-api": { "command": "/path/to/your/.venv/bin/python", "args": ["-m", "notion_api_mcp"], "env": { "NOTION_API_KEY": "ntn_your_integration_token_here", // Choose one or both: "NOTION_PARENT_PAGE_ID": "your_page_id_here", "NOTION_DATABASE_ID": "your_database_id_here" } } } }

注: .env ファイルを設定している場合でも、Claude が MCP を使用するには、Claude Desktop の設定にこれらの環境変数を追加する必要があります。.env ファイルは主にローカル開発とテストに使用されます。

ドキュメント

発達

サーバーは、全体的に最新の Python 非同期機能を使用します。

  • Pydantic モデルを使用した型安全な構成
  • パフォーマンス向上のため httpx を使用した非同期 HTTP
  • Notionの機能を公開するためのクリーンなMCP統合
  • 適切なリソースのクリーンアップとエラー処理

デバッグ

サーバーには包括的なログ機能が含まれています:

  • 開発用コンソール出力
  • サービスとして実行中のファイルログ
  • 詳細なエラーメッセージ
  • デバッグレベルでのリクエスト/レスポンスのログ記録

直接実行するときにプロジェクト ルートを含めるようにPYTHONPATH設定します。

PYTHONPATH=/path/to/project python -m notion_api_mcp

将来の開発

計画されている機能強化:

  1. パフォーマンスの最適化
    • リクエストキャッシュを追加する
    • データベースクエリを最適化する
    • 接続プールを実装する
  2. 高度な機能
    • マルチワークスペースのサポート
    • バッチ操作
    • リアルタイム更新
    • 高度な検索機能
  3. 開発者エクスペリエンス
    • インタラクティブなAPIドキュメント
    • 一般的な操作のための CLI ツール
    • 追加のコード例
    • パフォーマンス監視
  4. テストの強化
    • パフォーマンスベンチマーク
    • 負荷テスト
    • 追加のエッジケース
    • 拡張統合テスト
-
security - not tested
A
license - permissive license
-
quality - not tested

Notion の API を使用して高度な ToDo リスト管理とコンテンツ整理を可能にし、データベースの作成、動的フィルタリング、共同タスク追跡などの機能をサポートします。

  1. MCP Overview
    1. Quick Start
      1. Getting Started
        1. 1. Create a Notion Integration
        2. 2. Set Up Notion Access
        3. 3. Install the MCP Server
        4. 4. Configure Claude Desktop
      2. Documentation
        1. Development
          1. Debugging
        2. Future Development
          ID: s5mm9e0sr5