MCPサーバーを作って学ぶ AIに道具を持たせる入門 — はじめに・目次
このページは教材の入口(ハブ)です。まずここを読んで、上から順に各章へ進んでください。
この教材は人気シリーズの第4弾(短編)です。第1弾 Twitterクローンで学ぶWeb開発入門 — はじめに・目次 は「そのデータは誰のもの?」、第2弾 ChatGPTクローンで学ぶ LLMアプリ開発入門 — はじめに・目次 は「記憶と守り」、第3弾 自作CLIエージェントで学ぶ AIエージェント開発入門 — はじめに・目次 は「ループと安全」を背骨にしました。今回は——あなたの Claude が、あなたのメモを読めるようにします。
🤝 これは前2作の“宿題”です。 第2弾では第12章で MCP に軽く触れ、第3弾では付録Gで「考え方だけ」紹介しました。どちらも「詳しくは、またいつか」と言って先送りにしたのです。今回がその「いつか」です。作るのは MCPサーバー——AIに新しい道具を後付けするための、小さなプログラムです。
⚠️ 最初の心構え:「動かない」に必ず一度はぶつかります。 MCPは、目に見えないところで通信している仕組みです。だから動かないとき、画面には何も出ません。エラーすら出ないこともあります。 これは あなたのせいではなく、この技術の性質です。だからこの教材では、わざと壊して、直し方を覚える章(第3章・第4章)に、まるまる2章を使います。ここを飛ばさないでください。「動かないときに何をすればいいか分かる」——それがこの教材の一番の持ち帰りです。
なぜ「MCP」なのか
いま、あなたはたぶん Claude や ChatGPT に「コネクタ」「連携」「拡張機能」を追加したことがあるはずです。GitHub と繋いだり、カレンダーを読めるようにしたり。あれの正体が MCP(Model Context Protocol) です。
そして——あれは、自分で作れます。
- Claude が、自分のメモフォルダを検索してくれる
- Claude が、自分の書きかけの文章を読んで、続きを手伝ってくれる
- Claude が、自分の決めたルールで、新しいメモを書いてくれる
こういう「自分専用の道具」を、この教材では実際に作ります。しかも一度作れば、Claude Desktop からも、自分で作ったアプリからも、同じものが使えます。それが「規格」であることの意味です。
この教材の特徴(ふつうの入門記事とどう違う?)
世の中のMCP記事は、たいてい「動きました!」で終わります。それはそれで良いのですが、あなたが自分のサーバーを書き始めた瞬間に、動かなくなって、そこで詰みます。
この教材は、そこを正面から扱います。そして進み方は 逆向き です。
すでに知っている「コネクタ」の動き → なぜそう動くのか → 自分で作るとこう書く
この教材を貫く2本の背骨
全体を、たった2つの問いが貫いています。各章はどちらか(または両方)に必ずつながります。
🔌 背骨①:道具は「規格」で作る。一度作れば、どのAIからでも使える
AIに道具を持たせる方法は、前作でもうやりました(第3弾の第3章)。ではなぜ MCP が要るのか? 道具を作る側と、AIを動かす側を、切り離すためです。 規格がないと、「Claude用のGitHub連携」「ChatGPT用のGitHub連携」「Cursor用の…」と、AIの数 × サービスの数だけ作る羽目になります。規格があれば、道具は1回作るだけ。あなたが作るメモサーバーも、この教材の後半では自作のChatGPTクローンから同じように使います。
📡 背骨②:見えない通信を、覗けるようにする
MCPサーバーは、画面のないプログラムです。あなたのパソコンの中で静かに起動し、AIと文字列をやりとりして、静かに終わります。 だから「動かない」とき、どこで何が起きているのか分からない。この教材では、その通信を覗く方法と壊れ方のパターンを先に教えます。とくに、画面に文字を出すつもりで書いた1行が、サーバーを丸ごと壊す——という有名な罠を、実際に自分の手で起こしてもらいます。
💡 2本の背骨に加えて、早めに知っておいてほしいことが1つ。AIがあなたの道具について知っているのは、あなたが書いた「説明文」だけです。道具の中身のコードをAIは読みません。だから「いい道具」を作るには、いい説明文を書く必要があります。第2章でいきなりこれを体感してもらい、第5章・第6章で本格的に扱います。
各章の読み方(共通の型)
どの章も、同じ順番で書いてあります。「いつものパターン」で読めます。
- 📱 Claude ではこう見える … あなたが知っている動きから
- 🤔 なぜ?/やらないとどうなる … 考え方と、サボったときの失敗例
- 🛠 こう作る … 実際の作り方(コピペで動く最小コード・1行ずつ解説)
- ⚠️ ハマりどころ … よくある間違いと直し方
- 🤖 AIに頼むなら … Vibe coding(AIに作らせる)のコツ
各項目には、むずかしさの目印を付けます。
- 🟢 基礎:全員が読むところ
- 🔧 応用:もう少し深く知りたい人向け(読み飛ばしてもOK)
💡 本編は🟢基礎で一直線に進みます。難しい話(Python版・Claude Code への接続・設定ファイルのトラブルなど)は、本編では“紹介”にとどめ、くわしくは付録に置いています。
用意するもの
- パソコン(WindowsでもMacでもOK)
- Node.js(コードは TypeScript で例示します)
- Claude Desktop(無料版でOK。最新版に更新しておいてください)
- テキストエディタ(VS Code など)
- AIコーディングツール(Claude / Cursor / Codex など。あると楽です)
💡 今回は APIキーもデータベースもログインも要りません。 前作より、むしろ準備は簡単です。作るものは全部自分のパソコンの中で動きます。 💡 コード例は TypeScript ですが、Python でも同じものが作れます(付録A)。MCPは規格なので、言語は好みで選べます。「手元のLLMに『これをPythonで書き換えて』と頼めばいい」と各章で添えます。
⚠️ バージョンについての大事な注意(2026年7月時点) この教材のコードは
@modelcontextprotocol/sdkの 1.x 系(執筆時の最新は 1.29.0)で動作確認しています。npm install @modelcontextprotocol/sdkで入るのはこれです。 ややこしいのは、GitHub の README や TypeScript SDK の公式ドキュメントサイトが、まだ公開されていない次のバージョン(v2系)の書き方を先に載せていることです。v2系ではパッケージの分かれ方も、ツールの書き方(z.object()で包む・zod v4)も変わります。 公式サイトを見ながら書いたのに動かない——という混乱が起きたら、まずこれを疑ってください。この教材は「いまnpm installして手に入るもの」に合わせてあります。AIに書かせたときも同じズレが起きます(各章の🤖節参照)。
目次
✅=執筆ずみ。
第1部 道具を作る(Claudeに繋ぐ)
- 第0章 はじめに(このページ)✅
- 第1章 「コネクタ」の正体 — MCPは道具の共通規格 ✅ — ホスト/クライアント/サーバーの三役。コードはまだ無し
- 第2章 まず公式のサンプルを動かす — 天気サーバーをClaudeに繋ぐ ✅ — 設定ファイルの書き方。そして「東京の天気」が動かない理由
- 第3章 標準入出力の正体 —
console.log1行でサーバーが壊れる ✅ — わざと壊して、直す。2通りの壊れ方 - 第4章 デバッグの作法 — 見えない通信を覗く ✅ — MCP Inspector とログ設計、切り分けの4段階
- 第5章 自分の道具を作りはじめる — メモを検索する ✅ — ここから「自分のためのサーバー」。説明文の実験つき
- 第6章 道具を増やす — 読む・書く ✅ — 入力の受け取り方、エラーは throw せず返す
- 第7章 道具だけじゃない — リソースとプロンプト ✅ — 3種類の使い分け(誰が使うと決めるか)
- 第8章 HTTPで動かす — もう1つの繋ぎ方 ✅ — 手元=stdio/遠く=HTTP。DNSリバインディング対策
- 第9章 安全 — 書ける道具は、危ない道具 ✅ — フォルダの封じ込め、確認をはさむ
第2部 道具を使う側を作る(自作アプリに繋ぐ)
- 第10章 使う側のしくみ — 繋ぐ・一覧をもらう・AIに渡す ✅
- 第11章 自作ChatGPTクローンに繋ぐ ✅ — 前作の続き。自分の道具が、自分のアプリで動く
- 第12章 現実に起きる問題 — サーバーが増えたら ✅ — 名前の衝突/道具が多すぎる/起動が遅い
第3部 まとめ
付録
- 付録A Python版で同じものを作る ✅
- 付録B Claude Code に繋ぐ ✅
- 付録C 設定ファイルの場所とトラブル ✅ — macOS / Windows 両対応。天気サーバーが動かないときの逃げ道つき
- 付録D よくあるエラー集 ✅ — 12件の逆引き
この教材の到達点
最後まで進むと、こんなものが作れて、仕組みも説明できるようになります。
- 自分のメモを読める Claude(自分で書いた MCPサーバー)
- サーバーが動かないとき、どこを見て、何を試せばいいか分かる目
- stdio と HTTP の違いが分かり、用途で選べる
- 同じサーバーを、Claude Desktop からも自作アプリからも使える
- 世の中のMCPサーバーのコードを読んで「ここが危ない/ここが親切」と判断できる目
関連ページ
- 自作CLIエージェントで学ぶ AIエージェント開発入門 — はじめに・目次 — 第3弾。道具とループの基礎はこちらが土台(MCPは付録Gで予告済み)
- ChatGPTクローンで学ぶ LLMアプリ開発入門 — はじめに・目次 — 第2弾。第11章で繋ぐ相手がこれです
- Twitterクローンで学ぶWeb開発入門 — はじめに・目次 — 第1弾
- 第4回 Singularity Society BootCamp 企画ノート — この教材を作る背景