mcpField
B
Better Notion Mcp

Better Notion Mcp

ローカル
github.com/n24q02mメモリ・ナレッジ361 日前に更新

Better Notion Mcp について

Better Notion Mcp は、Markdown でページ、データベース、ブロック、コメントを扱う AI エージェント向け Notion MCP サーバーです。複数操作の集約、ページネーションと一括処理の自動化に対応し、ローカル stdio とリモート HTTP の両方で動作します。

主な機能

  1. 01Markdown と Notion コンテンツの変換
  2. 028 つの複合ツールで 39 の操作
  3. 03ページネーションと一括処理の自動化
  4. 04必要時にツールドキュメントを取得
  5. 05stdio と HTTP のトランスポート

活用シーン

  1. 01Notion ページの作成と整理
  2. 02データベース内容の検索と管理
  3. 03ブロックの一括読み取りや編集
  4. 04リモート HTTP で Notion へのアクセスを提供

MCP 対応

MCP サーバーとして、Notion のページ、データベース、ブロック、ユーザー、ワークスペース、コメント、ファイルアップロードのツールと関連リソースを公開します。ローカル stdio とトークン認証付きリモート HTTP に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"n24q02m-better-notion": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NOTION_TOKEN",
"n24q02m/better-notion-mcp:latest"
],
"env": {
"NOTION_TOKEN": "<NOTION_TOKEN>"
}
}
}
}
起動コマンドdocker run -i --rm -e NOTION_TOKEN n24q02m/better-notion-mcp:latest
設定が必要な環境変数
NOTION_TOKENシークレット

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

パッケージ
ocin24q02m/better-notion-mcp:latest

ツール

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

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

詳細

notion

mcp-name: io.github.n24q02m/better-notion-mcp

AI エージェント向けの Markdown ファーストな Notion — ページ、データベース、ブロック、コメントを 1 回の呼び出しで扱えます。

Mode CI codecov npm Docker License: Apache-2.0

TypeScript Node.js Notion semantic-release Renovate

n24q02m の関連プロジェクト(クリックして展開) | プロジェクト | キャッチコピー | タグ | |---|---|---| | [agent-chat-plugin](https://github.com/n24q02m/agent-chat-plugin) | AI エージェント同士が共有フォルダーでチャット — 人間による中継も、オーケストレーターも不要。ワーク... | ツール | | [better-code-review-graph](https://github.com/n24q02m/better-code-review-graph) | トークン効率の高いコードレビューのためのナレッジグラフ — セマンティック検索と呼び出し... | MCP | | [better-drive](https://github.com/n24q02m/better-drive) | .driveignore フィルターを備えた双方向 Google Drive 同期 — rclone エンジン、Windows トレイ | ツール | | [better-email-mcp](https://github.com/n24q02m/better-email-mcp) | AI エージェント向け IMAP/SMTP メール — 読み取り、送信、フォルダー整理、属性管理... | MCP | | [better-godot-mcp](https://github.com/n24q02m/better-godot-mcp) | Godot Engine 用の複合 MCP サーバー — AI 支援ゲーム開発のための17個の複合ツール... | MCP | | [better-notion-mcp](https://github.com/n24q02m/better-notion-mcp) | AI エージェント向けの Markdown 優先 Notion — ページ、データベース、ブロック、コメント... | MCP | | [better-semantic-release](https://github.com/n24q02m/better-semantic-release) | リリース安全性ガードを組み込み済みの python-semantic-release のドロップインフォーク(orp... | ツール | | [better-telegram-mcp](https://github.com/n24q02m/better-telegram-mcp) | AI エージェント向け Telegram — 両方のボ...でメッセージ、チャット、メディア、連絡先を操作 | MCP | | [better-workspace-mcp](https://github.com/n24q02m/better-workspace-mcp) | Google Workspace MCP サーバー(Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch...) | MCP | | [claude-plugins](https://github.com/n24q02m/claude-plugins) | n24q02m MCP サーバー向け Claude Code プラグインマーケットプレイス — Web 検索をインストール... | マーケットプレイス | | [imagine-mcp](https://github.com/n24q02m/imagine-mcp) | AI エージェント向けの画像・動画の理解と生成 — Gemini、Open...などに対応 | MCP | | [jules-task-archiver](https://github.com/n24q02m/jules-task-archiver) | batchexecute API を使って Jules タスクを一括操作する Chrome 拡張機能 — ... | ツール | | [mcp-core](https://github.com/n24q02m/mcp-core) | MCP サーバー構築のための共有基盤 — Streamable HTTP トランスポート、OAuth... | MCP | | [mnemo-mcp](https://github.com/n24q02m/mnemo-mcp) | ハイブリッド検索と埋め込み型同期を備えた永続的な AI メモリ。オープンで、無料、無制限... | MCP | | [qwen3-embed](https://github.com/n24q02m/qwen3-embed) | ONNX Runtime と GGUF による軽量な Qwen3 テキスト埋め込みと再ランキング | ライブラリ | | [skret](https://github.com/n24q02m/skret) | サーバー不要のシークレット管理。 | CLI | | [tacet](https://github.com/n24q02m/tacet) | ナレッジ...全体で LLM コストを償却する、自己蒸留型のニューロシンボリックカスケード | ツール | | [web-core](https://github.com/n24q02m/web-core) | 検索、スクレイピング、HTTP セキュリティ、スト...のための共有 Web インフラストラクチャパッケージ | ライブラリ | | [wet-mcp](https://github.com/n24q02m/wet-mcp) | AI エージェント向けのオープンソース MCP サーバー:Web 検索、コンテンツ抽出、ライブラリ... | MCP |

目次

Better Notion MCP サーバー ## 特長
  • Markdown 入力、Markdown 出力 -- 生の JSON ブロックではなく、人が読みやすいコンテンツを表示します
  • 8 個の複合ツール、39 個のアクション -- Notion の 2 つ以上のアトミックなエンドポイントを連鎖させる代わりに、1 回の呼び出しで実行します(さらに config と help もあります)
  • 自動ページネーションと一括操作 -- カーソルの手動処理やループは不要です
  • 段階的なトークン最適化 -- 説明の圧縮とオンデマンドの help ツールにより、約 77% 削減します
  • デュアルトランスポート -- ローカル stdio(インテグレーショントークン)またはリモート HTTP(ユーザーごとの、あるいは共有のベアラートークン)

インストール

npx(Node.js >= 24)と、Notion インテグレーショントークン(ntn_ で始まります。https://www.notion.so/my-integrations から取得)を使って実行します。

// MCP client config (e.g. .mcp.json / Claude Code / Cursor)
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["--yes", "@n24q02m/notion@latest"],
      "env": { "NOTION_TOKEN": "ntn_your_token_here" }
    }
  }
}

