Skip to main content
Glama

Notion MCP サーバー

ライセンスタイプスクリプトモデルコンテキストプロトコル 鍛冶屋のバッジ NPMダウンロード星

Notion MCP Serverは、 AIアシスタントがNotionのAPIと連携できるようにするModel Context Protocol(MCP)サーバー実装です。本番環境で利用可能なこのサーバーは、自然言語によるインタラクションを通じてNotionコンテンツを読み取り、作成、変更するためのツールとエンドポイントを完備しています。

🚧活発な開発:データベースサポートが利用可能になりました!コメントとユーザー管理ツールが追加されました。このプロジェクトが役に立ったと感じたら、ぜひスターを付けてください。この作業がコミュニティにとって価値のあるものであると認識し、さらなる開発のモチベーションを高めるのに役立ちます。

📑 目次

Related MCP server: SystemPrompt MCP Notion Server

🚀 はじめにと統合

セットアッププロセス

  1. Notion APIキーを取得する

  2. ページの統合を有効にする

    • Notionで既存のページを選択するか、新しいページを作成します

    • 右上隅の「…」メニューをクリックします

    • 「接続」へ移動

    • リストから統合を見つけて有効にしますNotionページ接続

  3. 統合方法を選択する

    • ご希望のMCPクライアントに応じて、以下の統合オプションのいずれかを選択してください。

  4. AIアシスタントにNotionと対話してもらう

    • 「今日のタスクを記載した新しいページを作成する」

    • 「Notionで会議メモを更新する」

    • 「会議メモページに箇条書きを追加する」

    • 「プロジェクトを追跡するための新しいデータベースを作成する」

    • 「タスクデータベースに新しいエントリを追加する」

    • 「プロジェクトページにコメントを追加する」

    • 「このドキュメントのすべてのコメントを表示」

    • 「ワークスペース内のすべてのユーザーを一覧表示する」

    • 「特定のユーザーに関する情報を取得する」

カーソル統合

方法1: mcp.jsonを使用する

  1. プロジェクト ディレクトリに.cursor/mcp.jsonファイルを作成または編集します。

{ "mcpServers": { "notion-mcp-server": { "command": "env NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx", "args": ["-y", "notion-mcp-server"] } } }
  1. YOUR_KEYYOUR_PAGE_IDを実際の Notion API キーとページ ID に置き換えます。

  2. 変更を適用するにはカーソルを再起動してください

方法2: 手動モード

  1. カーソルを開いて設定へ移動します

  2. 「MCP」または「モデルコンテキストプロトコル」セクションに移動します

  3. 「サーバーを追加」または同等のボタンをクリック

  4. 適切なフィールドに次のコマンドを入力します。

env NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx -y notion-mcp-server
  1. YOUR_KEYYOUR_PAGE_IDを実際の Notion API キーとページ ID に置き換えます。

  2. 設定を保存し、必要に応じてカーソルを再起動します。

クロードデスクトップ統合

  1. 構成ディレクトリにmcp.jsonファイルを作成または編集します。

{ "mcpServers": { "notion-mcp-server": { "command": "npx", "args": ["-y", "notion-mcp-server"], "env": { "NOTION_TOKEN": "YOUR_KEY", "NOTION_PAGE_ID": "YOUR_PAGE_ID" } } } }
  1. YOUR_KEYYOUR_PAGE_IDを実際の Notion API キーとページ ID に置き換えます。

  2. 変更を適用するには、Claude Desktopを再起動してください。

🌟 特徴

  • 📝 Notion との統合- Notion のデータベース、ページ、ブロックと連携

  • 🔌 ユニバーサル MCP 互換性- Cursor、Claude Desktop、Cline、Zed を含むすべての MCP クライアントで動作します

  • 🔍 データ取得- Notionのページ、ブロック、データベースから情報を取得します

  • ✏️ コンテンツ作成- Notionのページとブロックを作成および更新します

  • 📊 ブロック管理- Notionページ内でブロックを追加、更新、削除します

  • 💾 データベース操作- データベースの作成、クエリ、更新

  • 🔄 バッチ操作- 1回のリクエストで複数の操作を実行する

  • 🗑️ アーカイブと復元- Notion ページをアーカイブおよび復元します

  • 🔎 検索機能- Notionのページやデータベースをタイトルで検索

  • 💬 コメント管理- ページやディスカッションへのコメントを取得、作成、返信する

  • 👥 ユーザー管理- ワークスペースのユーザーとユーザー情報を取得する

