AIF / ドメイン2 生成AIの基礎
重要な内容
Model Context Protocol (MCP)
(MCP) は、AIアプリケーションやエージェントを外部のツールやデータへつなぐための公開された標準です。 AIF-C01では、エージェントを外部システムに接続するときのMCPの役割が問われます。
概要
エージェントにツールを使わせるには、ツールごとに呼び出し方を作り込む必要がありました。 は、その接続の仕方をそろえる共通の取り決めです。 MCPに対応したツールを1度用意すれば、MCPに対応したさまざまなAIアプリケーションから同じ方法で使えます。
| 用語 | 役割 |
|---|---|
| MCPホスト | 利用者が使うAIアプリケーションです。複数のMCPクライアントをまとめます。 |
| MCPクライアント | 1つのMCPサーバーとの接続を受け持つ部品です。 |
| MCPサーバー | ツールやデータを提供するプログラムです。手元でも遠隔でも動かせます。 |
試験では、「エージェントを外部のツールやデータへ標準の方法でつなぐ」という要件でMCPを選びます。
Point
- MCP = Model Context Protocol の略です。
- context は「文脈」、protocol は「通信の取り決め」です。モデルに文脈 (外部の情報や操作の手段) を届けるための取り決め、という意味です。
- 和訳
- protocol: 手順、取り決め
- Weblio英和辞書「protocol」
主要技術
①MCPサーバーが提供するもの ⚠️ 頻出
| 種類 | 内容 | 例 |
|---|---|---|
| ツール (Tools) | AIが呼び出して実行する機能です。 | 検索の実行、チケットの起票、データベースへの問い合わせ |
| リソース (Resources) | AIが文脈として読む情報です。 | ファイルの内容、データベースの表の定義 |
| (Prompts) | 再利用できるプロンプトの型です。 | 定型の指示、例を含むテンプレート |
クライアントは、まずサーバーに「使えるツールの一覧」を問い合わせ、その説明をへ渡します。 モデルが使うツールを決めると、クライアントがサーバーへ実行を依頼し、結果をモデルへ返します。
⚠️ 頻出: は「モデルの学習方法」ではなく「外部のツールやデータへの接続方法」の標準です。
②MCPを使う利点
| 利点 | 内容 |
|---|---|
| 作り込みの削減 | ツールごとに個別の連携を作らずに済みます。 |
| 再利用 | 同じサーバーを複数のエージェントやアプリケーションで使えます。 |
| 部品の入れ替え | モデルやエージェントの仕組みを変えても、ツール側を作り直さずに済みます。 |
| 動的な発見 | 接続時にツールの一覧を取得するため、ツールの追加を反映しやすくなります。 |
③接続の方式
| 方式 | 使う場面 |
|---|---|
| 標準入出力 (stdio) | 同じ端末の中でサーバーを起動して使います。開発ツールの拡張によく使われます。 |
| (Streamable HTTP) | ネットワーク越しの遠隔のMCPサーバーへ接続します。多くの利用者で共有できます。 |
遠隔のMCPサーバーでは、誰がどのツールを使えるかという認証と認可が重要になります。
④AWSでのMCPの使われ方
| サービス | との関係 |
|---|---|
| 既存のや関数をMCPに対応したツールへ変換し、エージェントへ公開します。既存のMCPサーバーもつなげます。 | |
| MCPサーバーそのものを稼働させる場所として使えます。 | |
| MCPサーバーのツールをエージェントのツールとして読み込めます。 | |
| 開発環境から外部のツールやAPIへMCPで接続できます。 | |
| 標準の接続先がないシステムへ、MCPで接続できます。 |
⚠️ 頻出: 「既存の社内APIやLambda関数を、作り直さずにエージェントのツールとして使わせたい」ならAgentCore Gatewayです。
⑤MCPとA2Aの違い
| 標準 | つなぐもの | 例 |
|---|---|---|
| エージェントとツール・データ | エージェントが在庫データベースを検索する | |
| (Agent-to-Agent) | エージェントとエージェント | 受付のエージェントが、別の仕組みで作られた経理のエージェントへ依頼する |
⑥セキュリティ上の注意
| 注意点 | 対策 |
|---|---|
| 過大な権限 | サーバーが使う認証情報の権限を最小限に絞ります。 |
| 信頼できないサーバー | 出所の確かなMCPサーバーだけを接続します。 |
| ツールの結果に紛れた指示 | 取得した文書やWebページに埋め込まれた指示 (間接的な) に注意します。 |
| 監査 | どのツールが誰の依頼で呼ばれたかを記録します。 |
試験対策
①判断マトリクス
| 問題文のキーワード | 選ぶもの |
|---|---|
| エージェントを外部のツールやデータへ標準の方法でつなぎたい | |
| ツールごとの個別連携を作らず、複数のエージェントで再利用したい | MCPサーバー |
| 既存のや関数をMCPのツールにしたい | |
| エージェント同士を連携させたい | プロトコル |
| ツールの結果に含まれる悪意ある指示を防ぎたい | 間接的な対策 (権限の最小化、、人間の承認) |
②よくある誤答
- をモデルのカスタマイズ手法と考えること。接続の標準であり、モデルの重みは変わりません。
- MCPをAWS専用の仕組みと考えること。公開された標準で、AWS以外の製品でも使われています。
- MCPにすれば権限の管理が不要になると考えること。ツールの権限と認証は別に設計します。