Notion MCP Integration について
Claude から Notion API を通じて個人のToDoリストを読み取り、管理するためのシンプルなMCPサーバーです。作者自身の最小限のデータベース構成に特化しているため、他の利用者は通常コードの修正が必要です。
主な機能
- 01ToDo の追加
- 02すべての ToDo の表示
- 03今日のタスクの表示
- 04タスクの完了チェック
活用シーン
- 01Claude を通じた今日のタスクの確認
- 02自然言語による Notion の ToDo データベースへのタスク追加
MCP 対応
本サーバーは MCP サーバーとして動作し、Claude Desktop から起動されて Notion API 経由で ToDo データベースを読み書きします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Notion MCP Integration
Notion の API と連携し、Claude を通じて個人用の ToDo リストを管理するシンプルな Model Context Protocol(MCP)サーバーです。Notion でのシンプルな ToDo リストの設定に特化した基本的な実装です。
重要な注意事項
これは、プロパティが 3 つだけのシンプルな Notion の ToDo リスト向けに設計された、特定のユースケースに特化した個人プロジェクトです。
- Task(タイトル)
- When(選択肢が「today」と「later」の 2 つだけのセレクト)
- Checkbox(完了したかどうかを示すチェックボックス)
このプロジェクトを独自の Notion 連携の出発点として使うことはできますが、独自のデータベース構造や要件に合わせてコードを変更する必要があるでしょう。
機能
- ToDo 項目の追加
- すべての ToDo の表示
- 今日のタスクの表示
- タスクを完了としてチェック
前提条件
- Python 3.10 以降
- Notion アカウント
- Notion インテグレーション(API キー)
- 上記の構造と完全に一致する Notion データベース(または、独自の構造に合わせてコードを変更する意思)
セットアップ
- リポジトリをクローンします。
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp
- Python 環境をセットアップします。
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e .
-
Notion インテグレーションを作成します。
- https://www.notion.so/my-integrations にアクセスします
- 新しいインテグレーションを作成します
- API キーをコピーします
-
データベースをインテグレーションと共有します。
- Notion で ToDo データベースを開きます
- 「...」メニュー →「Add connections」をクリックします
- インテグレーションを選択します
-
.envファイルを作成します。
NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
- Claude Desktop を設定します。
{
"mcpServers": {
"notion-todo": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/path/to/notion-mcp"
}
}
}
サーバーの実行
サーバーは 2 つの方法で実行できます。
- コマンドラインから直接実行します。
# From the project directory with virtual environment activated
python -m notion_mcp
- Claude Desktop を通じて自動的に実行します(推奨)。
claude_desktop_config.jsonで正しく設定されていれば、Claude の起動時にサーバーが起動します- 手動でサーバーを管理する必要はありません
- Claude を終了するとサーバーも停止します
注:直接実行する場合、エラーがない限りサーバーは何も出力しません。MCP コマンドを待機しているため、これは正常な動作です。
使い方
Claude を通じて実行する基本的なコマンド:
- 「すべての ToDo を表示して」
- 「今日のリストには何がある?」
- 「今日の ToDo を追加して:メールを確認」
- 「後で取り組むタスクを追加して:プロジェクトを確認」
制限事項
- 特定の Notion データベース構造でのみ動作します
- 複雑なデータベーススキーマには対応していません
- タスクのスケジュール設定は「today」または「later」に限られます
- 追加プロパティやカスタムフィールドには対応していません
- エラー処理は基本的なものです
- 繰り返しタスク、優先度、タグなどの高度な機能はありません
カスタマイズ
異なるデータベース構造で使用する場合は、server.py ファイルを変更する必要があります。特に、次の箇所を変更してください。
- データベースのプロパティに合わせた
create_todo()関数 - データ構造に対応するための
call_tool()内の ToDo のフォーマット処理 - 異なる選択肢を指定する場合の
list_tools()内の入力スキーマ
プロジェクト構成
notion_mcp/
├── pyproject.toml
├── README.md
├── .env # Not included in repo
└── src/
└── notion_mcp/
├── __init__.py
├── __main__.py
└── server.py # Main implementation
ライセンス
MIT License — 自己責任でご使用ください
謝辞
- Claude Desktop で動作するように構築されています
- Notion の API を使用しています
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。