Model Context Protocol
| 開発者(チーム) | Anthropic |
|---|---|
| 初期リリース日 | 2024年11月25日 |
| 最新バージョン | 継続的に更新中 |
| 種類 | 通信プロトコル、オープンスタンダード |
| ライセンス | オープンソース |
| ホームページ | 公式サイト |
Model Context Protocol(MCP)は、Anthropicが2024年11月25日に発表したオープンスタンダードなフレームワークである。AIモデル(特に大規模言語モデル、LLM)が外部のデータソースやツールと情報を交換する方法を標準化することを目的としている。
しばしば「AIアプリのUSB-Cポート」と例えられ、あらゆるAIアシスタントがデータソースやサービスに接続するための普遍的なインターフェースとして機能することを目指している。
開発背景
MCPの登場以前、AIモデルと外部システム(API、データベース、社内ツールなど)を連携させるには、連携させたいAIモデル(M個)とツール(N個)の組み合わせの数だけ、個別のカスタムコネクタを開発する必要があった。これは「M×N問題」として知られ、開発の重複や実装の不整合を生み、スケーラブルなシステム構築を困難にしていた。
MCPは、この連携方法を標準化することでM×N問題を「M+N問題」に転換する。つまり、ツール開発者は自身のツールに対応するMCPサーバー(N個)を一度構築し、AIアプリケーション開発者は自身のアプリにMCPクライアント(M個)を一度実装すれば、MCPに対応したあらゆるコンポーネントと相互に接続可能になる。これにより、開発者は特定のモデルやベンダーへの依存から解放され、よりモジュール性の高いシステムを構築できる。
主な特徴
- 標準化されたインターフェース: モデルとツール間の通信を標準化し、カスタム実装の手間を削減する。
- 相互運用性と柔軟性: 異なるAIモデルやベンダー間の切り替えが容易になり、特定のプラットフォームへのベンダーロックインを回避できる。
- セキュリティ: MCPは認証・認可の強制や、各コンポーネントをサンドボックス化して最小権限の原則を適用するなど、安全な連携を促進する仕組みを備えている。ただし、プロンプトインジェクションや悪意のあるサーバー接続などのリスクも存在するため、プロトコルの安全な実装が重要となる。
- 拡張性: 標準入出力(stdio)やWebSocketなど、多様な通信トランスポートをサポートしており、ローカル実行からリモートの拡張可能な構成まで幅広く対応可能である。
アーキテクチャ
MCPはクライアント・サーバーアーキテクチャに基づいている。
- ホスト (Host): ユーザーが直接操作するAIアプリケーション(例: Claude Desktop、Cursorなど)。
- クライアント (Client): ホ스트アプリケーション内に存在し、特定のMCPサーバーとの1:1の接続を管理する。
- サーバー (Server): 外部システム(API、データベース、ローカルファイルなど)の機能をMCP仕様に合わせて公開するプログラムである。サーバーはAIモデルが利用できる以下の3つの主要機能(プリミティブ)を公開する。
- リソース (Resources): アプリケーション側が制御するデータソース。主にコンテキストとしてAIに提供される静的情報(例: ファイルの内容、データベースのレコード)。
- ツール (Tools): モデル側が制御する機能。AIが特定のタスクを実行するために呼び出す関数(例: APIへの書き込み、メール送信)。
- プロンプト (Prompts): ユーザー側が制御する操作. ツールやリソースを最適な形で活用するための定義済みテンプレート。
SDKおよび支援ツール
開発者がMCPサーバーおよびクライアントを容易に実装できるよう、多様な言語のSDKと支援ツールが提供されている。
- 公式SDK: TypeScript、Python、Java、Kotlinをサポート。
- 対応ホストアプリケーション:
エコシステムおよび採用状況
MCPはAnthropicによる発表後、OpenAIやGoogle DeepMindといった主要なAI開発企業も採用を表明し、業界標準としての地位を急速に確立している。
また、コミュニティ主導のエコシステムが活発に構築されている。
- Smithery: MCPサーバーを簡単に見つけてインストールできるハブサイト。
- MCP Directory: 世界中の開発者が公開した様々なMCPサーバーのリストを提供するカタログ.
- 公式サーバー: Google Drive、Slack、GitHub、Postgres、Google Mapsなど、主要サービス向けのサーバーが公開されている。