🔌

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の統合