Claude CodeからNotionを読み書きできるようにする(Notion MCPのつなぎ方)
「Notionのタスクを見て、今日やることをまとめて」「この内容を家計メモのページに書き足して」。Claude Codeにこう頼めるようになると、Notionで管理している家の用事を、話しかけるだけで動かせるようになります。そのための窓口が「Notion MCP」です。
この記事では、Claude CodeにNotion MCPをつなぐ手順と、実際に使ってみて分かった注意点をまとめます。
Notion MCPとは
MCP(Model Context Protocol)は、AIが外部のサービスを操作するための共通のつなぎ方です。Notionは公式のMCPサーバーを公開していて、そのURLは https://mcp.notion.com/mcp です。Claude Codeにこれを登録すると、会話の中で「このページを読んで」「このデータベースに1行足して」と頼めるようになります。
自分でプログラムを書く必要はありません。登録とログインの2つの手順で使い始められます。
つなぐまでの流れ
- 1. コマンドで登録claude mcp add で、Notion MCPのURLを登録する
- 2. ブラウザでログイン/mcp から、Notionのアクセスを許可する
- 3. 試しに読ませるページを1つ要約させて、つながったかを確かめる
手順1: コマンドで登録する
ターミナルで次のコマンドを実行します。Notionの公式ドキュメントに載っている、Claude Code向けのコマンドそのままです。
claude mcp add --transport http notion https://mcp.notion.com/mcp
途中の notion は、自分で付ける呼び名です。あとで権限の設定などに使うので、短く分かりやすい名前にしておきます。
このコマンドで登録すると、今いるフォルダ(プロジェクト)の中だけで使える設定になります。使える範囲は --scope で変えられます。
| --scope の値 | 使える範囲 | 設定の保存先 |
|---|---|---|
| local(指定しないとき) | 今のプロジェクトだけ | ホームフォルダの .claude.json |
| user | すべてのプロジェクト | ホームフォルダの .claude.json |
| project | 今のプロジェクトだけ(設定ファイルを共有できる) | プロジェクトの .mcp.json |
家の用事を自動化するなら、どのフォルダで作業していても使えるように user にしておくと便利です。
claude mcp add --transport http notion --scope user https://mcp.notion.com/mcp
手順2: ブラウザでログインする
登録しただけでは、まだNotionの中身は読めません。Claude Codeを起動して /mcp と入力し、一覧から notion を選ぶと、ブラウザが開いてNotionへのログインと許可の画面になります。使うワークスペースを選んで許可すれば完了です。ターミナルから claude mcp login notion を実行しても同じことができます。
ログインの情報はClaude Code側に保存され、期限が来ると自動で更新されます。そのため、毎回ログインし直す必要はありません。
つながったら、「Notionで『買い物メモ』というページを探して、中身を3行で要約して」のように頼んでみてください。ページの中身が返ってくれば成功です。
claude.aiでNotionをつないでいる場合
ブラウザ版のclaude.aiで、すでにコネクタとしてNotionを追加しているなら、上の手順は要らないかもしれません。Claude Codeの公式ドキュメントによると、claude.aiのアカウントでClaude Codeにログインしていれば、claude.aiで追加したコネクタはClaude Codeでも自動で使えます。/mcp の一覧に、claude.aiから来たことを示す表示付きで並びます。
両方で登録すると同じNotionが2つ並んでしまうので、どちらか一方にしておくと迷いません。
APIの「インテグレーション」との違い
NotionをプログラムからAPIで操作する方法もあります。こちらは「インテグレーション(コネクト)」を作って、その秘密の鍵(トークン)で動かします。どちらを使うかは、用途で選ぶのがおすすめです。
| Notion MCP | API(インテグレーション) | |
|---|---|---|
| 誰の権限で動くか | ログインした自分 | インテグレーション |
| 読み書きできる範囲 | 自分が見られるページ | 「コネクトを追加」したページとその下の階層 |
| ログイン | ブラウザでの許可が必要 | トークンを設定するだけ |
| 向いている使い方 | 会話で頼む、内容に応じて判断させる | 決まった処理を毎回同じように動かす |
Notionの公式ドキュメントでは、MCPは許可したワークスペースの中で「自分がアクセスできる内容を読み書きできる」と説明されています。ページごとに接続を追加しなくてよいので手軽ですが、そのぶん触れる範囲が広いことは覚えておきましょう。また、許可の手続きはブラウザでの操作が前提で、対話なしでの許可にはまだ対応していないと書かれています。毎日の自動実行で使う場合も、最初の1回は自分の手でログインしておく必要があります。
APIのほうでよくある「IDは合っているのに見つからない」というエラーについては、Notion APIが「object_not_found(404)」を返すときの確認手順にまとめました。
使ってみて分かった注意点
書き込む場所を決めておく
MCPは自分と同じ範囲に書き込めます。頼み方があいまいだと、思っていないページに書き足されることがあります。「この親ページの下にだけ新しいページを作って」のように、書き込む場所をはっきり伝えるのが安全です。毎回同じ注意を書くのが面倒なら、Claude Codeが毎回読む CLAUDE.md というメモに書いておくと、言わなくても守ってくれるようになります。
書いたら読み返させる
私の環境では、書き込みの方法によって、改行が「\n」という2文字のまま入ってしまったことがありました。日本語の一部が別の字になっていたこともあります。どちらも、書き込んだ直後にもう一度そのページを読ませれば気づけます。「書いたらページを読み返して、崩れていないか確かめて」と頼んでおくと安心です。
大きなページは読む範囲を絞る
ページやデータベースが大きいと、読み込むだけで時間がかかり、使える量(トークン)も多く使います。「今週の期限のタスクだけ」のように、必要な範囲を指定して頼むと速く終わります。
まとめ
- Notion MCPは
claude mcp add --transport http notion https://mcp.notion.com/mcpで登録し、/mcpからブラウザでログインすれば使える - どのフォルダでも使うなら
--scope userを付ける。claude.aiでつないでいれば、そのまま使えることもある - MCPは自分の権限で動くので、書き込む場所を決め、書いたら読み返させる
ページやデータベースのIDが必要になったときは、NotionのID取り出しツールを使うと、URLを貼るだけで取り出せます。