Notion MCP Server について
Notion MCP Server は Notion API を介して Claude を Notion ワークスペースに接続します。ブロックやページ、データベースを管理するツールを備え、データベース項目の作成と検索にも対応します。
主な機能
- 01ブロックの追加、取得、削除
- 02ページの取得とプロパティ更新
- 03データベースの作成と更新
- 04条件指定や並べ替えによる検索
- 05データベース項目の作成
活用シーン
- 01Notion ページへのブロック追加や削除
- 02ページやブロック内容の確認
- 03ワークスペースのデータベース作成や変更
- 04データベース項目の検索と追加
MCP 対応
Notion API の操作を MCP クライアント向けのツールとして公開し、ブロック、ページ、データベースを管理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Notion MCP サーバー
Notion API 用の MCP サーバーです。Claude が Notion ワークスペースと連携できるようにします。
ツール
-
notion_append_block_children- 親ブロックに子ブロックを追加します。
- 必須入力:
block_id(string):親ブロックの ID。children(array):追加するブロックオブジェクトの配列。
- 戻り値:追加されたブロックに関する情報。
-
notion_retrieve_block- 特定のブロックに関する情報を取得します。
- 必須入力:
block_id(string):取得するブロックの ID。
- 戻り値:ブロックに関する詳細情報。
-
notion_retrieve_block_children- 特定のブロックの子ブロックを取得します。
- 必須入力:
block_id(string):親ブロックの ID。
- 任意入力:
start_cursor(string):次の結果ページを取得するためのカーソル。page_size(number, default: 100, max: 100):取得するブロック数。
- 戻り値:子ブロックの一覧。
-
notion_delete_block- 特定のブロックを削除します。
- 必須入力:
block_id(string):削除するブロックの ID。
- 戻り値:削除の確認。
-
notion_retrieve_page- 特定のページに関する情報を取得します。
- 必須入力:
page_id(string):取得するページの ID。
- 戻り値:ページに関する詳細情報。
-
notion_update_page_properties- ページのプロパティを更新します。
- 必須入力:
page_id(string):更新するページの ID。properties(object):更新するプロパティ。
- 戻り値:更新されたページに関する情報。
-
notion_create_database- 新しいデータベースを作成します。
- 必須入力:
parent(object):データベースの親オブジェクト。title(array):リッチテキスト配列形式のデータベースのタイトル。properties(object):データベースのプロパティスキーマ。
- 戻り値:作成されたデータベースに関する情報。
-
notion_query_database- データベースをクエリします。
- 必須入力:
database_id(string):クエリするデータベースの ID。
- 任意入力:
filter(object):フィルター条件。sorts(array):並べ替え条件。start_cursor(string):次の結果ページを取得するためのカーソル。page_size(number, default: 100, max: 100):取得する結果の数。
- 戻り値:クエリ結果の一覧。
-
notion_retrieve_database- 特定のデータベースに関する情報を取得します。
- 必須入力:
database_id(string):取得するデータベースの ID。
- 戻り値:データベースに関する詳細情報。
-
notion_update_database- データベースに関する情報を更新します。
- 必須入力:
database_id(string):更新するデータベースの ID。
- 任意入力:
title(array):データベースの新しいタイトル。description(array):データベースの新しい説明。properties(object):更新後のプロパティスキーマ。
- 戻り値:更新されたデータベースに関する情報。
-
notion_create_database_item- Notion データベースに新しい項目を作成します。
- 必須入力:
database_id(string):項目を追加するデータベースの ID。properties(object):新しい項目のプロパティ。データベースのスキーマに一致している必要があります。
- 戻り値:新しく作成された項目に関する情報。
セットアップ
上記の手順について、以下の記事で詳しく説明しています。
- 英語版:https://dev.to/suekou/operating-notion-via-claude-desktop-using-mcp-c0h
- 日本語版:https://qiita.com/suekou/items/44c864583f5e3e6325d9
-
Notion インテグレーションを作成する:
- Notion のインテグレーションページにアクセスします。
- 「New Integration」をクリックします。
- インテグレーションに名前を付け、適切な権限(例:「Read content」、「Update content」)を選択します。
-
シークレットキーを取得する:
- インテグレーションの「Internal Integration Token」をコピーします。
- このトークンは認証に使用します。
-
ワークスペースにインテグレーションを追加する:
- インテグレーションにアクセスさせたいページまたはデータベースを Notion で開きます。
- 右上のナビゲーションボタンをクリックします。
- 「Connect to」ボタンをクリックし、インテグレーションを選択します。
-
Claude Desktop を設定する: 次の内容を
claude_desktop_config.jsonに追加します。{ "mcpServers": { "notion": { "command": "node", "args": ["your-built-file-path"], "env": { "NOTION_API_TOKEN": "your-integration-token" } } } }
トラブルシューティング
権限エラーが発生した場合:
- インテグレーションに必要な権限が付与されていることを確認します。
- 対象のページまたはデータベースにインテグレーションが招待されていることを確認します。
claude_desktop_config.jsonでトークンと設定が正しく指定されていることを確認します。
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。MIT License の利用規約に従うことを条件に、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。