Notion API MCP
NotionのAPIを通じて高度なToDoリスト管理とコンテンツ整理機能を提供するModel Context Protocol(MCP)サーバー。MCPはAIモデルと外部ツールやサービスとの連携を可能にし、Notionの強力な機能とのシームレスな統合を実現します。
MCPの概要
AI モデルが Notion の API と対話できるようにし、次の機能を提供する Python ベースの MCP サーバー。
ToDo 管理: リッチ テキスト、期限、優先度、ネストされたサブタスクを使用してタスクを作成、更新、追跡します
データベース操作: カスタムプロパティ、フィルター、ビューを使用して Notion データベースを作成および管理します
コンテンツの構成: Markdown サポート、階層リスト、ブロック操作を使用してコンテンツを構造化およびフォーマットします。
リアルタイム統合: クリーンな非同期実装を通じて、Notion のワークスペース、ページ、データベースと直接対話できます。
Related MCP server: Notion MCP
クイックスタート
# 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統合を作成する
https://www.notion.so/my-integrationsにアクセスしてください。
「新しい統合」をクリックします
統合に名前を付けます(例:「My MCP Integration」)
統合を使用するワークスペースを選択します
「内部統合トークン」をコピーします。これが
NOTION_API_KEYになります。「ntn_」で始まる必要があります
2. Notion Accessを設定する
親ページ (新しいデータベースを作成する場合) または既存のデータベース ID のいずれかが必要になります。
オプションA: 新しいデータベースの親ページ
ブラウザでNotionを開く
データベースを作成する新しいページを作成するか、既存のページを開きます
右上の•••メニューをクリックします
「接続を追加」を選択し、統合を選択します
URLからページIDをコピーします。これは最後のスラッシュの後、疑問符の前の文字列です。
例:
https://notion.so/myworkspace/123456abcdef...では、ID は123456abcdef...です。これはあなたの
NOTION_PARENT_PAGE_IDになります
オプションB: 既存のデータベース
既存のNotionデータベースを開く
統合に接続されていることを確認してください(••• メニュー > 接続を追加)
URLからデータベースIDをコピーします
例:
https://notion.so/myworkspace/123456abcdef...?v=...では、ID は123456abcdef...です。これはあなたの
NOTION_DATABASE_IDになります
3. MCPサーバーをインストールする
仮想環境を作成する:
cd notion-api-mcp
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate依存関係をインストールします:
uv pip install -e .環境を構成する:
cp .env.integration.template .envNotion の資格情報を使用して .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 databases4. 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 ファイルは主にローカル開発とテストに使用されます。
ドキュメント
構成の詳細- 詳細な構成オプションと環境変数
機能- 完全な機能リストと機能
アーキテクチャ- 利用可能なツールと使用例の概要
API リファレンス- 詳細な API エンドポイントと実装の詳細
テストカバレッジマトリックス- テストカバレッジと検証ステータス
依存関係- プロジェクトの依存関係とバージョン情報
変更履歴- 開発の進捗と更新
発達
サーバーは、全体的に最新の Python 非同期機能を使用します。
Pydantic モデルを使用した型安全な構成
パフォーマンス向上のため httpx を使用した非同期 HTTP
Notionの機能を公開するためのクリーンなMCP統合
適切なリソースのクリーンアップとエラー処理
デバッグ
サーバーには包括的なログ機能が含まれています:
開発用コンソール出力
サービスとして実行中のファイルログ
詳細なエラーメッセージ
デバッグレベルでのリクエスト/レスポンスのログ記録
直接実行するときにプロジェクト ルートを含めるようにPYTHONPATH設定します。
PYTHONPATH=/path/to/project python -m notion_api_mcp将来の開発
計画されている機能強化:
パフォーマンスの最適化
リクエストキャッシュを追加する
データベースクエリを最適化する
接続プールを実装する
高度な機能
マルチワークスペースのサポート
バッチ操作
リアルタイム更新
高度な検索機能
開発者エクスペリエンス
インタラクティブなAPIドキュメント
一般的な操作のための CLI ツール
追加のコード例
パフォーマンス監視
テストの強化
パフォーマンスベンチマーク
負荷テスト
追加のエッジケース
拡張統合テスト