AWS公式ナレッジを横断検索できる AWS Knowledge MCP Serverを試してみた

記事タイトルとURLをコピーする

処理イメージ

和食レシピは笠原将弘さん推しCS2課の畑野です。

最近、一般的なAIサービスを使ってAWSサービス仕様や概要を確認したときの話です。要点を分かりやすく整理してくれる一方で、「根拠となるドキュメントやURLを提示してください」と指示すると、ありません という回答が返ってきました。

思わず、なんでやねんとツッコみました。

そこで正確な仕様を調べるための仕組みとして、AWS Knowledge MCP ServerがGAになった ことを思い出し、活用してみることにしました。 AWS公式ドキュメントを情報源としているMCPサーバーなら間違いない回答を得られるだろうと踏んでいます。

今回は、チーム内で活用しやすいように、ブラウザからキーワード検索を行い、AWS Knowledge MCP Serverから結果を取得する、という点を検証してみました。 コード一式はAWS SAMで作成し、githubで公開しています。

AWS Knowledge MCP Serverとは

AWS Knowledge MCP Server | AWS MCP Servers

AWS が公開しているリモートMCP サーバーで、AWSに関する公式ナレッジをMCPクライアントから利用できるAPI(ツール)が公開されています。

主な機能としては、AWSドキュメント、APIリファレンス、トラブルシューティングガイド、アーキテクチャガイダンス、ベストプラクティスなどを対象にし、関連するコンテンツを横断的に検索できます。

一般公開されているサーバーのため、curlコマンドなどで適切なHTTPリクエストを送ればJSONで応答を得られます。ただし、そのままでは可読性が高いとは言えないため、人が利用する前提の簡単なUIを用意してみることにしました。

主な機能

MCPサーバーとして公開されているツールは次の通りです。

ツール名 説明
search_documentation AWSナレッジ全体を横断検索
read_documentation ドキュメントURLからページをMarkdownに変換
recommend ドキュメントURLから関連する推奨ページを提示
list_regions 全AWSリージョン名一覧取得
get_regional_availability AWSサービス/機能のリージョン対応状況取得

後でご紹介するコードには全てのツールを利用出来るように実装していますが、本ブログでは利用頻度の高そうな search_documentation を使ってみます。 AWSナレッジ全体を横断検索してドキュメントURLを返してくれるツールです。

AWS Knowledge MCP Server が参照する情報ソースは以下の通りです。

  • 最新のAWSドキュメント
  • APIリファレンス
  • 新機能の投稿
  • 入門情報
  • ビルダーセンター
  • ブログ投稿
  • アーキテクチャリファレンス
  • Well-Architectedガイダンス
  • トラブルシューティングガイドとエラー解決策
  • AWS Amplifyドキュメント
  • CDKドキュメント、CLIガイド、コンストラクト、パターン
  • CloudFormationテンプレートとリファレンス

構成図

UIは CloudFront + S3 で実装し、MCPサーバーとの通信は API Gateway + Lambda で行ないます。

コード

github.com

コード一式はAWS SAMでデプロイ出来るようにしています。デプロイ方法はリンク先をご参照下さい。 デプロイ後、index.html をコンテンツ用S3バケットへアップロードし、AWS SAM実行完了後に表示されるURLにアクセスします。

追記

検索結果をBedrockで要約するコードも作りました。 search_documentationで取得したURLをread_documentationでマークダウン化し、Bedrockで要約します。 github.com

デプロイしてみる

この画面がトップページです。 Toolのプルダウンを切り替えることで呼び出すMCPツールを切り替えることができます。

IAMについて検索してみますので、Toolは search_documentation を指定し、 Search Phraseに IAMの仕組 、Topicsは何も選択せず実行します。*1

結果が表示されます。IAMのベストプラクティスのページなので検討違いではなさそうです。

現状、日本語ページを優先表示させる仕組はなさそうでした。 Amazon Bedrockを利用し、MCPサーバーから得られたレスポンスを要約させて日本語化する、といったアプローチができるかもしれません。

追記

Claude Sonnet 4.5による要約
Amazon Bedrockで要約した場合の結果です。日本語化してくれるものありがたいです。

実装で困ったこと

MCP Inspectorを利用して初めて仕様が分かった
論理的なMCPツール名は公開されているものの、APIで呼び出すときのTool IDが分からず、調べるのに苦労しました。 結果、公式ページのTesting and Troubleshootingに記載されているMCP Inspectorを試すことで判明しました。例えば、search_documentationaws___search_documentation でした。

AWS Knowledge MCP Serverでは、 search_documentation のような論理的なツール名が定義されていますが、実際にAPIとして呼び出す際には、サーバー識別子を含めた aws___search_documentation というTool IDを指定する必要があることがわかりました。

ご参考までにgithubのコードにはデバッグ用途としてcurlで呼び出す方法を記載しています。

まとめ

これまでは、一般的なWeb 検索エンジンを使って AWSサービスの仕様を調べることが多かったのですが、必ずしも目的に合った情報が得られるとは限りませんでした。

今回、AWSに特化した情報取得手段としてAWS Knowledge MCP Serverを試してみましたが、 情報源がAWS公式に限定されている点は、大きな安心感がありました。

AWSの仕様を「検索結果」ではなく、構造化されたナレッジとして扱える点も特徴的で、 今後AIエージェントと組み合わせた活用が広がっていきそうです。

レシピもAWS もアレンジする前にまずは標準を確認したい派なので、 そういう意味でも AWS Knowledge MCP Server は、しっくりくる存在でした。

余談

ここまで試して気付いたのですが、個人で利用する場合はKiroでMPCサーバーの設定をして使うのが手っ取り早いです。 しかも日本語で応答してくれます。Kiro、優秀ですね。

*1:何も選択しない場合、generalが指定されます