📚 ドキュメント

利用可能なツール

サーバーは、Notion と対話するための次の統合ツールを提供します。

notion_pages

以下の内容を含むページ操作のための包括的なツール:

  • 指定されたコンテンツで新しいページを作成する

  • ページのプロパティを更新しています

  • ページをアーカイブする(ゴミ箱に移動)

  • 以前アーカイブしたページの復元

  • タイトルでページを検索する

操作例:

{ "payload": { "action": "create_page", // One of: "create_page", "archive_page", "restore_page", "search_pages", "update_page_properties" "params": { // Parameters specific to the chosen action } } }

notion_blocks

以下を含むブロック操作用の完全なツールキット:

  • ブロックコンテンツの取得

  • 子ブロックの取得

  • 親に新しいブロックを追加する

  • 既存のブロックの更新

  • ブロックの削除

  • バッチ操作(追加、更新、削除、混合)の実行

操作例:

{ "payload": { "action": "append_block_children", // One of: "append_block_children", "retrieve_block", "retrieve_block_children", "update_block", "delete_block", "batch_append_block_children", "batch_update_blocks", "batch_delete_blocks", "batch_mixed_operations" "params": { // Parameters specific to the chosen action } } }

notion_database

以下の内容を含むデータベースインタラクションのための強力なツール:

  • カスタムプロパティを使用して新しいデータベースを作成する

  • フィルターと並べ替えを使用してデータベースをクエリする

  • データベース構造とプロパティの更新

操作例:

{ "payload": { "action": "create_database", // One of: "create_database", "query_database", "update_database" "params": { // Parameters specific to the chosen action } } }

notion_comments

Notion コンテンツへのコメントを管理するためのツール:

  • ページとブロックからコメントを取得する

  • ページに新しいコメントを追加する

  • 既存のディスカッションに返信する

操作例:

{ "payload": { "action": "get_comments", // One of: "get_comments", "add_page_comment", "add_discussion_comment" "params": { // Parameters specific to the chosen action } } }

notion_users

ユーザー情報にアクセスするためのツール:

  • すべてのワークスペースユーザーを一覧表示する

  • 特定のユーザーの詳細を取得する

  • 現在のボットユーザーに関する情報を取得しています

操作例:

{ "payload": { "action": "list_users", // One of: "list_users", "get_user", "get_bot_user" "params": { // Parameters specific to the chosen action } } }

利用可能なリソース

サーバーは現在、リソースを公開しておらず、ツールベースの操作に重点を置いています。

🛠 開発

  1. リポジトリのクローンを作成する

    git clone https://github.com/awkoy/notion-mcp-server.git cd notion-mcp-server
  2. 依存関係をインストールする

    npm install
  3. 環境変数を設定する

    • 次の内容で.envファイルを作成します。

      NOTION_TOKEN=your_notion_api_key NOTION_PAGE_ID=your_notion_page_id
  4. プロジェクトを構築する

    npm run build
  5. インスペクターを実行する

    npm run inspector

🔧 技術的な詳細

  • TypeScript と MCP SDK (バージョン 1.7.0+) を使用して構築

  • 公式のNotion APIクライアント(@notionhq/client v2.3.0+)を使用します

  • モデルコンテキストプロトコル仕様に準拠

  • Notionページ、ブロック、データベースのCRUD操作用のツールを実装します

  • パフォーマンスの最適化のための効率的なバッチ操作をサポート

  • Zodスキーマで入力/出力を検証します

❓ トラブルシューティング

  • よくある問題

    • 認証エラー: Notionトークンに適切な権限があり、ページ/データベースの統合が有効になっていることを確認してください。

    • ページアクセスの問題: アクセスしようとしているページに統合が追加されていることを確認してください

    • レート制限: Notion API にはレート制限があります。バッチ操作を使用してリクエストを最適化してください。

  • ヘルプの取得

🤝 貢献する

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする

  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature

  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )

  4. ブランチにプッシュする ( git push origin feature/amazing-feature )

  5. プルリクエストを開く

📄 ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/awkoy/notion-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server