A
AIエージェントの仕組み
ch7-s1 · Why MCP

なぜ MCP が必要か

約 12 分

この回のゴール

1. 第 6 章までの復習

ここまでで作ったもの:

作ったもの 各ツールの定義
04 電卓、時刻、辞書、天気 JSON Schema + Python 関数
05 検索ツール (RAG) JSON Schema + Python 関数
06 複数ツールの統合エージェント JSON Schema + Python 関数

毎回、同じパターン で:

TOOLS = [{"name": "...", "input_schema": {...}}]
TOOL_FUNCS = {"...": lambda: ...}

これを チャンネル 1 つ(Claude API)に向けて 書いてきた。

2. M × N 問題

現在の状況

世の中には多数の LLM プロバイダーがあります:

もし全部の組み合わせで独自実装が必要だと:

$$ \text{実装数} = M \times N $$

M=10, N=100 なら 1000 個の実装。これを 各社バラバラに 書いている現状。

図で見ると

Without MCP:

  Claude ───┬──── Slack
            ├──── Gmail
            ├──── GitHub      ← Claude 用 SDK
            └──── ...

  GPT-4  ───┬──── Slack       ← GPT-4 用 SDK (重複実装)
            ├──── Gmail        ← 同上
            ├──── GitHub       ← 同上
            └──── ...

  Gemini ───┬──── Slack       ← Gemini 用 SDK...
            ...

結果: 同じ機能を何度も実装 する無駄と、ツール作者の負担増。

3. MCP の解決策

MCP = Model Context Protocol

2024 年 11 月に Anthropic が発表 した オープンな標準プロトコル:

「ツールの 定義呼び出し標準化 しよう。誰が ツールを作っても どの LLM からも使えるように」

図で見ると

With MCP:

  Claude ──┐
  GPT-4  ──┤
  Gemini ──┼──── [MCP] ───┬──── Slack       MCP サーバー
  Llama  ──┤              ├──── Gmail       (誰かが 1 回
  Mistral──┘              ├──── GitHub       作れば全 LLM で使える)
                          └──── ...

USB-C のアナロジー

MCP は 「AI 時代の USB-C」

4. MCP の構成要素

3 つの中心概念

概念 内容
Server ツールを提供する側 Slack MCP サーバー、GitHub MCP サーバー
Client ツールを使う側 Claude Desktop, VSCode 拡張, あなたのアプリ
Host クライアントを動かす環境 Claude Desktop, Cursor, LM Studio

サーバーが提供する 3 種類のもの

種類 意味 第 6 章との対応
Tools LLM が呼ぶ関数 tool_use 相当
Resources ファイル的な参照データ RAG のドキュメント相当
Prompts テンプレ化されたプロンプト system プロンプトの再利用

5. エコシステムの現状(2026 年時点)

公式 MCP サーバー(Anthropic 公認)

サードパーティ MCP サーバー

対応 LLM アプリ

6. 本章の流れ

内容
01 (今回) M×N 問題 と MCP の構造
02 MCP の プロトコル 詳細 (JSON-RPC 2.0)
03 最小 MCP サーバー を自作
04 Claude Desktop と繋いで実運用

まとめ

この回の限界(次への動機)

「標準プロトコル」の中身は具体的にどうなっている? どの JSON が、どの順序で、どの通信路で流れる? 👉 次回「MCP のプロトコル」で、JSON-RPC 2.0 の生のメッセージを読み解きます。

参考文献

📝 理解度クイズ (3 問) 💡 ログインすると進捗が保存されます

💬 このサブステップの Q&A

まだ質問はありません。最初の質問を投稿してみましょう。

質問の投稿にはログインが必要です。