MCP(Model Context Protocol)とは?
MCPの概要
Model Context Protocol(MCP)は、Anthropicが2024年11月に発表したオープンプロトコルです。AI Agentが外部ツール・データソースと接続するための標準化されたインターフェースを提供します。
なぜMCPが必要なのか
従来、AI Agentが外部ツールを利用するには、各ツールごとに個別の連携コードを書く必要がありました。
従来の課題
- ツールごとに異なるAPI仕様への対応が必要
- プロバイダーが変わると連携コードの書き直し
- セキュリティポリシーの不統一
MCPが解決すること
- 統一インターフェース: どのツールも同じプロトコルで接続
- プロバイダー非依存: MCPサーバーを差し替えるだけでツール変更可能
- セキュリティ標準化: 認証・認可の統一的な処理
MCPのアーキテクチャ
AIアプリケーション(MCPクライアント)
↕ MCP Protocol
MCPサーバー(ツールプロバイダー)
↕
外部サービス(DB, API, ファイルシステム等)
MCPの3つの機能
- Tools: AIが呼び出せる関数(Web検索、DB操作等)
- Resources: AIが読み取れるデータソース(ファイル、DB等)
- Prompts: 再利用可能なプロンプトテンプレート
Function Callingとの違い
| 項目 | Function Calling | MCP |
|---|---|---|
| 標準化 | プロバイダー依存 | オープン標準 |
| ツール定義 | JSONスキーマ | MCPサーバー実装 |
| 実行場所 | クライアント側 | MCPサーバー側 |
| エコシステム | 独自 | 共通 |
MCPの実装例
# MCPサーバーの例(FastMCP)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Weather Service")
@mcp.tool()
async def get_weather(city: str) -> str:
"""指定された都市の天気を取得"""
# 天気API呼び出し
return f"{city}の天気: 晴れ、気温22℃"
mcp.run()
エコシステムの現状
2026年現在、MCPをサポートするツールが急速に増加しています:
- IDE連携: Cursor、VS Code、Windsurf
- データベース: PostgreSQL、MongoDB、Supabase
- クラウド: AWS、GCP、Azure
- SaaS: Slack、GitHub、Notion
まとめ
MCPはAI Agentのツール連携における「USBのような標準規格」です。今後、MCPサーバーのエコシステムが拡大することで、AI Agentの能力が飛躍的に向上することが期待されます。