料理ブログをClaude Codeで作っている初心者向け
料理ブログのレシピメモがNotionに散らばっている、写真がGoogle Driveに溜まっている、栄養素計算用の自作APIがある、といった状況で、それらをチャットにコピペする手間を省きたいときに導入する。`.mcp.json` を1つ置くか、`claude mcp add` を1回叩けば、そのプロジェクト内でClaudeが直接データを読みに行く形になる
料理ブログを書いていると、こういう状況に出くわします。
レシピのメモはNotionに残してある。写真はGoogle Driveの「カレー」フォルダにまとまってる。栄養素は別の自作APIで計算したい。
でもClaude Codeに記事を書かせようとすると、これらを全部いちいちコピーしてチャットに貼り付ける羽目になる。これがしんどい。
MCPはここを解決します。Notionの中身もGoogle Driveのファイル一覧も、Claudeが自ら取りに行きます。
噛み砕くと「家電のコンセント規格」みたいな話
MCPは Model Context Protocol の略です。modelcontextprotocol.io というオープンな規格として公開されていて、Anthropic以外も準拠できます。
イメージは家電のコンセント。日本のコンセントは100Vの2口で統一されてるから、炊飯器も電子レンジもドライヤーも同じ口に差せます。メーカーごとに口の形が違ったら大惨事です。
MCPもこれと同じ。「Claudeに外部のツールを繋ぐときの口の形」を統一した規格で、規格に合ったMCPサーバーを差し込めば、Claudeはそのサーバーが提供する機能をすべて使えるようになります。
NotionもGoogle DriveもGitHubも、それぞれ公式のMCPサーバーを公開しています。だから料理ブログ用のレシピメモをNotionに残してあるなら、NotionのMCPサーバーを差し込むだけでClaudeがNotionを直接読みに行ける、という構造です。
「.mcp.json」を1個置くと、Claudeから何が見えるようになるのか
料理ブログのフォルダに .mcp.json という1ファイルを置きます。中身はこんな形。
{
"mcpServers": {
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp"
}
}
}
これをプロジェクトのフォルダに置いてClaude Codeを起動すると、Claudeが「notionというMCPサーバーが見えてる、繋ぐ?」と確認してきます。承認するとNotionの全文検索やページ取得が、その料理ブログのプロジェクト内だけで使えるようになります。
初回はNotion側のログインが要ります。ターミナル内で /mcp と打つとブラウザが開いて、Notionのアカウントで認証する画面が出ます。完了するとトークンがClaude Codeに安全に保存されて、以降はパスワードを毎回聞かれません。
ここで初心者がやりがちな勘違いがあります。「.mcp.json を置いた瞬間に、Claudeが勝手にNotionを読み始める」と思ってる人がいる。実際は違います。Claude Codeはセキュリティのために、プロジェクト直下の .mcp.json を見つけても初回は必ず承認ダイアログを出します。許可しない限り読みに行きません。
料理ブログでNotionのレシピメモを繋ぐ、再現手順
「肉じゃがの調味料配分、Notionに残してたメモから引っ張って」とClaudeに頼める状態を作ります。3つのやり方があるけど、初心者は最初の claude mcp add 方式が一番ラクです。
ステップ1: 料理ブログのフォルダに移動する
$ cd ~/projects/cooking-blog
$ ls
articles/ recipes/ images/ CLAUDE.md
このフォルダ内でMCPの設定をすると、料理ブログのプロジェクトの中だけNotionが見える状態になります。他のプロジェクト(家計簿アプリとか)には影響しません。
ステップ2: Notion MCPサーバーを追加する
$ claude mcp add --transport http notion https://mcp.notion.com/mcp
これで ~/.claude.json の中に「このプロジェクトではnotionというMCPサーバーを使う」という設定が書き込まれます。手で .mcp.json を書く必要はなし。
チームでブログを共同運営してる場合は --scope project を足すと、フォルダ直下に .mcp.json が作られます。これをGitに入れるとチーム全員が同じMCPサーバーに繋がるようになる。1人で書いてる場合はそのままでOKです。
ステップ3: Claude Codeを起動して認証する
$ claude
> /mcp
/mcp と打つとMCPサーバーの一覧が出ます。notionが「authentication required(認証が必要)」になってるはず。選択するとブラウザが開いて、Notionのアカウントでログイン画面に進みます。完了すると一覧が「connected」に変わります。
ステップ4: 実際にNotionからレシピメモを引っ張る
> 「肉じゃが」のページをNotionから探して、調味料の配分だけ抜き出して
Claudeが内部でNotionのMCPツール(search系)を呼び出して、肉じゃがのページを見つけて、調味料の部分を抜き出して返してきます。Notionアプリを開いてコピペする必要は、もうなし。
ステップ5: 確認・トラブル対応
$ claude mcp list
$ claude mcp get notion
$ claude mcp remove notion # やめたいとき
list で繋がってるサーバー一覧、get で個別の詳細、remove で削除です。
MCPサーバーが提供するもの3種類(ツール/リソース/プロンプト)
MCPサーバーが差し込める「機能」は大きく3種類あります。料理ブログ用に置き換えると分かりやすい。
1. ツール(Tools)— Claudeが自ら叩ける機能
「Notionを検索する」「Google Driveのフォルダ内ファイルをリストする」「栄養素を計算する」みたいな能動的な動作です。Claudeが文脈を読んで「これ呼ぶべき」と判断したら勝手に呼びにいきます。
料理ブログだと「肉じゃがのレシピを検索」と頼んだ瞬間に、ClaudeがNotionの search ツールを内部で叩く、というのがこのパターン。
2. リソース(Resources)— @ で指名できるデータ
Claudeに「この特定のファイル読んで」と @ 記号で指名できる読み取り対象です。プロンプト内に @ を打つと、繋いでるMCPサーバーが提供してるリソース一覧が出ます。
> @notion:page://recipes/curry のレシピをブログ記事用に整形して
みたいな書き方で特定のNotionページを指名できます。Claudeが自動で取りに行ってくれない場合に、人間側から「これ見て」と渡せる仕組み。
3. プロンプト(Prompts)— サーバーが用意した定型コマンド
MCPサーバー側が「このサーバーを繋いだ人向けに、よく使うプロンプトを用意しておきました」と公開しているコマンド集です。Claude Codeでは /mcp__サーバー名__プロンプト名 の形で呼べます。
> /mcp__github__pr_review 456
みたいな形で、PR番号456のレビューを定型プロンプトで一発実行できます。料理ブログでは使わないけど、開発系のMCPサーバーだとよく登場します。
料理ブログでの使いどころ3パターン
パターン1: Notion MCPで過去のレシピメモを引っ張る
記事化前のレシピメモをNotionに溜めてる料理ブロガーは多い。「肉じゃがの調味料、こないだ研究したやつどれだったっけ」を毎回探す手間がなくなります。
Claudeに「Notionの『家庭料理リサーチ』DBから、肉じゃがで分量を確定させた最新のページを引いて」と頼むと、search→該当ページ取得→必要部分の抜粋まで一気にやってくれます。Notionアプリを開かなくていい。
パターン2: Google Drive MCPで写真フォルダを一覧する
「/recipes/curry/ フォルダの写真を全部リストして、ファイル名と撮影日を教えて」というのがClaudeに直接頼めます。
記事を書きながら「カレーの写真何枚あったっけ、どの順で並べる?」を考えるとき、Driveを別タブで開かずにそのまま会話の流れで処理できる。タブ切り替え1回ぶん、思考が途切れずに済みます。
パターン3: 自作MCPで栄養素計算APIを呼ぶ
栄養素計算が組み込まれた料理ブログにしたいなら、自作のMCPサーバーで栄養素APIをラップしておく手があります。
Claudeに「鶏むね100gとキャベツ200gとご飯150gの合計栄養素」と書くだけで、栄養素APIを叩いた結果を記事内に表として埋め込んでくれる。MCPサーバーの作り方は modelcontextprotocol.io のクイックスタートに載ってます。
初心者が踏みやすい落とし穴
- サードパーティのMCPサーバーは「自己責任で使え」と公式が明示している。AnthropicはMCPレジストリに載ってるサーバーの安全性を全部は検証してません。特にネット上の文章を取得するMCPサーバーはプロンプトインジェクション(Claudeを誤誘導する仕掛けがコンテンツに埋まってる攻撃)のリスクがある。信頼できる発行元のサーバーだけ繋ぐこと。
- MCPサーバーの認証情報を
.mcp.jsonにベタ書きしない。.mcp.jsonはプロジェクト全員に共有される(Gitに入れる)前提のファイル。APIキーを直接書くと事故る。代わりに${API_KEY}のように環境変数を参照させて、実際の値は各メンバーがローカルに持つ形にする。 - SSEトランスポートはdeprecated(廃止予定)になってる。古い記事だと
--transport sseで繋ぐ手順が出てくるけど、これからは--transport httpを選ぶ。 - MCPサーバーの出力が大きいと、会話の容量を圧迫する。Claude Codeはツール出力が10,000トークン超えると警告を出します。Notionから何百ページもまとめて引くような呼び出しをすると、その後の会話が短く打ち切られる原因になる。検索条件を絞って必要な分だけ取らせる。
- 料理ブログ層には
claude mcp serveはほぼ要らない。これは「Claude Code自体をMCPサーバーとして他のアプリから呼ぶ」上級用途。Claude Desktop等から逆方向に繋ぐ人向けで、Claude Codeで料理ブログを書く文脈では出番なし。 - Claude.aiのコネクタとClaude Codeの設定が重複することがある。Claude.aiでも同じMCPサーバーを追加してる場合、Claude Code側の設定が優先されて、Claude.ai側のコネクタは「hidden」表示になります。これ自体は壊れてるわけじゃない、優先順位が決まってるだけ。
関連する仕組みへの動線
MCPは「外部の機能を繋ぐ規格」で、Claude Code内には他にも似たような仕組みがあります。混同しがちなので整理しておきます。
- Skills: 「Claudeに特定の作業手順を覚えさせる」仕組み。MCPは「外部サービスを繋ぐ」のに対して、Skillsは「Claude自身の振る舞いを変える」。料理ブログで「レシピ記事の構成テンプレ」を毎回守らせたいならSkills側。
- Hooks: 「ファイル保存時に自動でフォーマッターを走らせる」みたいな、決まったタイミングでスクリプトを発火させる仕組み。MCPは「Claudeが必要なときに呼びにいく」、Hooksは「特定イベントで自動発火」、という違い。
- /init: プロジェクトのフォルダ構造を読ませて
CLAUDE.md(プロジェクト用の覚え書き)の雛形を作るスラッシュコマンド。料理ブログを始めた直後に/init、その後にMCPサーバー追加、の順がスムーズ。 - /memory:
CLAUDE.mdをエディタで編集する起動口になるスラッシュコマンド。MCPで繋いだサーバーの使いどころをメモしておくと、毎回同じ流れで呼べる。 - /agents: 専門特化のサブエージェントを定義する仕組み。料理ブログだと「レシピ記事だけ書くwriter」を作ってMCPと組み合わせると、Notion参照→記事化が一気通貫になる。
- /clear: 会話履歴を真っさらにリセットする。MCP経由で大量データを引いて会話が膨らんだら、一回
/clearで締めると次のタスクが軽くなる。
参考リンク
- Connect Claude Code to tools via MCP(Claude Code公式ドキュメント)
- Model Context Protocol(規格本体の公式サイト)
- MCP SDK クイックスタート(自作MCPサーバーを書きたい人向け)
書き方
claude mcp add --transport http <サーバー名> <URL>
やってみるとこうなる
入力
claude mcp add --transport http notion https://mcp.notion.com/mcp
出力例
Added MCP server: notion (http)\n→ Claude Code起動後、`/mcp` でログイン認証 → Notionの検索・ページ取得がClaudeから直接使える状態になる
このページに出てきた言葉
- MCP
- Model Context Protocol の略。modelcontextprotocol.io が公開しているオープン規格で、ClaudeなどのAIに外部サービスを繋ぐときの「口の形」を統一したもの
- MCPサーバー
- MCPの規格に従ってClaudeに機能を提供する窓口プログラム。Notion公式・GitHub公式が公開しているもの、自作のもの、誰かがOSSで出しているものなど多数
- 規格/プロトコル
- 「データのやり取りの仕方」をあらかじめ決めた共通ルール。コンセントの口の形や、ブラウザとサーバーの会話作法であるHTTPも仲間
- .mcp.json
- プロジェクトのフォルダ直下に置くテキストファイル。「このプロジェクトでは、こういうMCPサーバーを繋ぐ」という設定を書く
- スコープ(local/project/user)
- 「この設定をどの範囲で有効にするか」の指定。local=このプロジェクトの私だけ、project=チーム共有(`.mcp.json` をGit管理)、user=私の全プロジェクトで有効
- ツール(MCPの文脈)
- Claudeが自らの判断で呼び出せる機能。「Notionを検索する」「ファイルを読む」など能動的な動作
- リソース
- Claudeが読み取れるデータの単位。プロンプト内で `@サーバー名:protocol://パス` の形で人間側から指名できる
- プロンプト(MCPの文脈)
- MCPサーバー側が用意した定型コマンド。Claude Codeでは `/mcp__サーバー名__プロンプト名` の形で呼ぶ
- OAuth/トークン
- IDとパスワードを直接渡さず、代わりに発行された通行証(トークン)でログインする仕組み。Claude Codeは `/mcp` 経由で各MCPサーバーと安全に認証する
- ターミナル
- 黒い画面で文字のコマンドを打ち込む画面(Windowsだと「コマンドプロンプト」「PowerShell」、Macだと「ターミナル」アプリ)