mcpField
N
notion-mcp

notion-mcp

ローカル
github.com/shck-dev生産性218 週間前に更新

notion-mcp について

notion-mcpは、Notionワークスペースを検索し、ページ内容をMarkdownで入出力するMCPサーバーです。ページ作成、コメント、画像にも対応し、OAuthやワークスペース管理者の承認ではなく、ブラウザーから取得した認証情報を使います。

主な機能

  1. 01ワークスペースの全文検索
  2. 02ページのMarkdownエクスポート
  3. 03Markdownのインポートと追記
  4. 04子ページの作成
  5. 05画像のアップロードと参照
  6. 06コメントの一覧表示と返信

活用シーン

  1. 01Notionワークスペース内のページ検索
  2. 02ページ内容をMarkdownのワークフローに出力
  3. 03ローカルのMarkdownファイルをページに書き込み・追記
  4. 04ページ作成とディスカッションへの参加

MCP 対応

検索、ページのインポートとエクスポート、ページ作成、画像、コメントのツールをMCPクライアントに提供し、セットアップ用プロンプトとガイドリソースも備えています。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"shck-dev-notion": {
"command": "npx",
"args": [
"-y",
"@shck-dev/notion-mcp"
],
"env": {
"NOTION_TOKEN": "<NOTION_TOKEN>",
"NOTION_USER_ID": "<NOTION_USER_ID>",
"NOTION_SPACE_ID": "<NOTION_SPACE_ID>"
}
}
}
}
起動コマンドnpx -y @shck-dev/notion-mcp
設定が必要な環境変数
NOTION_TOKENシークレットNotion token_v2 cookie value from browser DevTools
NOTION_USER_IDNotion user ID from x-notion-active-user-header
NOTION_SPACE_IDNotion workspace ID from API request body

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

パッケージ
npm@shck-dev/notion-mcp0.5.2

ツール

13

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitnumberいいえ返す結果の最大数(デフォルト:10)
querystringはい検索クエリ(ページのタイトルと内容に一致)

詳細

MCP バッジ

@shck-dev/notion-mcp

Notion MCP サーバー — ページを検索、エクスポートし、Markdown としてインポート

npm バージョン npm ダウンロード数 ライセンス

ワークスペース管理者は不要です。OAuth もページ共有も必要ありません。
ブラウザーから3つの値を貼り付けるだけです。

ブログ記事 | GitHub | npm


機能

  • 検索 — ワークスペース全体を全文検索します
  • エクスポート — 任意のページを整形された Markdown としてダウンロードします(見出し、リスト、ToDo、コードブロック、テーブル、リンク、閲覧可能な URL 付き画像)
  • インポート — 文字列またはローカルファイルから Notion ページに Markdown を書き込みます(既存の内容を置き換えます)
  • 追記 — 既存の内容に触れず、ページの末尾に Markdown を追加します
  • 作成 — 新しい子ページを作成し、必要に応じて Markdown 文字列またはファイルの内容を事前入力します
  • 画像 — ローカル画像をページにアップロードするか、外部 URL を参照します
  • コメント — 未解決のディスカッションを一覧表示し、コメントを追加して、スレッドに返信します
  • ワンコマンドセットアップ — npx @shck-dev/notion-mcp init:ブラウザーで「Copy as cURL」を貼り付けると、認証情報を抽出して保存します
  • プロンプトとリソース — クライアント内でのオンボーディング用に、notion_setup プロンプトと notion://guide リソースを用意しています
  • セットアップの手間なし — Notion ウェブアプリと同じ内部 API を使用します。ブラウザーで表示できるものには、このサーバーからアクセスできます

ツール

ツール説明
notion_searchワークスペース内のすべてのページを全文検索します
notion_export_page任意の Notion ページを Markdown としてエクスポートします。画像リンクは閲覧可能な CDN URL に解決されます(画像をローカルにダウンロードする場合は image_dir を指定します)
notion_import_pageNotion ページに Markdown を書き込みます — 既存の内容をすべて置き換えます
notion_import_page_from_fileローカルの .md ファイルをページに書き込みます — 既存の内容をすべて置き換えます
notion_append_to_pageページの末尾に Markdown を追記します(既存の内容を保持します)
notion_append_to_page_from_fileローカルの .md ファイルをページの末尾に追記します(既存の内容を保持します)
notion_create_page新しいサブページを作成し、必要に応じて Markdown を事前入力します
notion_create_page_from_fileローカルの .md ファイルから新しいサブページを作成します
notion_add_imageページの末尾に画像を追加します — ローカルファイルは Notion にアップロードされ、http(s) URL はそのまま参照されます
notion_list_commentsページの未解決のディスカッションスレッドを一覧表示します
notion_add_comment新しいディスカッションを開始します — インライン(テキストにアンカー設定)またはブロック単位で追加できます
notion_reply_comment既存のディスカッションスレッドに返信します
notion_initブラウザーで「Copy as cURL」を貼り付けて、認証情報を抽出・保存します

