🔌
MCPはどう動くのか?
AIモデルと外部ツールを標準方式で接続するオープンプロトコル
MCP(Model Context Protocol)はAnthropicが公開したオープンプロトコルで、AIモデルと外部ツール・データソース間の接続を標準化します。従来はAIとDB、ファイル、APIなどを連携するにはそれぞれ別途実装が必要でしたが(N×M問題)、MCPはこれを1つの標準に統合します。アーキテクチャはHost(LLMサービス)→ Client(接続管理)→ Server(外部システム接続)構造で、ServerはPrompts(ガイドライン)、Resources(参照データ)、Tools(実行関数)を提供し、ClientはRoots(ファイルシステムアクセス)とSampling(AIへの支援要請)を提供します。TypeScript、Pythonなど様々なSDKがあり、Smitheryのようなハブに4,000以上のMCPサーバーが登録されています。
構造ダイアグラム
🤖
Host
Claude / ChatGPT など
LLMがTool呼び出しを決定
① Tool呼び出しリクエスト
↔
Roots / Sampling
🔌
MCP Client
接続管理の内部コンポーネント
Roots(ファイルアクセス)
Sampling(AIリクエスト)
② JSON-RPC
↔
stdio / SSE / HTTP
⚡
MCP Server
外部システム接続
Tools(関数実行)
Resources(データ)
Prompts(ガイド)
🗄️
PostgreSQL
📁
File System
🐙
GitHub
💬
Slack
☁️
SaaS APIs
N×M問題の解決:
AI 10個 × ツール10個 = 100種類の統合
→
MCP標準1つで互換
核心ポイント
- Host: Claudeのような LLMサービス(ユーザーインターフェース)
- Client: Host内部でMCP Serverとの接続を管理
- Server: 外部システム(DB、ファイル、API)をAIに公開する独立プロセス
- 通信は JSON-RPC ベース、transportはstdio/SSE/HTTPから選択可能
- Smitheryなどのハブに 4,000+ MCP サーバー登録済み
動作フロー
1
Host(Claudeなど LLMサービス)がMCP Clientを初期化
2
ClientがMCP Serverに接続要求(stdio、SSE、HTTPなどのtransport)
3
Serverが提供するTools、Resources、PromptsのリストをClientに伝達
4
AIモデルがユーザーリクエストを分析し必要なTool呼び出しを決定
5
ClientがServerのToolを実行(DBクエリ、ファイル読み取り、API呼び出しなど)
6
Serverが実行結果をClientに返却 → AIモデルが結果を活用して応答生成
メリット
- ✓ N×M統合問題の解決(標準プロトコル)
- ✓ ツール開発者とLLM開発者が独立して開発可能
- ✓ オープンソースで誰でも活用可能
- ✓ 多様な言語SDK提供(TypeScript、Pythonなど)
- ✓ Tools・Resources・Promptsによる体系的な構造
デメリット
- ✗ まだ初期段階(エコシステム成長中)
- ✗ Server実装およびセキュリティ管理が必要
- ✗ ネットワーク依存(Serverダウン時にツール使用不可)
- ✗ AIモデルごとのMCPサポートレベルが異なる
ユースケース
Claude Desktop + PostgreSQL分析
AIコーディングアシスタント(ファイルシステムアクセス)
Slack・GitHub・Google Drive連携
AIベースのデータパイプライン
社内システムとLLMの統合