モデル・コンテキスト・プロトコル (MCP) とは
モデル・コンテキスト・プロトコル (MCP) は、AI アプリケーションと外部サービス間の双方向接続と標準化された通信を可能にするオープンソース・プロトコルです。オープンソース・プロトコルは、一連の指示であり、自由に使用したり貢献したりできるコードのレシピのようなものです。
MCP は、AI システムがさまざまなデータソースやツールに仮想的に「プラグイン」するためのシンプルで信頼性の高い方法を提供します。MCP は、デバイスをアクセサリーに接続してデータを転送できる USB-C ケーブルのようなものです。
MCP の目的
MCP が登場する以前、開発者は特定のユースケースのためにカスタムのアプリケーション・プログラミング・インタフェース (API) 統合を作成する必要がありました。つまり、同じ統合をわずかに異なる方法で何度も書き換えていたわけです。AI アプリケーションと外部サービス間の接続はそれぞれ個別に構築されていたため、非常に時間がかかっていました。
MCP により、開発者は標準化された単一のプロトコルを使用して AI アプリケーションを外部サービスに接続できます。MCP は API を置き換えるものではなく、API 上で通信を標準化するものです。これにより、大規模言語モデル (LLM) を使用して複雑な AI ワークフローを構築し、これらのモデルを実世界のデータと接続することが容易になります。
MCP は検索拡張生成 (RAG) などの従来の手法を補完し、組織が既存のシステムやワークフロー内にエージェント型 AI をデプロイするために必要なセキュリティ制御とインタフェースを提供します。
AI テクノロジーの導入に関する 4 つのキーポイント
MCP 通信の仕組み
MCP は、クライアントホストサーバー・モデル (クライアントサーバー・モデルとも呼ばれる) に基づいており、このモデルには以下が含まれます。
- MCP クライアント:外部データやリソースへのアクセスを要求する AI アプリケーションまたはシステム
- MCP ホスト:クライアントとサーバー間の通信を管理するインフラストラクチャ (仮想マシン、コンテナ、またはサーバーレス機能)
- MCP サーバー:特定のツール、リソース、機能をクライアントに提供するコンポーネント
MCP はハンドシェイクプロトコルで始まります。この最初の「挨拶」は機能検出とも呼ばれ、MCP クライアントと MCP サーバーが相互に通信できることを確認します。
ハンドシェイクプロトコル中に MCP クライアントと MCP サーバーは重要な情報を交換して、互換性を確認します。クライアントは、利用可能な機能と理解できる MCP のバージョンを共有します。これに対してサーバーは、サポートする機能、およびクライアントに提供できるツールやリソースを共有します。
この最初の挨拶が完了すると、作業関係を始められるようになります。
コンテキストについて
MCP の「M」は言語モデルを指し、「P」は標準化された通信プロトコルを指します。では次に、「C」が表すコンテキストについて見ていきましょう。
MCP の領域においてコンテキストは、モデルがアクセスできる、関連するタスク固有の情報を指します。コンテキストウィンドウとは、モデルが応答を生成する際にアクセスできる情報の量を指します。
MCP が登場する前、AI アプリケーションはコンテキストウィンドウに多くの情報を保持する必要がありました。中には無関係な情報もあり、コンテキストウィンドウのスペースが無駄に埋め尽くされ、ハルシネーションが生じました。MCP を使用すると、アプリケーションはより効率的にツールやサービスと通信できるようになり、関連性のない情報を保持するのではなく、必要な情報を正確に要求できるようになります。
関連性のある適切なコンテキストがあれば、モデルは会話の以前の部分の記憶から、より正確な結果を返し、複数の情報間の関連付けをより適切に行うことができます。MCP により、クライアントは関連データをメモリーに保存でき、リクエストの完了に役立てることができます。このプロセスは動的検出と呼ばれます。
動的検出は機能検出ステージの後に行われ、クライアントとサーバーが連携してユーザーの問題を解決できるようにします。このような関連データの共有と分析により、モデルにコンテキストがもたらされ、AI アプリケーションが柔軟かつ独立して動作できるようになります。
MCP サーバーの種類
MCP サーバーは、MCP クライアントにコンテキストを提供する上で重要な役割を果たします。MCP サーバーのさまざまな種類を理解することで、どのような統合が可能か、また、AI ワークフローをどのように構成すべきかを理解できます。
ローカルデータソース:これらのサーバーは、ファイル、ローカルデータベース、アプリケーションなど、コンピュータに保存されている情報に接続します。
リモートサービス:これらのサーバーは、インターネットを介して、クラウドデータベースや Web ベースのツールなどの外部サービスに接続します。
公式統合:これらのサーバーは、保証された品質とサポートを備えたよく使用されるサービスへの接続を提供するために事前構築されています。
コミュニティサーバー:開発者はこれらのサーバーを構築し、開発者コミュニティ内でオープンに共有します。
リファレンスサーバー:これらのサーバーは。ベストプラクティスを示すことでテンプレートや学習ツールとして機能します。
MCP とセキュリティ
MCP サーバーにより、データや情報の活用がかつてないほど便利になります。しかし、どのようにして MCP サーバー上のデータの保護を維持できるのか、という疑問も生じます。
権限とセキュリティポリシーは、MCP サーバーがアクセスできる対象と実行が許可される操作を規制します。MCP は OAuth (ユーザーアクセスを認証する) などの組み込みセキュリティ機能に加え、クライアントとサーバー間の暗号化された接続を提供します。
ただし、開発者は独自のセキュリティ対策も実装する必要があります。ベストプラクティスには以下のようなものがあります。
- 機能するために必要な最小限のアクセスのみを MCP サーバーに提供します。これは最小権限の原則 (PoLP) とも呼ばれています。このサイバーセキュリティの概念は、不正なユーザー、エラー、または攻撃による潜在的な損害を軽減することを目的としています。
- 各サーバーがアクセスできる対象を定期的に見直し、どのサーバーにも不要な権限や過剰な権限がないことを確認します。
- MCP 接続を許可するときに、何にアクセス権を付与するのかを (ユーザーとして) 把握します。
- 信頼できる MCP サーバーのみを使用します。
MCP とエージェント型 AI
エージェント型 AI は、人間の介入を最小限に抑えながらデータやツールと対話するソフトウェアシステムです。エージェント型 AI では目標指向の動作に重点が置かれており、手順のリストを作成してそれを自律的に実行することでタスクを達成します。
MCP とエージェント型 AI は相互に補完し合い、インテリジェントな AI システムの構築を可能にします。MCP により、AI システムはより広範なデジタルエコシステムと連携して、ユーザーのタスクを実行することができます。MCP がなくてもエージェント型 AI は思考して計画を立てることはできますが (生成 AI の特性として)、外部システムと対話することはできません。
Red Hat でできること
Red Hat® は、当社の AI 製品スイートに含まれている Red Hat OpenShift® AI と統合できる MCP サーバーの厳選コレクションを特定しました。
Red Hat OpenShift AI を使用する AI エンジニアは、これらの MCP サーバーを利用して、エンタープライズツールおよびリソースを AI アプリケーションやエージェント型ワークフローに統合できます。
Red Hat AI により、AI エンジニアやデータサイエンティストはモデルの応答の精度、速度、関連性を向上させることができます。Red Hat AI は、モデルをデータに接続して効率的なモデルのカスタマイズを行うことで、組織が AI アプリケーションを大規模に開発およびデプロイできるように支援します。
Red Hat AI のコア・プラットフォーム・サービスにより、組織は一貫性のある反復可能なプロセスを構築し、AI エージェントのプロダクション環境へのデプロイを単純化できます。
エンタープライズ AI を始める:初心者向けガイド
この初心者向けガイドでは、Red Hat OpenShift AI と Red Hat Enterprise Linux AI によって AI 導入をどのように加速できるのかについて説明します。