公式 Notion API ではなく、これを使う理由

この MCP サーバー公式 Notion API
セットアップDevTools から3つの値を貼り付けますインテグレーションを作成し、管理者の承認を得て、ページを共有します
ページへのアクセス表示できるすべてのページ明示的に共有されたページのみ
Markdown双方向(エクスポート+インポート)読み取り専用のブロック API
認証Cookie(token_v2)OAuth/インテグレーショントークン

トレードオフ:内部 API は文書化されておらず、変更される可能性があります。トークンは定期的に期限切れになります(ブラウザーから再取得してください)。

クイックスタート

最も簡単な方法:対話形式でのセットアップ
npx @shck-dev/notion-mcp init

Chrome で Notion を開き、DevTools(F12)→ Network に移動します。notion.so/api/v3/… へのリクエストをクリックし、右クリックして Copy as cURL を選択します。コピーした内容を貼り付け、Ctrl-D を押してください。トークン、ユーザー ID、ワークスペース ID が抽出され、~/.notion-mcp/config.json に保存されます。次にサーバーを登録します。env ブロックは不要です。

claude mcp add notion -- npx @shck-dev/notion-mcp

3 つの値を手動で設定したい場合は、以下の手順に従ってください。

1. ブラウザーから認証情報を取得する
  1. Chrome で notion.so を開きます
  2. F12 → Application → Cookies → www.notion.so を開きます
  3. token_v2 Cookie の値をコピーして、NOTION_TOKEN に設定します
  4. F12 → Network タブを開き、Notion で何か操作を行います
  5. api/v3/* への POST リクエストを見つけてクリックします
  6. Request Headers から x-notion-active-user-header をコピーして、NOTION_USER_ID に設定します
  7. Request Body(Payload)から spaceId を見つけて、NOTION_SPACE_ID に設定します
2. MCP クライアントを設定する
Claude Code
claude mcp add notion -- env NOTION_TOKEN=your_token NOTION_USER_ID=your_user_id NOTION_SPACE_ID=your_space_id npx @shck-dev/notion-mcp
Claude Desktop/Cursor/その他の MCP クライアント

MCP 設定(claude_desktop_config.json、.cursor/mcp.json など)に追加します。

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["@shck-dev/notion-mcp"],
      "env": {
        "NOTION_TOKEN": "your_token_v2_value",
        "NOTION_USER_ID": "your_user_id",
        "NOTION_SPACE_ID": "your_space_id"
      }
    }
  }
}

必要条件

  • Node.js ≥ 18(npx 用)— または Bun。公開済みのサーバーは Node.js 互換の JS にコンパイルされているため、実行に Bun は不要になりました。

制限事項

  • 内部 API — ドキュメント化されていないため、Notion の更新によって動作しなくなる可能性があります
  • トークンの有効期限 — token_v2 は定期的に期限切れになります。認証に失敗した場合は、ブラウザーから再取得してください
  • データベース — データベース/コレクションのページは、まだ行をエクスポートできません。サブページはリンクとして表示され、そのようなページでは空の出力の代わりに説明メモが返されます
  • ブロック単位の編集 — インポートするとすべてのコンテンツが置き換えられ、追記すると末尾に追加されます(個々のブロックをその場で編集することはできません)
  • Markdown の変換による情報の損失 — 変換時に複雑な書式が簡略化されることがあります(例:インポート時に入れ子のリストがフラット化されます)
  • 外部画像 — notion_add_image 経由で追加された(または Markdown に埋め込まれた)http(s) の画像 URL は、そのまま参照され、Notion に再アップロードされません

ライセンス

MIT

コメント

MCP は初めてですか?

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

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