パッケージ名は @n24q02m/notion です(旧パッケージ名は @n24q02m/better-notion-mcp です。旧パッケージは最後のリリース後に更新を終了します)。MCP Registry の ID は io.github.n24q02m/better-notion-mcp のままで、旧コマンド better-notion-mcp は notion のエイリアスとして維持されます。

または、公開済みの Docker イメージを実行します(stdio)。

docker run --rm -i -e NOTION_TOKEN=ntn_your_token_here n24q02m/notion:latest
インストール一覧
クライアントインストール
Claude Code/plugin marketplace add n24q02m/claude-plugins + /plugin install better-notion-mcp@n24q02m-plugins(stdio。NOTION_TOKEN の入力を求められます)、または .mcp.json/クライアント設定の mcpServers エントリ
Codex CLI~/.codex/config.toml の [mcp_servers.notion] ブロック(stdio の command/args または HTTP の type/url)
OpenCodeopencode.json の mcpServers ブロック
Cursor/Windsurf/Gemini CLI/その他の MCP クライアントクライアントの設定にある mcpServers JSON(上記の例と同じ形式)

クライアントごとの詳しい手順については、mcp.n24q02m.com/servers/better-notion-mcp/setup/ をご覧ください。 クライアントごとの設定(Claude Code、Codex、Gemini CLI、Cursor、Windsurf)と HTTP モードについては、ドキュメントのセクションをご覧ください。

CLI

パッケージをインストールすると、notion バイナリ(および旧名 better-notion-mcp のエイリアス)が利用できるようになります。npx で実行するか、グローバルインストール後に実行してください。引数を指定せずに実行すると MCP サーバーが起動し、標準入力/標準出力でプロトコルを通信します。そのため、通常は手動ではなく MCP クライアントから起動します。サブコマンドには、Notion インテグレーショントークンを保存する auth と、共有 hull CLI の config、status、logout、doctor、token があります。

# Start the stdio server (default transport; requires NOTION_TOKEN)
NOTION_TOKEN=ntn_your_token_here npx --yes @n24q02m/notion@latest

# Start the remote HTTP server (bearer token) instead of stdio
npx --yes @n24q02m/notion@latest --http
引数/環境変数動作
(なし)stdio トランスポート(デフォルト)。NOTION_TOKEN が必要です
--httpHTTP トランスポート。認証方式は MCP_AUTH_MODE で指定します(デフォルトは multi、または token、no-auth)

環境変数の全項目については、設定をご覧ください。

リモート(HTTP モード)

HTTP トランスポートでデプロイすると、サーバーはベアラートークン認証で保護されたリモートエンドポイントになります。サーバー設定にインテグレーショントークンは必要ありません。リモート HTTP サーバーに対応した MCP クライアントから、デプロイ先のホストを指定してください。

