Notion_mcp_server について
Notion_mcp_serverは、Notion APIを通じて指定したNotionページにアクセスするPython製MCPサーバーです。READMEでは、連携用の認証情報やページ権限、Claudeでの設定方法を説明しています。
主な機能
- 01Notion APIキーの設定
- 02連携のページ権限設定
- 03親ページIDの指定
- 04Pythonサーバーの実行とインストール
活用シーン
- 01連携を指定したNotionページに接続
- 02Claudeで使うためのサーバー設定
MCP 対応
MCPサーバーとして `uv run mcp dev server.py` で実行でき、`uv run mcp install server.py` でClaudeにインストールできます。READMEには公開するツールやリソースの説明はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Notion API キーと権限の設定
Notion API キーの作成
-
Notion インテグレーションにアクセスします:
- Notion インテグレーションにアクセスし、Notion アカウントでログインします。
-
新しいインテグレーションを作成します:
- 「New Integration」をクリックし、インテグレーション名などの必須項目を入力して、接続するワークスペースを選択します。
-
インテグレーションを保存します:
- 詳細を入力したら、「Submit」をクリックしてインテグレーションを作成します。API キーが発行されます。
-
API キーをコピーします:
- API キーをコピーして、安全な場所に保管します。このキーを使って Notion API へのリクエストを認証します。
インテグレーションを使用するページの権限設定
-
Notion を開きます:
- 権限を付与するページに移動します。
-
ページを共有します:
- ページの右上にある「Share」ボタンをクリックします。
-
インテグレーションを招待します:
- 「Invite」欄にインテグレーション名を入力し、ドロップダウンから選択します。これにより、インテグレーションにページへのアクセス権が付与されます。
-
権限を設定します:
- 必要な操作を実行できるよう、インテグレーションに必要な権限(読み取り、書き込みなど)が付与されていることを確認します。
コードの更新
notion_sdk.py で、PAGE_IDを上記で作成したページのPAGE_IDに更新します。
ページIDは、ページのリンクをコピーすると取得できます。
Python 用 uv の設定
-
Homebrew で
uvをインストールします:- システムにHomebrewがインストールされていることを確認します。
- 次のコマンドを実行して
uvをインストールします:brew install uv
-
インストールを確認します:
- 次のコマンドを実行して、
uvが正しくインストールされているか確認します:uv --version
- 次のコマンドを実行して、
-
基本的な使い方:
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.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。