Skip to main content

Bedrock AgentCore × AWS Knowledge MCP Serverで最新情報を取得できるようにしてみました!

こんにちは佐野(マナティ)です! 

ついに先日AgentCoreとAWS Knowledge MCP ServerがGA(一般提供)されましたね 

https://aws.amazon.com/jp/blogs/machine-learning/amazon-bedrock-agentcore-is-now-generally-available/ 
https://awslabs.github.io/mcp/servers/aws-knowledge-mcp-server/ 

今回はGAで追加された新機能「AgentCore Gateway経由で外部のMCPとAgentCore Runtime上で作成したAIエージェントを接続できる機能を実際に触って検証した結果と合わせてご紹介します。手を動かすうえでハマりどころや回避策も併せて共有しますよ! 

まずは「そもそもAgentCoreがなぜ提供されるに至ったのか?」というところから確認していきましょう! 
 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 
【目次】 

・AgentCoreというサービスができるまでのお話 

・AWS Bedrock AgentCoreって何だろう? 

・AgentCoreでできること / 使用できるリージョンなどの詳細 

・AWS Knowledge MCP Serverって? 

・構成図 / ディレクトリ構成 

・機能レビュー 

・工夫した点 / ハマったポイント 

・まとめ 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 

1.AgentCoreというサービスができるまでのお話 

AIエージェントは、基盤モデル(FM)を使用して推論、計画、実行、学習、適応を行い、ユーザーが定義した目標の達成を目指す、自律実行型のソフトウェアアプリケーションです。最近ではCrewAI、LangGraph、Strands Agentsなどのオープンソースフレームワークの登場により、複雑なタスクを確実に実行できるAIエージェントの構築はますます容易になっています 

しかし、概念実証(PoC)から、数千のユーザーに合わせてスケールできる本番対応のエージェントへと移行する際には、大きな課題が存在しました。それが「AIエージェントを企業で安全かつ大規模に運用するための土台作り(基盤インフラストラクチャの構築)が非常に困難で時間がかかる」というものです 

例: 

・セッション管理(タイムアウト、会話の文脈維持など) 

・IDコントロール(認証・認可) 

・メモリシステム(短期/長期での記憶参照する仕組み) 

・オブザーバビリティAIエージェントが内部でどのような処理をしているかを追う仕組み) 

 

2.AWS Bedrock AgentCoreって何だろう?  

Amazon Bedrock AgentCoreは上記の課題を解決するために設計されたAIエージェント向け総合プラットフォームとなっており開発者は煩雑なインフラストラクチャ作業と運用上の複雑さから解放され、AIエージェント自体を作ることに集中できるサービスとなっています。 

 

3.AgentCoreでできること / 使用できるリージョンなどの詳細 

AgentCoreは、モジュラー型のサービス群で構成されており、個別または連携して使用することができます。

サービス名 
概要 
主な特徴 
AgentCore Runtime 
・エージェントのデプロイと 
 スケーリングを担う 
 
・セキュアなサーバーレス実行環境 
セッション隔離(専用マイクロVMに    よるデータ漏洩防止) 
 
・最大8時間の長時間実行サポート 
 (デフォルト15分) 
 
・LangGraph/Strands Agents/CrewAIなど任意のフレームワークに対応 
 
・最大100MBのマルチモーダルペイロード処理 
AgentCore Gateway 
・外部APIやLambda関数をエージェント対応ツールに変換し、統一されたアクセスポイントを提供する 
MCPサーバーとの接続 
 
・OpenAPI/Lambdaをツール化 
 
・OAuth標準による認証統合 
AgentCore Identity 
・エージェントおよびツール向けの安全なID/アクセス管理機能 
・OAuth標準をサポートし、エージェントがユーザーに代わってAWSサービスやサードパーティツール(GitHub、Salesforce、Slackなど)に安全にアクセスできるようにする 
AgentCore Memory 
・エージェントにコンテキスト認識機能を追加する 
・短期メモリ(会話コンテキスト維持)と長期メモリ(ユーザーの好みや事実の抽出・保持)を提供し、複雑なメモリインフラ管理を不要にする 
AgentCore Observability 
・エージェントのパフォーマンス監視、デバッグ、監査機能 
・OpenTelemetry互換のテレメトリ、リアルタイムダッシュボード、エージェントの実行ステップの詳細な視覚化を提供 
AgentCore Code Interpreter 
・エージェントが生成したコードを隔離されたサンドボックスで安全に実行する組み込みツール 
・1アカウントあたり最大500の同時アクティブセッションをサポート 
 
・エージェントが生成したコードを安全環境で実行してデータ分析や計算を行う能力を付加できる 
AgentCore Browser 
・エージェントがウェブサイトを操作し、大規模なウェブオートメーションワークフローを実行できるようにするマネージドブラウザインスタンス 
単にデータを収集する(クローリング)だけでなく、AIエージェントがウェブサイトを「見て」「理解して」「操作する」といった、より自律的でインタラクティブなタスクを実行することが可能 

 

使用できるリージョン 

