keyboard_double_arrow_up

Blog X-Tech5エンジニアがお送りするテックブログ
SREやDevOpsをはじめ、インフラエンジニアリングの実践情報を届けします。

【2025/07版】AWS公式ドキュメント検索を効率化:DifyとMCP Serverで作るAIチャットボット

2025年7月22日 

前提

この記事は以前公開した記事のアップデート版です。

AWS公式ドキュメント検索を効率化:DifyとMCP Serverで作るAIチャットボット でご紹介した構成の各種ツールの更新がありました。

一部破壊的な変更(BREAKING CHANGE)も含まれていたため、この記事で更新に対応した設定手順を改めてご紹介します。

更新内容

詳細については各ドキュメントを参照ください。

AWS Knowledge MCP Server (Preview)

AWS Knowledge MCP Server がプレビューリリースされました。

AWSドキュメントに加えて、APIリファレンスやブログ記事などを情報源とするリモートMCP Serverです。

AWS Documentation MCP Server v1.0.0

v1.0.0 がリリースされています。

Server Sent Events(SSE)のサポートが無くなり、Streamable HTTP transport の利用が推奨となりました。

以下のMCPの仕様に準拠した形のようです。

MCP 2025-06-18 版

Model Context Protocol Version 2025-06-18

HTTP transport を利用するリモートMCP ServerはOAuth実装が必須となりました。

Dify v1.6.0

標準でMCP利用が可能になりました。

Dify v1.6.0: Built-in Two-Way MCP Support

注: HTTPベースのMCPサーバーのみ。プロトコルバージョンは2025-03-26です。

OAuthが実装されているリモートMCP Serverが対象です。

各種設定の更新確認

  • Dify: v1.6.0
  • AWS MCP: 2025.7.2025211721
    • AWS Knowledge MCP Server: preview
    • AWS Documentation MCP Server: v1.0.0

AWS Knowledge MCP Server + Dify MCP機能

Knowledge MCPはプレビュー版ですが、Documentation MCP と比較して広範囲の情報源に対応しています。正式リリース後はこちらの利用が主流になることが予想されます。

公式の手順 (Using MCP Tools) に沿って設定していきます。

ツール設定

  • “ツール” → “MCP”

MCP Server の URL や名称を設定します。

Failed to fetch remote icon とアイコン取得失敗の警告が表示される場合がありますが、機能に支障はないためこのまま進めます。

アイコン取得に対応している場合は自動的にアイコンが設定されます。(例:Notionの場合)

OAuth のフローが実行され、自動的に “認証済み” となります。

アプリケーション設定

アプリケーションにツールを追加します。

“エージェント” タイプの設定例です。

設定値のカスタマイズも行えると記載がありますが、”エージェント”タイプの設定画面では選択肢が出てきませんでした。

“チャットフロー”や”ワークフロー”のエージェントノードであればパラメータ値のカスタマイズが可能です。

実行確認

MCPが利用され、公式ドキュメントの情報が取得できることが確認できました。

公式ドキュメント(docs.aws.amazon.com) 以外の情報が取得できることも確認できます。

留意点

何度か試していたところ、数回のやり取りをしただけでレートエラーが発生することがありました。

AWS Knowledge MCP Serverは現在プレビューであり、具体的なレート制限値は公開されていません。

当面は、エラーが発生しうる可能性を考慮して利用されることをお勧めします。

Failed to invoke tool:
 Server Error:
  SessionMessage(message=JSONRPCMessage(
   root=JSONRPCError(
    jsonrpc='2.0',
    id='0.0',
    error=ErrorData(
     code=-32003,
     message='Your request rate is too high. Reduce the frequency of requests.',
     data=None
    )
   )
  ),
  metadata=None)

AWS Documentation MCP + mcp_sse

安定性を考慮すると、Documentation MCP も引き続き利用することが考えられます。
SSEサポートが無くなったため、通信部分は sparfenyuk/mcp-proxy で代替する方法を選択しました。

前回と同様に公開はせずdocker 間での通信のみ許可し、 dify-plugin-tools-mcp_sse(mcp_sse) プラグイン を利用してDifyと接続します。

起動設定例

複数設定できるよう、設定ファイルで定義します。

  • mcp-proxy.json
{
  "mcpServers": {
    "aws-documentation": {
      "enabled": true,
      "timeout": 60,
      "command": "uvx",
      "args": [
        "awslabs.aws-documentation-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws"
      },
      "transportType": "stdio"
    }
  }
}

uv を含むカスタムイメージを利用します。

  • mcp-proxy.Dockerfile
# file: mcp-proxy.Dockerfile

FROM ghcr.io/sparfenyuk/mcp-proxy:latest

# Install the 'uv' package
RUN python3 -m ensurepip && pip install --no-cache-dir uv

ENV PATH="/usr/local/bin:$PATH" \
    UV_PYTHON_PREFERENCE=only-system

COPY mcp-proxy.json /app/mcp-proxy.json

ENTRYPOINT [ "mcp-proxy" ]

サービス起動用に compose を定義します。

別途 Dify 側に接続用のネットワーク(mcp-servers-network)を定義しており、そこに参加する形にしています。

  • docker-compose.yml
services:
  mcp-proxy:
    build:
      context: .
      dockerfile: mcp-proxy.Dockerfile
    command: >
      --transport streamablehttp
      --named-server-config "/app/mcp-proxy.json"
      --port 8888
      --host 0.0.0.0
    restart: always
    networks:
      - mcp-servers-network

networks:
  mcp-servers-network:
    external: true

起動します。

docker compose up -d

mcp_sse プラグイン設定

“MCP Servers config” に mcp-proxy の定義を設定します。

{
    "aws-documentation": {
        "url": "http://mcp-proxy:8888/servers/aws-documentation/sse",
        "headers": {},
        "timeout": 50,
        "sse_read_timeout": 50
    }
}

アプリケーション設定

アプリケーションにツールを追加します。

“エージェント” タイプの設定例です。

追加したツールそれぞれで、 “MCP Resources as Tools”、”MCP Prompts as Tools” を有効化します。

ここが False だとツールとして認識されないようです。

実行確認

MCPが利用され、公式ドキュメントの情報が取得できることが確認できました。

おわりに

今回は、DifyとAWS提供MCP Serverのアップデートに対応したAWS公式情報検索を効率化するAIチャットボットの例をご紹介しました。

特にAWS Knowledge MCP Serverはドキュメントに加え最新情報なども検索対象になり、AWS管理となるためメンテナンス不要で利用可能な点が大きな魅力だと考えています。


[免責]
本記事はBlog投稿時点における投稿者又は弊社環境で確認している事象や手順です。
各サービスの仕様や機能は変更される可能性があります。最新の情報については各公式サイトをご確認ください。
本件に伴い生じた不具合・損害等について、投稿者及び弊社は一切の責任を負わないものとします。