Notion MCP Server について
Notion MCP Server は Notion API を介して AI アシスタントを Notion ワークスペースに接続します。ページやデータベースの検索・管理に対応し、ブロック管理は今後の追加機能として記載されています。
主な機能
- 01フィルターや並べ替えによるデータベース検索
- 02データベース構造の作成と更新
- 03ページとデータベースの検索
- 04ページの作成、取得、更新
活用シーン
- 01ワークスペース内のページをタイトルで検索
- 02データベース項目の絞り込みと確認
- 03Notion でページやデータベースを作成
- 04ページのプロパティやデータベース構造を更新
MCP 対応
MCP クライアント向けに、Notion の検索、ページ、データベース操作ツールを提供します。ブロック管理は今後の機能として記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Notion MCP サーバー
Notion API 用の Model Context Protocol(MCP)サーバーです。AI アシスタントが Notion ワークスペースをプログラムから操作できるようにします。このサーバーは、データベース、ページ、ブロックなどの Notion コンテンツに LLM がアクセスして操作するための標準インターフェースを提供します。
MCP とは?
Model Context Protocol(MCP)は、大規模言語モデル(LLM)を外部ツール、データソース、API に接続するための標準プロトコルです。Claude などの AI アシスタントが、安全で標準化された方法で機能やデータにアクセスできるようにします。この Notion MCP サーバーは、AI アシスタントが Notion ワークスペースにアクセスできるように、このプロトコルを実装しています。
プロジェクトの目的
このプロジェクトは、AI アシスタントと Notion ワークスペースをつなぐ役割を果たし、AI ツールが次の操作を行えるようにします。
- データベースを照会して検索する
- ページを取得して作成する
- ページのプロパティとコンテンツを更新する
- データベースを作成して更新する
- (近日公開)ブロックとそのコンテンツを管理する
Notion 向けに MCP プロトコルを実装することで、このサーバーは AI アシスタントがユーザーによる Notion ワークスペースの管理をより効果的に支援できるようにします。
機能
Notion MCP サーバーは、次の機能を実装しています。
データベース操作
- フィルターと並べ替えを指定してデータベースを照会する
- カスタムプロパティを使用して新しいデータベースを作成する
- 既存のデータベーススキーマとプロパティを更新する
- データベース全体を検索する
ページ操作
- プロパティとコンテンツを指定してページを作成する
- ページのコンテンツとメタデータを取得する
- ページのプロパティを更新する
- ページ全体を検索する
ブロック操作(近日公開)
- ブロックの子要素を取得する
- ページに新しいブロックを追加する
- ブロックのコンテンツを更新する
- ブロックを削除する
セットアップ
前提条件
- Bun v1.2.9 以降
- 適切な権限を持つ Notion インテグレーショントークン
- インテグレーションと共有されている Notion のページ/データベース
Notion インテグレーションの作成
- Notion のインテグレーションページにアクセスします
- 「New Integration」をクリックします
- インテグレーションに名前を付け、適切な権限(例:「コンテンツの読み取り」「コンテンツの更新」)を選択します
- 「Internal Integration Token」をコピーします。これが
NOTION_API_KEYになります
Notion コンテンツをインテグレーションと共有する
- インテグレーションにアクセスさせるページまたはデータベースを Notion で開きます
- 右上隅にある「···」ボタンをクリックします
- 「Connections」ボタンをクリックし、作成したインテグレーションを選択します
インストール
-
リポジトリをクローンします。
git clone https://github.com/kyrelldixon/notion-mcp.git cd notion-mcp -
依存関係をインストールします。
bun install -
プロジェクトのルートに
.envファイルを作成し、Notion API トークンを設定します。NOTION_API_KEY=your_notion_integration_token -
サーバーをビルドして実行します。
bun run src/index.ts
Claude Desktop の設定
この MCP サーバーを Claude Desktop で使用するには、claude_desktop_config.json に次の内容を追加します。
{
"mcpServers": {
"notion": {
"command": "bun",
"args": ["run", "src/index.ts"],
"cwd": "/absolute/path/to/notion-mcp",
"env": {
"NOTION_API_KEY": "your-integration-token"
}
}
}
}
利用可能なツール
Notion MCP サーバーは、AI アシスタントに次のツールを提供します。
データベースツール
-
queryDatabase- フィルターと並べ替えを指定して Notion データベースを照会する
- 必須パラメーター:
database_id - 任意のパラメーター:
filter、sorts、page_size、start_cursor
-
createDatabase- Notion に新しいデータベースを作成する
- 必須パラメーター:
parent、title、properties
-
updateDatabase- データベースのプロパティまたはスキーマを更新する
- 必須パラメーター:
database_id - 任意のパラメーター:
title、description、properties
ページツール
-
retrievePage- ページのコンテンツとプロパティを取得する
- 必須パラメーター:
page_id
-
createPage- Notion に新しいページを作成する
- 必須パラメーター:
parent、properties - 任意のパラメーター:
children
-
updatePageProperties- ページのプロパティを更新する
- 必須パラメーター:
page_id、properties
検索ツール
search- タイトルを指定して Notion ワークスペース全体を検索する
- 任意のパラメーター:
query、filter、sort、page_size、start_cursor
トラブルシューティング
権限エラーが発生した場合は、次の点を確認してください。
- Notion インテグレーションに必要な権限があることを確認してください
- インテグレーションが該当するページまたはデータベースに招待されていることを確認してください
- トークンが
.envファイルまたは設定で正しく設定されていることを確認してください
プロジェクト構成
notion-mcp/
├── src/
│ ├── services/
│ │ └── notion.ts # Notion client service
│ ├── config.ts # Application configuration
│ ├── env.ts # t3-env schema
│ ├── index.ts # Server entry point
│ ├── utils/
│ │ └── error-handling.ts # Error handling utilities
│ └── tools/
│ ├── index.ts # Export all tools
│ ├── databases/ # Database-related tools
│ │ ├── handler.ts # Handlers for database operations
│ │ ├── index.ts # Export database tools
│ │ └── schema.ts # Zod schemas for database operations
│ └── pages/ # Page-related tools
│ ├── handler.ts # Handlers for page operations
│ ├── index.ts # Export page tools
│ └── schema.ts # Zod schemas for page operations
├── tsconfig.json
├── package.json
├── todos.md
├── README.md
└── bun.lock
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。