Notionでタスクや議事録を管理していて、「Claude Codeとつなげれば、もっと楽になるのでは」と考えたことはありませんか。じつはNotion公式のMCPを使えば、Claude Codeから検索・閲覧・作成・更新までできます。ただし検索は『全件を拾う』設計ではなく、プランによってはデータベースへの直接クエリも制限されます。GOROが自社のタスク管理データベースで試したところ、公式の注意どおりに検索の取りこぼしが起きました。この記事では連携の基本的な仕組みから、実際にぶつかった壁、社内で使う際に確認すべきことまでを解説します。
Claude CodeとNotionはどうやって連携する?
結論から先に書くと、NotionとClaude Codeの連携は、Notionが提供する公式の接続窓口(Notion MCP)を介して行います。コードを書く作業は不要で、ブラウザでNotionにログインして許可する操作と、Claude Code側で一度コマンドを登録する操作だけで完了します。以下では、仕組みの全体像とClaude Code側の追加手順、接続前に確認しておきたい点を順に説明します。
NotionがホストするMCPサーバーとは
MCP(Model Context Protocol)とは、Claude CodeのようなAIツールと、NotionやGoogleドライブなど外部サービスが情報をやり取りするための共通の接続規格のことです。難しく聞こえますが、やっていることは「AIツールが外部サービスに安全にアクセスするための窓口」を標準化しただけで、利用者が規格そのものを意識する必要はありません。
Notion MCPは、この窓口をNotion自身が用意し、運用しているリモートサーバーです。Claude CodeやCursorなどのMCPクライアントは、OAuth認可(ブラウザでNotionにログインし、アクセスを許可する一般的な手続き)を経て接続します。接続後は、Notionおよび連携先のコンテンツの検索・読み取り・作成・更新や、データベースの作成までを組み合わせて行えます(Notion MCP(Notion))。つまり、サーバーの構築や管理はNotion側が担っており、利用者が独自にサーバーを立てる必要はありません。
ワークスペースの所有者は、Notionの「設定→Connections」からMCPクライアントのアクセス状況を確認・管理できます。組織で複数人が使う場合も、誰がどのツールを接続しているかを後から把握できる仕組みになっています。
Claude Code側でMCPを追加する流れ
Claude CodeもMCPを通じて、課題管理ツールやデータベースなど外部のツール・データソースに接続できる仕組みを持っています。Anthropic Directoryで公開されているコネクタは、Claude Codeと同じMCPのインフラ上で動いており、claude mcp addというコマンドで追加できます(Connect Claude Code to tools via MCP(Claude Code Docs))。
手順をおおまかに整理すると、次のようになります。
| 手順 | 内容 |
|---|---|
| 1 | Claude Codeの画面で、NotionのMCPコネクタを追加するコマンドを実行する |
| 2 | ブラウザが開き、Notionへのログイン画面が表示される |
| 3 | 自分のNotionワークスペースにログインし、アクセスを許可する |
| 4 | 許可が完了すると、Claude Codeから該当ワークスペースの情報にアクセスできるようになる |
この表はおおまかな流れの目安であり、実際の画面表示やコマンドの細部は更新される場合があります。最新の手順はConnect Claude Code to tools via MCP(Claude Code Docs)で確認してください。コマンドを打つ工程はありますが、入力するのは決まった1行をコピーして実行するだけで、プログラムを書く作業は発生しません。認可の部分は、普段他のWebサービスで「Googleでログイン」を押すのと同じ感覚に近いです。
接続前に確認しておきたいこと
接続する前に押さえておきたいのは、MCPが接続した本人の権限で動くことです。個人のタスク管理だけでなく、その人に共有されているページやデータベースまで対象になります。組織での管理のしかたとあわせて、後半の「社内で安全に使うために確認しておきたいこと」で整理します。
連携すると何ができる?Notion MCPでできること・できないこと
接続が終わると、次に気になるのは具体的に何ができるかという点でしょう。公式ドキュメントをもとに、できることと注意すべき点を整理します。
検索・閲覧・作成・更新ができる
Notion MCPの公式ドキュメントによれば、Claude CodeのようなMCPクライアントは、Notion MCPを通じて次の操作を組み合わせて実行できます。
| 操作 | できること |
|---|---|
| 検索 | ワークスペース内のページやデータベースを探す |
| 閲覧 | 既存のページやデータベースの中身を読み取る |
| 作成 | 新しいページやデータベースを作る |
| 更新 | 既存のページ内容を書き換える |
たとえば会議の記録をまとめた議事録ページを自動で作る運用のように、閲覧と作成を組み合わせる使い方が考えられます。タスクの進捗をページに書き足す、資料のドラフトをデータベースに登録する、といった操作も同じ仕組みの延長にあります。
検索は『全部拾える』設計ではない
ここで見落としやすいのが、検索機能の性質です。Search optimizations and limitationsには、検索エンドポイントはボットがアクセスできる文書をすべて列挙する用途には向いておらず、結果がすべて返る保証はないと書かれています(原文は「Search is not guaranteed to return everything」)。
つまり「Notionにつなげば、関連する情報を全部拾ってきてくれる」という期待は、公式の設計方針とは異なります。同じドキュメントでは、検索精度を上げる方法として、オブジェクトの種別で絞り込んだうえで、具体的なテキストクエリを組み合わせることを推奨しています。タスクや議事録のように件数が多いデータベースほど、検索だけに頼ると取りこぼしが起きうる点は、あらかじめ押さえておきたいところです。
データベースを絞り込みたいときの壁(プラン制限)
件数の多いデータベースを確実に絞り込みたい場合、公式ドキュメントは検索エンドポイントではなく、データベースIDを指定して呼び出す「Query a data source」エンドポイント(指定したデータベースの中だけを対象に、条件を指定してデータを取り出すための専用の呼び出し先)の利用を勧めています。ピンポイントでフィルタをかけたいときは、検索より専用のクエリ機能のほうが適しているという位置づけです。
ただし、この機能をMCP経由でどこまで使えるかは、ワークスペースのプランによって扱いが異なる場合があります。実際にどの操作がどのプランで使えるかは変更される可能性もあるため、最新の条件は公式サイトで確認したうえで判断してください。次のセクションでは、実際にタスク管理データベースを使って、この検索とクエリの違いがどう表れたかを見ていきます。
公式の注意どおりだった?タスク管理DBを使ってみた実録
できること・できないことの一覧だけでは、実務でどこまで通用するか判断しづらいものです。そこで、日々のタスク管理データベースを題材に、公式ドキュメントの注意事項と実際の結果が一致するかを確かめました。
意味検索で今週対応6件中1件しか拾えなかった
前述のとおり、Notionは検索で全件が返る保証はないとしています。この注意が、タスク管理データベースでどう表れたかの記録です。
実録GOROの作業記録
意味検索は6件中1件しか拾えなかった
MCPの
notion-query-data-sources(SQL)は Business+Notion AI プランが必要でブロックされる。notion-searchは意味検索で取りこぼす(実測:今週対応6件中1件しか拾えなかった)。出典:GOROの社内の作業記録(2026年7月)
ステータスが「今週対応」のタスクは6件あったが、意味検索で拾えたのは1件だけでした。公式の注意は、実際の結果とそのまま重なりました。
データベースへの直接クエリがプラン制限でブロックされた
取りこぼしを避けるため、データベースに直接クエリをかける機能も試しました。しかしこの機能は、BusinessプランとNotion AIの両方が必要で、ブロックされました(2026年7月時点)。プランの条件は変わる可能性があるため、最新の条件は公式サイトで確認してください。
ここまでの結果を整理すると、次のとおりです。
| 試した手段 | 結果 |
|---|---|
| 意味検索(notion-search) | 今週対応6件中1件しか拾えなかった |
| データベースへの直接クエリ(notion-query-data-sources) | プラン制限でブロックされた |
| REST APIの直接呼び出し | 全件取得に成功した |
REST APIを直接使う方法に切り替えた
意味検索でも直接クエリでも全件を確実に取れないとなると、残る手段はNotion公式のREST API(Notionが用意している、プログラムからデータを直接やり取りするための接続窓口。MCPより手前にある、より直接的な方法)を直接呼び出すことでした。インテグレーションのトークン(Notionが発行する、プログラムがデータへアクセスするための認証用の鍵のようなもの)を使い、データベースを検索するエンドポイントをページ送り(ページネーション)込みで呼び出し、ステータスなどの条件で全件をフィルタするスクリプトを用意しました。
このスクリプトは113行で、引数を付けなければ「今週対応」のタスクを取得します。--status で任意のステータスを指定でき、--all で全件、--json で加工前に近いデータを出力できます。毎朝のタスク一覧をSlackに投稿する仕組みでも、このスクリプトが使われています。定型作業をこうした仕組みに落とし込む考え方は、Claude Codeの「スキル」機能で詳しく扱っています。
結果として、タスク管理データベースを扱うなら、検索や直接クエリよりもREST APIを直接呼び出す方法のほうが、全件取得の確実性は高いという判断になりました。
運用して見えた細かいつまずきポイント
公式の注意どおりだったのは、検索の網羅性だけではありませんでした。タスク管理DB以外の場面でも、実際に運用を続けるうちに細かい不具合やつまずきが見つかっています。ここでは、特に非エンジニアが遭遇しやすい3つの事象を紹介します。
データベースのページIDとデータの実体のIDは別物だった
取引先ごとの管理ページの下に、商談履歴をまとめたデータベースを作り、相談内容や議事録をNotion MCPで書き込む運用を試したことがあります。
ここで起きたのが、IDの取り違えです。各管理ページの下にあるインライン型の履歴データベースは、ページごとに異なる固有のIDを持っています。一方、社内の手順書(CLAUDE.md)には別のIDが書いてありましたが、これはデータベースが置かれているページ自体のIDでした。ページのIDとデータベース本体のIDは別物で、後者を使わないとMCPのクエリが通りません。
CLAUDE.mdは、Claude Codeがセッションを開始するたびに読み込む、プロジェクト固有の指示を書いておくファイルです。公式には200行程度に収めることが推奨されており、既存のAGENTS.mdがあれば代わりに読み込ませることもできます(Explore the .claude directory(Claude Code Docs))。今回のつまずきは、このCLAUDE.mdに書かれていたIDが、実際にMCPのクエリで使うべきIDと異なっていたために起きたものです。
対処方法はシンプルで、エントリを作る前に対象ページを一度読み込み、ページ内に表示されるdata-source-url="collection://…"の値を確認することです。あわせて、MCPのクエリに使うデータベース本体のIDを、ページのIDとは別に控えるようにしました。
日付で絞り込むときに起きた「片方が無視される」不具合
議事録を自動でNotionに反映する仕組みを作ったときには、日付の範囲指定でつまずきました。
Notion APIでは、ある期間のレコードだけを取り出したいとき、1つの日付条件の中に「この日以降」と「この日以前」の両方を指定できる仕様になっています。ところがこの2つを同時に指定すると、片方が黙って無視され、絞り込みがかからないまま全件が返ってくる現象が起きました。
日付の範囲指定は1つのdateオブジェクトに on_or_after と on_or_before を同時に入れると片方が黙って無視され全件返る。必ず and で結合する(本スクリプトはそう実装している)。
対処は、2つの条件を別々の条件として用意し、andでつなぎ合わせる形に書き換えることでした。見た目は似た書き方でも結合のさせ方次第で結果が変わるため、日付での絞り込みを依頼するときは、意図した件数が返っているか必ず確認したほうが安全です。
画像やHTMLを埋め込むときの手順と制限
ページに画像やビジュアルを埋め込みたい場面でも、公式の仕様と実際の挙動の両方を押さえておく必要がありました。
公式ドキュメントでは、アップロードしたファイルは画像・ファイル・PDF・音声・動画・埋め込みの各ブロックや、ページのアイコン・カバー、データベースのファイル欄に添付できるとされています。サイズの上限は無料ワークスペースで1ファイル5MiBまで、有料ワークスペースで5GiBまでです。20MiBを超えるファイルは、分割して送るマルチパート方式が必要になります。(Working with files and media)
実際に試してみると、経路によって成功と失敗が分かれました。
| 試したこと | 結果 |
|---|---|
| Drive経由の画像を埋め込む | 入らなかった |
| ローカルの画像ファイルをアップロード | 専用の手順で成功 |
| REST APIのトークンでHTMLブロックを作成 | 作成できなかった |
| MCP経由でHTMLブロックを作成 | 成功 |
画像は、まずアップロード用のURLを発行してもらい、そこへ手元のファイルを送信し、返ってきた案内に従ってページに差し込む、という3段階の手順を踏むと入りました。画像タグの内側に文字を書くと、そのままキャプションとして表示されます。発行されたアップロード用URLの有効期限はおよそ1時間で、1ファイルにつき送れる容量は20MiBまででした。公式ドキュメントが示す20MiBという分割の目安と、実際に体験した上限がちょうど重なった形です。
タグの内側にテキストを書くとキャプションになる(
<image src="...">キャプション</image>)。Drive MCP 経由の画像は不可、ローカルファイルはこの経路のみ
取引先への提案ページにビジュアルを埋め込みたいときは、HTMLのブロックを使う方法もあります。ただしこちらは、REST APIのトークンだけでは作成できず、MCP経由で置く必要がありました。埋め込むHTMLに外部のリソースやスクリプトを含めず、見た目だけのシンプルなカードにしておくほうが安全です。
HTMLは外部リソース・JSなしの白カードにすると安全。REST APIのトークンではHTMLブロックを作れないのでMCP経由で置く
いずれも、公式ドキュメントに書かれた容量や対応ブロックの範囲内ではあるものの、どの経路を使うかで成否が分かれる点は、実際に手を動かさないと見えにくい部分でした。
社内で安全に使うために確認しておきたいこと
ここまでの検索やIDの扱いは、個人がNotionを操作する範囲の話でした。チームや会社でClaude CodeとNotionをつなぐ場合は、権限の設計をもう一段確認しておく必要があります。
MCPはユーザー本人の権限で動く
Notionは、MCPツールが接続した本人の権限で動作すると説明しています。本人がNotion上でアクセスできる範囲のページやデータベースには、すべて触れられるということです。Notion自身も、まずは個人のワークフローから始めることを推奨しています。自分のワークスペースとAIアプリをつなぐ範囲から試すべきだという考え方です。言い換えると、閲覧権限を広く持つメンバーがMCPを使うと、本人の想定以上に多くの情報へAIがアクセスできる状態になります。誰がどの範囲の権限でMCPを使うかは、導入前にNotion側の共有設定とあわせて確認しておきたいところです(Connect AI tools with Notion MCP)。
組織の管理者が接続を管理する仕組み
個人の判断に任せきりにしないための仕組みも用意されています。Notionの開発者向けドキュメントによると、ワークスペースの所有者は「設定→Connections」からMCPクライアントのアクセスを管理できます。組織の管理者はAdmin APIで、接続の一覧取得や取り消しもできます(Notion MCP)。さらにEnterpriseプランには「MCP Governance」という機能があります。接続を許可するAIアプリやMCPクライアントを個別に承認・ブロックし、ワークスペース全体で統制できるとNotionは案内しています(Connect AI tools with Notion MCP)。プランによって管理できる範囲が変わるため、現在契約しているプランで何を統制できるかは、自社の管理画面か公式サイトで確認したいところです。
Claude Code側にも、接続先への注意があります。公式ドキュメントは、MCPサーバーを接続する前に、そのサーバーを信頼できるか必ず確認するよう呼びかけています。外部のコンテンツを取得するサーバーには、悪意のある指示が紛れ込むリスクがあるためです(Connect Claude Code to tools via MCP)。Notion MCPはNotion自身がホストする公式サーバーですが、ほかの非公式なMCPサーバーを追加する場合は、この注意がそのまま当てはまります。
自社の業務に合わせた設計が必要な理由
権限の範囲と管理の仕組みが分かっても、どの業務でどこまで使わせるかは会社ごとに判断が分かれます。MCPは本人の権限で動くため、担当者によって見える情報の範囲が異なり、同じ使い方をしても結果に差が出ることがあります。タスク管理のような限られたデータベースだけで使うのか、営業情報や人事情報を含む範囲まで触らせるのかで、必要な権限設計も変わります。
導入を検討する段階では、次の3点を先に決めておくと、後からの権限調整が少なくて済みます。
| 確認しておくこと | 具体的な内容 |
|---|---|
| 対象範囲 | どの部署のどのデータベースを対象にするか |
| 承認者 | 誰が接続の許可・取り消しを判断するか |
| 契約プラン | MCP Governanceなどの統制機能が使えるプランか |
こうした権限設計とセキュリティ面の考え方は、Claude Codeのセキュリティは大丈夫?法人導入前に知るべき安全性と対策を非エンジニア向けに解説でも整理しています。
この記事と合わせて読みたい
- Claude Codeで議事録作成を自動化する方法とは?非エンジニア向けに仕組みを解説 — Notion連携で議事録データを扱った次は、議事録作成自体をClaude Codeでどう自動化できるかが気になるため。
- Claude Codeの「スキル」とは?非エンジニアでもできる作り方と活用事例を解説 — 連携を毎回同じ手順でなく仕組み化したくなったときに、Claude Codeの『スキル』機能の使い方が気になるため。
- Claude Codeのセキュリティは大丈夫?法人導入前に知るべき安全性と対策を非エンジニア向けに解説 — 社内で使う際の権限やガバナンスを読んだ後、Claude Code全体のセキュリティ対策をより詳しく知りたくなるため。
Claude Codeを業務で使いたい方へ
自分の業務を題材に試したい方には、1対1で進めるClaude Code マンツーマン講座があります(オンライン・回数制)。部署やチームで導入する場合は、業務に合わせて内容を設計するClaude Code法人研修をご覧ください。