// MCP client config -- remote HTTP (bearer token)
{
  "mcpServers": {
    "notion": {
      "type": "http",
      "url": "https://<your-host>/mcp",
      "headers": { "Authorization": "Bearer <your-token>" }
    }
  }
}

デフォルトの multi モードでは、各ユーザーがユーザーファイル(MCP_USERS_FILE。デフォルトは ~/.hull/users.toml)に登録され、それぞれ独自のトークンと認証情報の名前空間を持ちます。token モードでは、すべてのクライアントが 1 つのトークンを共有し、その scrypt ハッシュは MCP_AUTH_TOKEN_HASH に設定します。このようなインスタンスの構築方法については、セルフホスト(リモートモード)をご覧ください。

Smithery

リポジトリには、Smithery 用の smithery.yaml 設定が含まれています。Smithery はサーバーを stdio(npx -y @n24q02m/notion)で起動し、インストール時の設定は不要です。実行時に NOTION_TOKEN または config ツールを使って Notion の認証情報を指定してください(設定を参照)。

ステータス

2026-05-02 -- アーキテクチャの安定化に関する更新

ここ数か月、認証情報の処理とデーモンブリッジの自動起動パターンに大きな変更が続きました。その結果、複数プロセス間の競合、ブラウザータブの大量起動、プラグイン間でのセットアップ UX の不統一が発生していました。アーキテクチャは現在安定しています。モードはシンプルな 2 種類(stdio と HTTP)で、デーモンブリッジ層はなく、stdio からの自動起動もありません。

不安定な期間が続いたことをお詫びします。以前のバージョンで問題が発生していた場合は、最新リリースに更新し、現在のセットアップガイドに従ってください。以前必要だった回避策の大半は、もう必要ありません。

同じ作者による関連プラグイン:

  • wet -- ウェブ検索とコンテンツ抽出
  • mnemo -- 永続的な AI メモリ
  • imagine-mcp -- 画像・動画の理解と生成
  • email -- メール管理
  • telegram -- Telegram
  • better-godot-mcp -- Godot Engine
  • crg -- コードレビュー用ナレッジグラフ

すべてのプラグインで同じアーキテクチャを採用しています。一度インストールすれば、習得したパターンをほかのプラグインにも応用できます。

ドキュメント

詳細なドキュメントは mcp.n24q02m.com/servers/better-notion-mcp/ をご覧ください。

AI エージェントでインストール -- 次の内容を AI コーディングエージェントに貼り付けてください。

次の手順に従って MCP サーバー notion をインストールしてください。 https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-notion-mcp/setup-with-agent.md

ツール

8 つの複合 Notion ツール(39 個のアクション)に加え、2 つのインフラストラクチャツール(config、help)があります。

ツールアクション説明
pagescreate、get、get_property、update、move、archive、restore、duplicateページの作成、読み取り、更新、整理
databasescreate、get、query、create_page、update_page、delete_page、create_data_source、update_data_source、update_database、list_templatesデータベースの CRUD と、データベース内のページ管理
blocksget、children、append、update、deleteブロックコンテンツの読み取りと操作
userslist、get、me、from_workspaceユーザー情報の一覧表示と取得
workspaceinfo、searchワークスペースのメタデータと、ワークスペースを横断した検索
commentslist、get、createページのコメントとディスカッションへの返信
content_convertmarkdown-to-blocks、blocks-to-markdownMarkdown と Notion ブロックの相互変換(direction パラメーターを使用)
file_uploadscreate、send、complete、retrieve、listNotion へのファイルのアップロード(単一またはマルチパート)
configstatus、setup_status、setup_start、setup_reset、setup_complete、set、cache_clear認証情報の状態と設定のライフサイクルの確認・管理
help-任意の複合ツールに関する完全なドキュメントを取得(tool_name パラメーター)
MCP リソース
URI説明
notion://docs/pagesページ操作のリファレンス
notion://docs/databasesデータベース操作のリファレンス
notion://docs/blocksブロック操作のリファレンス
notion://docs/usersユーザー操作のリファレンス
notion://docs/workspaceワークスペース操作のリファレンス
notion://docs/commentsコメント操作のリファレンス
notion://docs/content_convertコンテンツ変換のリファレンス
notion://docs/file_uploadsファイルアップロードのリファレンス

設定

