AWS Bedrock KB Retrieval

官方

使用自然語言查詢 Amazon Bedrock Knowledge Bases,從您的資料來源中檢索相關資訊。

你可以用 AWS Bedrock KB Retrieval MCP 做什麼?

  • 探索可用的知識庫 — 要求助理列出所有 Bedrock 知識庫,或透過 list_knowledge_bases 依名稱和標籤進行搜尋。
  • 以自然語言檢索資訊 — 以對話方式查詢知識庫,並透過 retrieve_from_knowledge_base 取得相關段落及引用來源。
  • 依資料來源篩選結果 — 在查詢中加入或排除特定資料來源,以縮小檢索範圍。
  • 重新排序結果以提升相關性 — 啟用 Amazon Bedrock 的重新排序功能,根據查詢問題的相關性對檢索到的段落進行排序。

文件

Amazon Bedrock 知識庫檢索 MCP 伺服器

用於存取 Amazon Bedrock 知識庫的 MCP 伺服器

功能

探索知識庫及其資料來源

  • 尋找並探索所有可用的知識庫
  • 依名稱或標籤搜尋知識庫
  • 列出與每個知識庫關聯的資料來源

使用自然語言查詢知識庫

  • 使用對話式查詢來擷取資訊
  • 從您的知識庫中取得相關段落
  • 存取所有結果的引用資訊

依資料來源篩選結果

  • 將查詢聚焦於特定資料來源
  • 包含或排除特定資料來源
  • 優先處理來自特定資料來源的結果

重新排序結果

  • 改善檢索結果的相關性
  • 使用 Amazon Bedrock 重新排序功能
  • 依查詢相關性排序結果

先決條件

安裝需求

  1. AstralGitHub README 安裝 uv
  2. 使用 uv python install 3.10 安裝 Python

AWS 需求

  1. AWS CLI 組態:您必須設定 AWS CLI,包含憑證以及可存取 Amazon Bedrock 和知識庫的 AWS_PROFILE
  2. Amazon Bedrock 知識庫:您必須至少有一個 Amazon Bedrock 知識庫,其標籤鍵為 mcp-multirag-kb,值為 true
  3. IAM 許可:您的 IAM 角色/使用者必須具備適當許可才能:
    • 列出和描述知識庫
    • 存取資料來源
    • 查詢知識庫

重新排序需求

如果您打算使用重新排序功能,您的 Bedrock 知識庫需要額外的許可:

  1. 您的 IAM 角色必須同時具備 bedrock:Rerankbedrock:InvokeModel 動作的許可
  2. Amazon Bedrock 知識庫服務角色也必須具備這些許可
  3. 重新排序僅在特定區域可用。請參閱官方文件以取得支援區域的最新清單。
  4. 在指定區域中為可用的重新排序模型啟用模型存取。

控制重新排序

可以使用 BEDROCK_KB_RERANKING_ENABLED 環境變數來全域啟用或停用重新排序:

  • 設為 false(預設):停用所有查詢的重新排序,除非明確啟用
  • 設為 true:啟用所有查詢的重新排序,除非明確停用

環境變數接受多種格式:

  • 啟用:'true'、'1'、'yes' 或 'on'(不區分大小寫)
  • 停用:任何其他值或未設定(預設行為)

此設定提供全域預設值,而個別 API 呼叫仍可透過明確設定 reranking 參數來覆寫它。

有關設定知識庫的詳細說明,請參閱:

安裝

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

在您的 MCP 用戶端組態中設定 MCP 伺服器(例如,對於 Kiro,編輯 ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "awslabs.bedrock-kb-retrieval-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.bedrock-kb-retrieval-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-profile-name",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR",
        "KB_INCLUSION_TAG_KEY": "optional-tag-key-to-filter-kbs",
        "BEDROCK_KB_RERANKING_ENABLED": "false"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows 安裝

對於 Windows 使用者,MCP 伺服器組態格式略有不同:

{
  "mcpServers": {
    "awslabs.bedrock-kb-retrieval-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.bedrock-kb-retrieval-mcp-server@latest",
        "awslabs.bedrock-kb-retrieval-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

或在成功 docker build -t awslabs/bedrock-kb-retrieval-mcp-server . 後使用 docker:

# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
  {
    "mcpServers": {
      "awslabs.bedrock-kb-retrieval-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "--interactive",
          "--env",
          "FASTMCP_LOG_LEVEL=ERROR",
          "--env",
          "KB_INCLUSION_TAG_KEY=optional-tag-key-to-filter-kbs",
          "--env",
          "BEDROCK_KB_RERANKING_ENABLED=false",
          "--env",
          "AWS_REGION=us-east-1",
          "--env-file",
          "/full/path/to/file/above/.env",
          "awslabs/bedrock-kb-retrieval-mcp-server:latest"
        ],
        "env": {},
        "disabled": false,
        "autoApprove": []
      }
    }
  }

注意:您的主機需要持續保持憑證重新整理

限制

  • 具有 IMAGE 內容類型的結果不包含在 KB 查詢回應中。
  • reranking 參數需要額外的許可、Amazon Bedrock 模型存取權,且僅在特定區域可用。