MCPの仕組み——AIとツールをつなぐ標準プロトコルをわかりやすく解説


MCPの仕組み:Host / Client / Server Host (AIアプリ) AIモデル (Claude / GPT等) MCP Client (通信担当) ユーザー入力 MCP プロトコル MCP Server (外部ツール側) GitHub Server Slack Server DB Server 5800+ servers... リクエスト → ← レスポンス ①ユーザーが依頼 ②MCPで通信 ③ツールが処理&返答
MCPの3層構造:HostのAIがClient経由でServer(ツール)と標準プロトコルで通信する
ひよこ ひよこ

MCPって最近よく聞くんだけど、どんな仕組みで動いてるの?

ペンギン先生 ペンギン先生

MCPはHost・Client・Serverの3層構造で動いてるよ。HostはClaude DesktopやCursorみたいなAIアプリのこと。ClientはそのApp内でMCP通信を担当する部分。ServerはGitHubSlackなどの外部ツール側が提供するMCPエンドポイントだよ。

ひよこ ひよこ

AIアプリがツールに話しかけるときはどんな流れになるの?

ペンギン先生 ペンギン先生

まずHostがMCP Serverに接続して、使えるツール一覧(ツールリスト)を取得するよ。次にユーザーがAIに「GitHubのIssueを見て」と依頼すると、AIはツールリストを参照して適切なMCPツールを呼び出す。Server側が処理して結果を返し、AIがその結果を使って回答するんだ。

ひよこ ひよこ

MCPが登場する前はどうやってたの?

ペンギン先生 ペンギン先生

以前は各AIと各ツールを個別に連携させる必要があって、nツールとmのAIがあればn×m個のコネクタを書く必要があったんだ。MCPが登場してからは、ツール側がMCPサーバーを一つ作ればすべてのMCP対応AIとつながれる。これをn×m問題の解決と呼ぶよ。

ひよこ ひよこ

MCPと昔からある「Function Calling」って何が違うの?

ペンギン先生 ペンギン先生

違いを比べてみようか。

比較項目Function CallingMCP
接続方式API経由(HTTP標準プロトコル(ローカル/HTTP
互換性AIごとに個別実装どのAIでも同じ仕様
状態管理ステートレス(基本)セッション管理あり
認証各ツールで個別設定プロトコルレベルで統一
再利用性低い(AI依存)高い(標準準拠)
要するにFunction Callingは各AI専用の実装だけど、MCPはどのAIでも動く共通インターフェースだよ。

ひよこ ひよこ

MCPサーバーって自分でも作れるの?難しそう...

ペンギン先生 ペンギン先生

実は意外と簡単で、PythonTypeScriptJavaなどのSDKが公式で提供されてるよ。SDKを使えば、ツールの定義(何ができるか)を書いてMCPサーバーとして公開するだけ。既存のREST APIをラップしてMCPサーバーに変換する手法も広く使われてるよ。

ひよこ ひよこ

セキュリティは大丈夫なの?AIがいろんなツールにアクセスできるのは怖い気も...

ペンギン先生 ペンギン先生

MCPOAuth 2.0認証や権限スコープ(何にアクセスできるか)の仕組みを標準で持ってるよ。ユーザーがどのツールへのアクセスを許可するかを明示的に制御できるし、Serverはリクエストを検証してから実行するんだ。完全に信頼できるとは言えないけど、設計段階からセキュリティが考慮されてるよ。