変数必須デフォルト説明
NOTION_TOKENはい(stdio)-Notion インテグレーショントークン
TRANSPORT_MODE / MCP_TRANSPORTいいえstdioリモートモードにするには、いずれかに http を設定します(または --http を渡します)
MCP_AUTH_MODEいいえ(http)multimulti(MCP_USERS_FILE のユーザー別トークン)、token(共有トークン1つ。MCP_AUTH_TOKEN_HASH が必要)、または no-auth(信頼できる環境/ローカルでの使用のみ)
MCP_USERS_FILEいいえ(http、multi)~/.hull/users.tomlmulti モード用のユーザーファイル
MCP_AUTH_TOKEN_HASHはい(token モード)-共有トークンの scrypt$ ハッシュ(token hash で生成)
MCP_RPMいいえ(token モード)-token モードでの任意の1分あたりリクエスト上限
PORTいいえ0(OS による割り当て)サーバーポート。固定ポートにバインドするには明示的に設定します(例:8080)
HOSTいいえ127.0.0.1バインドアドレス(http モード)
セルフホスト(リモートモード)

HTTP サーバーを独自のホストで実行し、MCP_AUTH_MODE で認証モードを選択します。

  • multi(デフォルト):MCP_USERS_FILE に各ユーザーを登録します。各ユーザーの Notion トークンは、それぞれの名前空間(~/.better-notion/subs/<ns>/config.json)に保存されます。
  • token:共有ベアラートークンを1つ使用します。token hash でハッシュを生成し、MCP_AUTH_TOKEN_HASH として渡します。
  • no-auth:ベアラーチェックを行いません。信頼できるローカルネットワークでのみ使用してください。
docker run -p 8080:8080 \
  -e TRANSPORT_MODE=http \
  -e PORT=8080 \
  -e MCP_AUTH_MODE=token \
  -e MCP_AUTH_TOKEN_HASH='scrypt$...' \
  n24q02m/notion:latest
Docker Compose(ループバック)

docker-compose.http.yml は http イメージターゲットをビルドし、ホストのループバックインターフェース(127.0.0.1:8081)のみに公開します。そのため、サーバーが他のマシンから直接アクセスされることはありません。

export MCP_AUTH_MODE=token
export MCP_AUTH_TOKEN_HASH='scrypt$...'
docker compose -f docker-compose.http.yml up

サーバーは http://localhost:8081/mcp でリッスンします。外部に公開するには、ループバックポートの前段に独自の TLS リバースプロキシを設置してください。

リリースイメージはマルチアーキテクチャ(amd64 + arm64)で Docker Hub(n24q02m/notion)と GHCR(ghcr.io/n24q02m/notion)に公開されています。n24q02m がホストする HTTP エンドポイントはありません。

比較

各分野で notion が直接の競合製品と比べてどのような位置にあるかを示します。

機能notionmakenotion/notion-mcp-serversuekou/mcp-notion-serverawkoy/notion-mcp-server
Markdown の入出力はい(ページとブロックで往復変換)いいえ(生の Notion JSON)一部(実験的、追記とオプトイン変換)はい(往復変換 + GFM)
複合ツール設計はい(8つの複合ツール、39のアクション)いいえ(エンドポイントに対応した22のツール)一部(簡略化されたツール + 生の JSON ツール)はい(2つのディスパッチツール、35以上の操作)
Notion へのファイルアップロードはい(file_uploads、単一およびマルチパート)いいえいいえはい(upload_file、単一およびマルチパート)
コメントはい(comments:一覧/取得/作成)はいはいはい
リモート HTTP + ベアラートークン認証はい(ユーザー別名前空間または共有トークン)一部(HTTP + ベアラートークン)いいえ(stdio のトークンのみ)いいえ(stdio のトークンのみ)
セルフホスト可能はい(Docker、独自のベアラートークン)はいはいはい
ライセンスApache-2.0?MITMIT

セキュリティ

  • ベアラートークン認証 -- ユーザー別トークン(multi)または scrypt でハッシュ化した共有トークン1つ(token)
  • レート制限 -- HTTP トランスポートで IP あたり毎分120リクエスト
  • セッション所有者の紐付け -- IP チェック + 保留中のトークン紐付けに対する TTL
  • Null 安全性 -- Notion API の特異な挙動に対応します(comments.list の 404、未定義の rich_text)

ソースからビルド

git clone https://github.com/n24q02m/notion.git
cd notion
bun install
bun run dev

信頼モデル

認証情報が n24q02m に送信されることはありません。ホスト型エンドポイントはありません。

モード保存場所保護データを読み取れる人
HTTP セルフホスト(multi)サーバーホスト上の ~/.better-notion/subs/<ns>/config.jsonサーバーのデータディレクトリ内でファイルモード 0600サーバーの運用者と、そのホストへのアクセス権を持つ人
HTTP セルフホスト(token)サーバーホスト上の ~/.better-notion/config.jsonサーバーのデータディレクトリ内でファイルモード 0600サーバーの運用者と、そのホストへのアクセス権を持つ人
stdio(ローカル)~/.better-notion/config.jsonファイルモード 0600。マシンキーは ~/.better-notion/.secret に保存お使いの OS ユーザーのみ

ライセンス

Apache-2.0 -- LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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