AgentCoreは、GA時点で以下のAWSリージョンでサポートされています 

  • 米国東部 (バージニア北部)
  • 米国西部 (オレゴン)
  • 欧州 (フランクフルト)
  • アジアパシフィック (シドニー)
  • アジアパシフィック (ムンバイ)
  • アジアパシフィック (シンガポール)
  • アジアパシフィック (東京)
  • 欧州 (ダブリン)
  • 米国東部 (オハイオ)

料金体系 

AgentCoreは従量課金制であり、前払い費用や最低料金は発生しません。料金は消費されたリソースに対してのみ請求されます。 

なお、AgentCoreの使用の一環として利用される追加のAWSサービス(例:AgentCore ObservabilityのCloudWatchなど)には、標準のAWS料金が適用されるようです 

 

4.AWS Knowledge MCP Serverって?   

AWS Knowledge MCP Serverは、AIエージェントに最新のAWS情報へのアクセスを提供するツールとなっています 

最新ドキュメントへのアクセス 

FM(基盤モデル)が学習していない最新のAWSドキュメント、APIリファレンス、What's New記事、公式ブログ記事といった公式コンテンツに、エージェントが即座にアクセスできるようにします。


 出力品質の向上: 

モデルのコンテキストに直接関連性の高い情報を提供することで、AWSサービスに関する応答のハルシネーション(嘘の生成)を減らし、情報の正確性を向上させます。 


専門知識の提供: 

FMのトレーニングデータには含まれない可能性のある、AWSサービスに関する専門的な知識を提供します。


AgentCoreとの連携 

AgentCore Gatewayは、外部のMCPサーバーに接続できる機能を提供します。これにより、AgentCore Runtime上で動作するAIエージェントは、AgentCore Gatewayを介してAWS Knowledge MCP Serverに接続し、AWSの最新情報を検索・取得するツールとして利用することができます。 

 

5.構成図/ディレクトリ構成  

今回は、上記で説明した2つのサービスを使ってAWSの最新情報(What's New)を特定の時間になったら自動で取得し配信してくれるシステムを作りました。構成図は以下の通りです。 

構成図ディレクトリ

ディレクトリ構成は以下の通りになります。

ディレクトリ構成

この中でも特に重要なファイルがrequire.txtであり、「bedrock-agentcore-starter-toolkit」とMCP関連のパッケージを含む依存関係を定義し、AgentCore Runtime環境での実行に必要なライブラリを事前インストールします。 

agentcoreコマンドで「agentcore launch」を実行すると、内部の処理で 

require.txtを検出 

②その内容を使ってDockerfileを自動生成 

③「docker build」でコンテナイメージを作成 

AgentCore Runtimeにデプロイ 

といった流れになっています。 

 

6.機能レビュー 

機能レビュー

機能レビュー2

出来ました! 

ところどころ配信時刻の表記がUTCになっていたり(※実際は日本時間午前8時に届いてます)、最終更新の箇所で日付データが取れていない()などの箇所はありますが、概ね出力してほしいイメージ通りにできたかと思います。 
 
このシステムは午前8時にAIエージェントがMCPを使用して最新情報を検索し、その情報を要約してメール配信するといったものになります。生成AIで調べた時に不安なソース源も確認できるようにしています。 

AWS Knowledge MCP Serverの使用感 

本来であればAWSの最新情報(What's New)を取得したいので、当日発表されたものだけ的確にとってきたいのですが、数件あるうちの何件かしかヒットしなかったりとうまくいかないこともありました… 

今後修正してどうにかならないか試してみたいところではありますね…! 

 

7.工夫した点 / ハマったポイント 

そもそもKiroがAgentCoreを知らない 

今回、Kiroを使って開発してみたのですが当然AgentCoreAWS Knowledge MCPも新サービスで知らないと言われてしまいました…。 

そもそもKiroがAgentCoreを知らない

そのため、とりあえずKiro自身にもMCPが使えるように設定し、知識を得てもらってから作成してもらうように指示しました。 

AgentCore Runtime

AgentCore Runtimeのセッション時間が15分~8時間という制約 

今回僕が作成したシステムは毎日朝8時になったら定期実行してもらうものであり、セッション時間を最大の8時間にしたところでAIエージェントは受け付けてくれません。 

そこで今回は、AgentCore Runtimeがタスクを受け付けてくれるために実行のトリガーを設けることとコスト最適化の観点を意識して、EventBridgeLambdaで起動する構成にしました。 

こうすることで、AgentCore Runtime内で作成したAIエージェントが実行されるのはもちろんのこと、完全自動で最新情報を配信してくれるようになりました。やったね! 

 

.まとめ

今回の検証を通して、AgentCoreが実際の環境や業務でも問題なく活用できるAIエージェント運用基盤であることが確認できました。今までMCP連携は、ローカルのMCPクライアント(VSCode, Kiroなど)でしか試したことがありませんでしたが、AWS環境内でも問題なく使用できそうです。 

今後はA2A構成も試してみたいなぁ…と思っています。 

皆さんもぜひこの機会に、Amazon Bedrock AgentCoreAWS Knowledge MCP Serverを実際にお試しいただければと思います!