AWS における自然言語クエリの実行:Amazon Q と Model Context Protocol (MCP) の統合活用

2025/10/07

池 文光 | Mankwong Chi

概要

Anthropic が 2024 年に発表した Model Context Protocol (MCP) は、AI エージェントが外部システムと構造的かつコンテキストを保持した方法で対話するための基盤的な標準として急速に普及しました。
MCP は一貫した JSON-RPC ベースのプロトコル を定義しており、エージェントが宣言された機能とマニフェストを通じてさまざまなバックエンドと連携できるようにし、スケーラブルで相互運用可能な AI ワークフローを実現します。

本ソリューションでは、AWS ネイティブ環境 において MCP アプローチを適用する方法を紹介します。
Amazon Q と AWS Lambda を統合することで、Amazon CloudWatchAmazon NeptuneAmazon DynamoDB などのクラウドサービスに対して自然言語クエリを実行可能にします。MCP フレームワークを活用し、バックエンドとのインタラクションを一貫性と拡張性のある形で管理することができます。

アーキテクチャ概要

このアーキテクチャは、ユーザーによって発行された自然言語クエリを処理するために相互に連携する、6 つの主要なステップとコンポーネントで構成されています。

ステップごとの詳細説明

1. MCP ホストの設定とマニフェストの生成

Lambda 関数は MCP ホストを設定し、MCP マニフェストを生成します。このマニフェストは、CloudWatch、Neptune、DynamoDB などの機能やサポートされるメソッド(例:cloudwatch.xxxxxx、neptune.xxxxxx、dynamodb.xxxxxx)を定義します。

2. MCP サーバー登録

各 AWS サービスごとに専用の MCP サーバー が構成されます。

  • CloudWatch MCP サーバー:ログおよびメトリクス分析用
  • Neptune MCP サーバー:グラフデータベースクエリ用
  • DynamoDB MCP サーバー:NoSQL キー・バリュー型データ操作用

各サーバーはそれぞれの AWS バックエンドに接続され、JSON-RPC ハンドラーを通じてサービス固有のメソッドを公開します。このソリューションは 3 つの主要サービスに焦点を当てていますが、同様のアプローチを他の多くの AWS サービスにも拡張できます。AWS でも積極的に新しい MCP サーバーの開発と発表を進めています。

3. Amazon Q による MCP ホスト登録

Amazon Q(MCP エージェント) は MCP ホストを登録し、MCP マニフェスト を取得します。これにより、利用可能なメソッドやデータドメインを理解できるようになります。

4. ユーザー入力

ユーザーは 自然言語クエリ を Amazon Q 経由で送信します。
例:

「過去 7 日間の自分の API の平均応答時間はどのくらいですか?」

5. JSON-RPC 生成と API Gateway

Amazon Q はユーザーのプロンプトを解釈し、MCP マニフェストおよび内部知識に基づいて JSON-RPC リクエストを生成します。生成されたリクエストは API Gateway を介して公開されている MCP 統合エンドポイントに送信されます。

6. ルーティングと実行

MCP ホストは JSON-RPC リクエストを受信し、メソッドのプレフィックス(例:cloudwatch.、neptune.、dynamodb.)に基づいて適切な MCP サーバーへルーティングします。各サーバーはリクエストを処理し、対応する AWS バックエンドサービスへクエリを実行して、構造化されたレスポンスを返します。

メリット

  • サービス抽象化:ビジネスロジックを基盤となる AWS API から分離します。
  • 拡張性:新しい MCP サーバーを容易に追加でき、追加の AWS サービスやサードパーティ API をサポート可能です。
  • 集中化されたエンドポイント:統合された API Gateway エンドポイントを通じて統合を簡素化します。

まとめ

Amazon QMCP ホストLambda、およびサービス専用の MCP サーバー を組み合わせることで、このアーキテクチャは複数の AWS データソースに対して会話型で統合されたインターフェースを実現します。
これにより、自然言語と技術的なデータクエリの間のギャップを埋め、AWS データをよりアクセスしやすく、活用しやすいものにします。