mcpField
N
Notion_mcp_server

Notion_mcp_server

ローカル
github.com/grainne-bメモリ・ナレッジ080 週間前に更新

Notion_mcp_server について

Notion_mcp_serverは、Notion APIを通じて指定したNotionページにアクセスするPython製MCPサーバーです。READMEでは、連携用の認証情報やページ権限、Claudeでの設定方法を説明しています。

主な機能

  1. 01Notion APIキーの設定
  2. 02連携のページ権限設定
  3. 03親ページIDの指定
  4. 04Pythonサーバーの実行とインストール

活用シーン

  1. 01連携を指定したNotionページに接続
  2. 02Claudeで使うためのサーバー設定

MCP 対応

MCPサーバーとして `uv run mcp dev server.py` で実行でき、`uv run mcp install server.py` でClaudeにインストールできます。READMEには公開するツールやリソースの説明はありません。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Notion API キーと権限の設定

Notion API キーの作成
  1. Notion インテグレーションにアクセスします:

  2. 新しいインテグレーションを作成します:

    • 「New Integration」をクリックし、インテグレーション名などの必須項目を入力して、接続するワークスペースを選択します。
  3. インテグレーションを保存します:

    • 詳細を入力したら、「Submit」をクリックしてインテグレーションを作成します。API キーが発行されます。
  4. API キーをコピーします:

    • API キーをコピーして、安全な場所に保管します。このキーを使って Notion API へのリクエストを認証します。
インテグレーションを使用するページの権限設定
  1. Notion を開きます:

    • 権限を付与するページに移動します。
  2. ページを共有します:

    • ページの右上にある「Share」ボタンをクリックします。
  3. インテグレーションを招待します:

    • 「Invite」欄にインテグレーション名を入力し、ドロップダウンから選択します。これにより、インテグレーションにページへのアクセス権が付与されます。
  4. 権限を設定します:

    • 必要な操作を実行できるよう、インテグレーションに必要な権限(読み取り、書き込みなど)が付与されていることを確認します。
コードの更新

notion_sdk.py で、PAGE_IDを上記で作成したページのPAGE_IDに更新します。 ページIDは、ページのリンクをコピーすると取得できます。

Python 用 uv の設定
  1. Homebrew で uv をインストールします:

    • システムにHomebrewがインストールされていることを確認します。
    • 次のコマンドを実行して uv をインストールします:
      brew install uv
      
  2. インストールを確認します:

    • 次のコマンドを実行して、uv が正しくインストールされているか確認します:
      uv --version
      
  3. 基本的な使い方:

    • uv を使って、次のように Python スクリプトを実行できます:
      uv run <your_script.py>
      

Notion の親ページ ID

https://www.notion.so/MCP-Parent-Page-1d21f7216bdb80789f88fccd964b5031

Curl の例

curl --location --request POST 'https://api.notion.com/v1/pages' \
--header 'Authorization: Bearer $NOTION_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Notion-Version: 2021-05-13' \
--data '{
"parent": { "page_id": "1d21f7216bdb80789f88fccd964b5031" },
"properties": {
    "title": [
        {
            "text": {
                "content": "Curl example"
            }
        }
    ]
}
}'

注意事項

Claude にインストールする場合、キーをハードコードする必要があります。

実行方法

uv run mcp dev server.py

Claude での使用方法

uv run mcp install server.py

claude_desktop_config.json に追加します

{
  "mcpServers": {
    "Notion MCP Server": {
      "command": "uv",
      "args": [
        "run",
        "mcp",
        "run",
        "/Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/server.py"
      ],
      "env": {
        "NOTION_API_KEY": "REPLACE_ME"
      }
    }
  }
}
{
  "mcpServers": {
    "Notion MCP Server": {
"command": "bash",
"args": [
  "-c",
  "source /Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/.venv/bin/activate && uv run mcp run /Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/server.py"
      ],
      "env": {
        "NOTION_API_KEY": "TODO"
      }
    }
  }
}

Notion パッケージ

notion-client

docstring を作成するための LLM 向けプロンプト

I am building an MCP (Model Context Protocol) server in Python.
The functions I provide will be registered as tools using @mcp.tool() from FastMCP.

Please generate a concise and informative docstring for each function I give you, following this structure:
	•	A one-line summary describing the function’s purpose.
	•	A section called Args: listing each argument with its type and purpose.
	•	A section called Returns: describing the return value and its type.

The docstring should help both humans and LLMs understand how and when to use the tool.

コメント

MCP は初めてですか?

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

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