AWS Knowledge Base Retrieval MCP Server

AWS ナレッジベース取得 MCP サーバー

Bedrock エージェント ランタイムを使用して AWS ナレッジベースから情報を取得するための MCP サーバー実装。

特徴

  • RAG (Retrieval-Augmented Generation) : クエリとナレッジベース ID に基づいて、AWS ナレッジベースからコンテキストを取得します。
  • 複数の結果の取得をサポート: カスタマイズ可能な数の結果を取得するオプション。

ツール

  • aws_kb から取得
    • AWS ナレッジベースを使用して取得操作を実行します。
    • 入力:
      • query (文字列): 取得のための検索クエリ。
      • knowledgeBaseId (文字列): AWS ナレッジベースの ID。
      • n (数値、オプション): 取得する結果の数 (デフォルト: 3)。
    • 応答形式:
      • 応答では、次の 2 つの個別のコンテンツ項目が返されます。
        • ナレッジ ベースからの生のコンテキストを含むテキスト項目。
        • メタデータ (ID、ファイル名、スニペット、スコア) を含む構造化 RAG ソースを含む JSON アイテム。
      • この分離により、結果をより柔軟に処理できるようになります。

構成

AWS認証情報の設定

AWS 認証情報を構成するには、次の 2 つのオプションがあります。

オプション1: IAMアクセスキー

  1. AWS マネジメントコンソールから AWS アクセスキー ID、シークレットアクセスキー、リージョンを取得します。
  2. これらの資格情報に、Bedrock エージェント ランタイム操作に対する適切な権限があることを確認します。
  3. 以下の設定例に示すように環境変数を設定します。
  4. 一時的な認証情報の場合は、 AWS_SESSION_TOKEN環境変数を使用してセッショントークンを提供することもできます。

オプション2: AWS SSO (シングルサインオン)

サーバーは AWS SSO 認証情報をサポートするようになりました。

  1. SSO プロファイルを使用して AWS CLI を設定します: aws configure sso
  2. MCP サーバー構成では、AWS_REGION 環境変数のみを設定します。
  3. サーバーは、SSO 資格情報を含むデフォルトの資格情報プロバイダー チェーンを使用します。

オプション: デフォルトのナレッジベース ID を構成する

オプションで、デフォルトで使用する 1 つ以上のナレッジ ベース ID を指定できます。

  1. JSON 形式でナレッジ ベース ID の配列を作成します。
  2. これを設定内の AWS_KB_IDS 環境変数として設定します。
  3. これを構成すると、 knowledgeBaseIdパラメータはツール内でオプションになります。

Claude Desktopでの使用

これをclaude_desktop_config.jsonに追加します:

IAM アクセスキーを使用した Docker

{ "mcpServers": { "aws-kb-retrieval": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "AWS_ACCESS_KEY_ID", "-e", "AWS_SECRET_ACCESS_KEY", "-e", "AWS_REGION", "-e", "AWS_KB_IDS", "mcp/aws-kb-retrieval-server" ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE", "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE", "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE", "AWS_REGION": "YOUR_AWS_REGION_HERE", "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]" } } } }

AWS SSO を使用した Docker

{ "mcpServers": { "aws-kb-retrieval": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "AWS_REGION", "-e", "AWS_KB_IDS", "-v", "${HOME}/.aws:/root/.aws", "mcp/aws-kb-retrieval-server" ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE", "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE", "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE", "AWS_REGION": "YOUR_AWS_REGION_HERE", "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]" } } } }

IAM アクセスキーを使用した NPX

{ "mcpServers": { "aws-kb-retrieval": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-aws-kb-retrieval" ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE", "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE", "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE", "AWS_REGION": "YOUR_AWS_REGION_HERE", "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]" } } } }

AWS SSO を使用した NPX

{ "mcpServers": { "aws-kb-retrieval": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-aws-kb-retrieval" ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE", "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE", "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE", "AWS_REGION": "YOUR_AWS_REGION_HERE", "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]" } } } }

ローカルリポジトリ(クローン/ビルドされたリポジトリから)

{ "mcpServers": { "aws-kb": { "command": "node", "args": [ "/path/to/mcp-aws-kb/dist/index.js" ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE", "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE", "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE", "AWS_REGION": "YOUR_AWS_REGION_HERE", "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]" }, "disabled": false, "autoApprove": [ "retrieve_from_aws_kb" ], "timeout": 120 } } }

建物

ドッカー:

docker build -t mcp/aws-kb-retrieval -f src/aws-kb-retrieval-server/Dockerfile .

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

このREADMEでは、サーバーパッケージの名前が@modelcontextprotocol/server-aws-kb-retrievalであることを前提としています。パッケージ名とインストールの詳細が異なる場合は、設定に合わせて調整してください。また、サーバースクリプトが正しくビルドされていること、およびすべての依存関係がpackage.jsonで適切に管理されていることを確認してください。

-
security - not tested
-
license - not tested
-
quality - not tested

ユーザーが Bedrock Agent Runtime を介して RAG (Retrieval-Augmented Generation) を使用して AWS ナレッジベースから情報を取得できるようにする MCP サーバー。

  1. Features
    1. Tools
      1. Configuration
        1. Setting up AWS Credentials
        2. Optional: Configure Default Knowledge Base IDs
        3. Usage with Claude Desktop
      2. Building
        1. License
          ID: op05gah020