AWS Certified Generative AI Developer - Professional 資格対策コース
MCP サーバー・OpenAPI によるツール拡張
このレッスンで学ぶこと 対応試験ドメイン D2 タスク 2.1.6・2.1.7(ツール統合とツール拡張)。エージェントに外部機能を持たせる 2 方式(OpenAPI による API ツール宣言、Model Context Protocol = MCP によるツールサーバー)の違いと、ツールサーバーを AWS Lambda / Amazon ECS のどちらでホストするか、Amazon Bedrock AgentCore Gateway による既存 API のツール化を判断できるようになります。
解説
エージェントは FM 単体では外部システムを操作できません。在庫照会・予約・社内 API 呼び出しなどの「ツール」を与えて初めて行動できます。ツールを拡張する代表的な方式が、OpenAPI による宣言と Model Context Protocol(MCP)です。試験では「どの方式で、どこにホストするか」が問われます。
方式 1: OpenAPI スキーマによるツール宣言
Amazon Bedrock Agents のアクショングループでは、ツールの操作・パラメータ・戻り値を OpenAPI スキーマで宣言し、実体を AWS Lambda で実装します。FM はスキーマを読み、どのオペレーションをどの引数で呼ぶか判断します。AWS マネージドの世界で完結し、既存の REST API 仕様をそのまま流用しやすいのが利点です。
方式 2: Model Context Protocol(MCP)
MCP は、LLM アプリケーションが外部ツールやデータソースに接続するためのオープンな標準プロトコルです。MCP サーバーがツール群を公開し、エージェント(MCP クライアント)がそれを呼び出します。AWS 固有のものではなくエコシステム標準で、Amazon Bedrock AgentCore Gateway は既存 API や Lambda 関数を MCP 互換のツールとして公開できます。
ここが試験の境界ポイントです。MCP はオープン標準のプロトコルであり、AWS マネージドサービスそのものではありません。AWS 側で「MCP に対応する」のは AgentCore Gateway などの機能です。試験では「AWS のどの機能で MCP ツールを公開・接続するか」を押さえます。
| 観点 | OpenAPI ツール(アクショングループ) | MCP ツールサーバー |
|---|---|---|
| 標準 | OpenAPI 仕様(API 記述標準) | Model Context Protocol(ツール接続標準) |
| AWS との関係 | Bedrock Agents が直接サポート | AgentCore Gateway 等が MCP 公開を担う |
| 実体のホスト先 | AWS Lambda | AWS Lambda / Amazon ECS |
| 向いている場面 | 既存 REST API をマネージドにツール化 | 複数クライアントから再利用するツール群を標準化 |
ホスティング選択(Lambda か ECS か)
ツールサーバーやツール実体をどこで動かすかは、実行特性で判断します。判断軸は下記のとおりです。
| ホスト | 向いているケース | 注意点 |
|---|---|---|
| AWS Lambda | 短時間・イベント駆動・スパイクのある呼び出し | 実行時間とパッケージサイズの上限、コールドスタート |
| Amazon ECS(Fargate) | 常駐・長時間接続・重い依存・常時起動の MCP サーバー | スケーリングは自前設計、常時起動コスト |
短時間で完結する単発ツールは Lambda、常駐して接続を保持する MCP サーバーや重いランタイム依存があるツールは ECS(Fargate)が適します。
コード例(OpenAPI でツールを宣言する抜粋)
アクショングループに渡す OpenAPI スキーマの一部です。実体は Lambda が処理します。
YAML
openapi: 3.0.0
info:
title: InventoryTools
version: 1.0.0
paths:
/stock/{sku}:
get:
summary: 指定 SKU の在庫数を返す
parameters:
- name: sku
in: path
required: true
schema:
type: string
responses:
"200":
description: 在庫数試験で問われるポイント
- OpenAPI と MCP の境界。OpenAPI は Bedrock Agents が直接サポートする API 記述方式。MCP はオープン標準のツール接続プロトコルで、AWS では AgentCore Gateway が MCP 公開を担う。MCP 自体は AWS マネージドサービスではない点が問われる
- Lambda か ECS かのホスティング選択。短時間・イベント駆動は Lambda、常駐・長時間接続・重い依存は ECS(Fargate)。「常時起動の MCP サーバー」は ECS 寄りになりやすい
- 既存の REST API をエージェントのツールにしたいなら、OpenAPI スキーマでアクショングループに登録、または AgentCore Gateway でツール化する
- ツールの実体ロジックは Lambda(または ECS のコンテナ)、宣言は OpenAPI/MCP、という「宣言と実体の分離」を押さえる
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| 既存 REST API をマネージドにツール化 | OpenAPI スキーマ + アクショングループ | MCP(オープン標準で AWS マネージドではない) |
| 既存 API/Lambda を MCP ツールとして公開 | Amazon Bedrock AgentCore Gateway | MCP プロトコル自体(仕様であってサービスではない) |
| 短時間・イベント駆動のツール実体 | AWS Lambda | Amazon ECS(常駐・重い依存向け) |
| 常駐・長時間接続のツールサーバー | Amazon ECS(Fargate) | AWS Lambda(実行時間上限・コールドスタート) |
まとめ
エージェントのツール拡張は、OpenAPI による宣言(Bedrock Agents が直接サポート)と、オープン標準の MCP(AWS では AgentCore Gateway が公開を担う)の 2 方式があります。MCP はプロトコル標準であって AWS マネージドサービスそのものではない点が試験の境界です。ツール実体は短時間なら AWS Lambda、常駐や重い依存なら Amazon ECS(Fargate)でホストする判断を押さえます。
次のステップ
次のクイズレッスンで、OpenAPI と MCP の境界、Lambda/ECS のホスティング選択を問うシナリオ問題に挑戦しましょう。
関連レッスン
- Bedrock Agents・AgentCore とエージェンティック AI 基礎(pro-agents-bedrock)
- FM デプロイ戦略と LLM 特有のデプロイ課題(pro-deploy-strategies)
- エンタープライズ統合(イベント駆動・疎結合)(pro-enterprise-integration)