Model Context Protocol (MCP) とは何ですか?
Model Context Protocol (MCP) は、AIモデルやエージェントを、単一の統一されたインターフェースを介して外部のツール、データソース、システムに接続するためのオープン標準です。2024年後半にAnthropicによって導入され、アプリケーションがコンテキストや機能をモデルに公開する方法を標準化します。ユニバーサルアダプターのように機能し、準拠している任意のクライアントが、準拠している任意のサーバーと通信できるようにします。
定義
MCPは、AIアプリケーションが共通のクライアント・サーバーインターフェースを介して、ツール、リソース、コンテキストをモデルに提供する方法を標準化するオープンプロトコルです。
主な要点
- MCPは、ユニバーサルアダプターのように、モデルからツールやデータへの接続を標準化します。
- クライアント・サーバーモデルを使用します。ホストがクライアントを実行し、統合機能がサーバーとなります。
- サーバーは、ツール、リソース、プロンプトを統一された形式で公開します。
- N×M個のカスタム統合を、再利用可能で共有可能なコネクタに削減します。
- オープンかつベンダーニュートラルであり、マルチベンダーによる採用が広がっています。
コンテキスト
MCPが登場する前は、エージェントとシステムの統合はすべて個別対応(ビスポーク)であり、各ツールが各アプリケーションに手動で接続されていました。MCPはこれを共通プロトコルに置き換えるため、一度作成したコネクタを、MCPに対応した任意のクライアントで再利用できます。
これは企業にとって重要です。なぜなら、エージェントを本番環境に導入する際の真のボトルネックは、モデルの品質ではなく、統合であることが多いためです。共通プロトコルにより、コネクタは使い捨ての接着コードではなく、再利用可能なエコシステムへと変化します。
アーキテクチャ
MCPは、ホストアプリケーション、その内部のMCPクライアント、および1つ以上のMCPサーバーという3つの役割を定義します。クライアントはトランスポートを介してサーバーに接続し、サーバーはモデルが使用できる機能を公開します。
サーバーは、ツール(モデルが呼び出せるアクション)、リソース(モデルが読み取れるデータ)、プロンプト(再利用可能なテンプレート)という3つのプリミティブを提供します。モデルはホストを介して、これらを標準的な方法で検出して使用します。
コンポーネント
メリット
- 個別対応のN×M個の統合を排除します。
- コネクタはクライアント間で再利用および共有可能です。
- オープンかつベンダーニュートラルです。
- エージェントロジックと統合機能のより明確な分離を実現します。
リスク
- サーバーへのアクセスにより攻撃対象領域が拡大するため、権限管理が重要になります。
- 信頼できないサーバーが、プロンプトインジェクションやデータの持ち出しを試みる可能性があります。
- まだ発展途上の新しい標準規格です。
- サーバーの実行とセキュリティ確保に伴う運用オーバーヘッド。
ツールとテクノロジー
例
- 企業のナレッジベースを読み取り可能なリソースとしてエージェントに公開するMCPサーバー。
- エージェントに対してスコープ制限および権限管理されたアクセスを提供する、ファイルシステムまたはデータベースのMCPサーバー。
- 複数の社内エージェント間で再利用される、SaaS API用の共有コネクター。
FAQ
- MCPは誰が作成したのですか?
- Anthropicが2024年後半にオープン標準としてMCPを導入し、それ以来、複数のベンダーやツールで採用が進んでいます。
- MCPはファンクションコーリング(Function Calling)と同じですか?
- いいえ。ファンクションコーリングはモデルがツールを呼び出せるようにするものです。一方、MCPは、それらのツール、データ、プロンプトをアプリケーション間で公開および検出する方法を標準化します。
- なぜエンタープライズにとってMCPが重要なのですか?
- 通常、統合(インテグレーション)がエージェントのボトルネックになります。MCPは、使い捨てのコネクターを、再利用可能でガバナンスの効いたエコシステムへと変換します。
- セキュリティ上の考慮事項は何ですか?
- 各サーバーはアクセスポイントとなります。最小権限の原則を適用し、サーバーを審査し、その出力をプロンプトインジェクションのリスクがある信頼できない入力として扱ってください。