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章で本格的に扱います。

各章の読み方(共通の型)

どの章も、同じ順番で書いてあります。「いつものパターン」で読めます。

  1. 📱 Claude ではこう見える … あなたが知っている動きから
  2. 🤔 なぜ?/やらないとどうなる … 考え方と、サボったときの失敗例
  3. 🛠 こう作る … 実際の作り方(コピペで動く最小コード・1行ずつ解説)
  4. ⚠️ ハマりどころ … よくある間違いと直し方
  5. 🤖 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に繋ぐ)

第2部 道具を使う側を作る(自作アプリに繋ぐ)

第3部 まとめ

付録


この教材の到達点

最後まで進むと、こんなものが作れて、仕組みも説明できるようになります。

  • 自分のメモを読める Claude(自分で書いた MCPサーバー)
  • サーバーが動かないとき、どこを見て、何を試せばいいか分かる目
  • stdio と HTTP の違いが分かり、用途で選べる
  • 同じサーバーを、Claude Desktop からも自作アプリからも使える
  • 世の中のMCPサーバーのコードを読んで「ここが危ない/ここが親切」と判断できる目

関連ページ

  • 自作CLIエージェントで学ぶ AIエージェント開発入門 — はじめに・目次 — 第3弾。道具とループの基礎はこちらが土台(MCPは付録Gで予告済み)
  • ChatGPTクローンで学ぶ LLMアプリ開発入門 — はじめに・目次 — 第2弾。第11章で繋ぐ相手がこれです
  • Twitterクローンで学ぶWeb開発入門 — はじめに・目次 — 第1弾
  • 第4回 Singularity Society BootCamp 企画ノート — この教材を作る背景