mcpField
N
Notion MCP Server

Notion MCP Server

ローカル
github.com/ccabanillasメモリ・ナレッジ11170 週間前に更新

Notion MCP Server について

Notion MCP Server は、Notion API への標準化されたインターフェースを提供する MCP サーバーで、Claude Desktop などの MCP クライアントに対応しています。Notion ワークスペースの内容をアシスタントに読み書きさせたい利用者を対象としており、httpx による非同期処理と Pydantic v2 モデルで実装されています。

主な機能

  1. 01Notion データベースの一覧取得と検索
  2. 02ページの作成と更新
  3. 03ワークスペース全体の検索
  4. 04データベースの詳細とブロックの子要素の取得
  5. 05httpx による非同期実装
  6. 06Pydantic v2 による型検証されたモデル

活用シーン

  1. 01アシスタントからの Notion データベースのレコード照会
  2. 02アシスタント経由での Notion ページの作成や更新
  3. 03ワークスペース内のページとデータベースの検索

MCP 対応

本プロジェクトは、Notion のデータベース、ページ、検索の操作を Claude Desktop などの MCP クライアントに公開する MCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"notion": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Notion MCP サーバー

smithery badge

Notion と連携するための Model Context Protocol(MCP)サーバー実装です。Notion の API とやり取りするための標準化されたインターフェースを提供します。Claude Desktop やその他の MCP クライアントと互換性があります。

機能

  • Notion データベースの一覧表示とクエリ
  • ページの作成と更新
  • Notion ワークスペース全体の検索
  • データベースの詳細とブロックの子要素の取得
  • httpx による完全な async/await サポート
  • Pydantic v2 モデルによる型安全性
  • 詳細なログ記録を伴う適切なエラー処理
  • MCP 1.6.0 との互換性

インストール

Smithery 経由でのインストール

Smithery 経由で Notion Integration Server を Claude Desktop に自動インストールするには:

npx -y @smithery/cli install @ccabanillas/notion-mcp --client claude
手動インストール
  1. リポジトリをクローンします:
git clone https://github.com/ccabanillas/notion-mcp.git
cd notion-mcp
  1. 仮想環境を作成し、依存関係をインストールします(uv を使用):
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

または、標準の venv を使用します:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .
  1. プロジェクトのルートに .env ファイルを作成します:
NOTION_API_KEY=your_notion_integration_token

使用方法

  1. サーバーをテストします(エラーなく実行されるはずです):
python -m notion_mcp
  1. Claude Desktop で使用するには、claude_desktop_config.json ファイルを編集します(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json にあります):
{
  "servers": {
    "notion-mcp": {
      "command": "/Users/username/Projects/notion-mcp/.venv/bin/python",
      "args": ["-m", "notion_mcp"],
      "cwd": "/Users/username/Projects/notion-mcp"
    }
  }
}

/Users/username/ を実際のホームディレクトリのパスに置き換えてください。

開発

プロジェクト構成
notion-mcp/
├── src/
│   └── notion_mcp/
│       ├── models/
│       │   ├── __init__.py
│       │   └── notion.py      # Pydantic models for Notion objects
│       ├── __init__.py        
│       ├── __main__.py        # Entry point
│       ├── client.py          # Notion API client
│       └── server.py          # MCP server implementation
├── .env                       # Environment variables (add your Notion API key here)
├── .gitignore
├── pyproject.toml             # Project dependencies
└── README.md
テストの実行
pytest

設定

このサーバーには Notion インテグレーショントークンが必要です。設定するには:

  1. https://www.notion.so/my-integrations にアクセスします
  2. 適切な機能(必要に応じて読み取り/書き込み)を備えた新しいインテグレーションを作成します
  3. インテグレーショントークンをコピーします
  4. プロジェクトのルートディレクトリにある .env ファイルに追加します:
NOTION_API_KEY=your_notion_integration_token
  1. Notion データベースをインテグレーションと共有します(データベースの「Share」メニューから)

コントリビューション

  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 ライセンス - 自己責任でご利用ください

トラブルシューティング

よくある問題
  • 接続エラー:Notion API キーが正しいこと、およびインターネットに接続されていることを確認してください
  • 権限エラー:アクセスしようとしているデータベースへのアクセス権がインテグレーションに付与されていることを確認してください
  • Claude Desktop との連携:Claude Desktop が接続できない場合は、設定ファイルのパスが正しく、サーバーが stdout にログを出力せずに実行されていることを確認してください

謝辞

  • Claude Desktop やその他の MCP クライアントで動作するように構築されています
  • Notion の API を使用しています(最新の互換バージョンは 2022-02-22)
  • MCP 1.6.0 との互換性を維持しています
  • danhilse に特別な感謝を申し上げます。notion-mcp-server プロジェクトを参考にしました

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。