AWS Bedrock KB Retrieval
官方使用自然語言查詢 Amazon Bedrock Knowledge Bases,從您的資料來源中檢索相關資訊。
你可以用 AWS Bedrock KB Retrieval MCP 做什麼?
- 探索知識庫 — 透過
ListKnowledgeBases要求列出所有可用的 Bedrock 知識庫及其資料來源。 - 以自然語言查詢 — 提出對話式問題,從您的知識庫中檢索帶有引用的相關段落。
- 依資料來源篩選 — 將檢索聚焦於特定資料來源,包括從結果中包含或排除它們。
- 具代理性的檢索與綜合 — 使用
AgenticQueryKnowledgeBases要求跨多個受管知識庫執行多步驟檢索計畫,並提供附引用的答案。 - 存取受 ACL 保護的內容 — 傳遞
user_id以從 SharePoint 或 Confluence 等具 ACL 感知能力的資料來源檢索內容。 - 重新排序結果 — 透過啟用 Amazon Bedrock 模型(如
cohere.rerank-v3-5:0)的重新排序功能,提升檢索相關性。
文件
Amazon Bedrock Knowledge Base Retrieval MCP 伺服器
用於存取 Amazon Bedrock Knowledge Bases 的 MCP 伺服器
功能
探索知識庫及其資料來源
- 尋找並探索所有可用的知識庫
- 依名稱或標籤搜尋知識庫
- 列出與每個知識庫關聯的資料來源
以自然語言查詢知識庫
- 使用對話式查詢擷取資訊
- 從知識庫取得相關段落
- 存取所有結果的引用資訊
依資料來源篩選結果
- 將查詢聚焦於特定資料來源
- 包含或排除特定資料來源
- 優先顯示來自特定資料來源的結果
受管知識庫上的代理式擷取
- 規劃多步驟擷取策略並綜合出具引用的答案
- 在一次呼叫中搜尋多個知識庫
- 可選的代理規劃與擷取步驟精簡追蹤
- 僅限受管知識庫;此工具會以明確訊息拒絕其他類型
存取受 ACL 保護的內容
- 傳遞
user_id以從具 ACL 感知能力的資料來源(SharePoint、OneDrive、具逐文件 ACL 的 Confluence)擷取內容 - 若未提供,該內容將無法存取,且代理式擷取的全文擴充步驟會失敗並顯示「UserContext is required for ACL-aware data sources」
- 結果會篩選為該使用者獲授權檢視的內容
同時支援受管與向量知識庫
- 適用於向量知識庫(
type: VECTOR)與受管知識庫(type: MANAGED) - 知識庫類型會自動偵測,並傳送正確的
Retrieve設定(vectorSearchConfiguration或managedSearchConfiguration) - 資料來源篩選使用適合知識庫類型的中繼資料鍵
ListKnowledgeBases工具會回報每個知識庫的type
重新排序結果
- 提升擷取結果的相關性
- 使用 Amazon Bedrock 重新排序功能
- 依查詢相關性排序結果
先決條件
安裝需求
- 從 Astral 或 GitHub README 安裝
uv - 使用
uv python install 3.10安裝 Python
AWS 需求
- AWS CLI 設定:您必須設定 AWS CLI,包含憑證及可存取 Amazon Bedrock 和 Knowledge Bases 的 AWS_PROFILE
- Amazon Bedrock Knowledge Base:您必須至少有一個 Amazon Bedrock Knowledge Base,其標籤鍵為
mcp-multirag-kb,值為true - IAM 權限:您的 IAM 角色/使用者必須具備適當權限以:
- 列出及描述知識庫
- 存取資料來源
- 查詢知識庫
重新排序需求
若您打算使用重新排序功能,您的 Bedrock Knowledge Base 需要額外權限:
- 您的 IAM 角色必須具備
bedrock:Rerank和bedrock:InvokeModel動作的權限 - Amazon Bedrock Knowledge Bases 服務角色也必須具備這些權限
- 重新排序的可用性依模型而異:
amazon.rerank-v1:0在us-east-1中不提供,而cohere.rerank-v3-5:0則有提供。伺服器會驗證(區域、模型)配對,並以明確訊息快速失敗。請參閱官方文件以取得最新支援區域清單。 - 在指定區域中啟用可用重新排序模型的模型存取。
代理式擷取需求
AgenticQueryKnowledgeBases 工具會呼叫 AgenticRetrieveStream,此功能僅支援受管知識庫(type: MANAGED)。它會規劃擷取策略,且除非您傳遞 generate_response=false,否則會呼叫基礎模型來撰寫具引用的答案。
- 除了上述列出的權限外,您的 IAM 角色還需要對知識庫具備
bedrock:AgenticRetrieveStream權限 - 由於它會呼叫基礎模型,每次呼叫的成本遠高於
QueryKnowledgeBases。傳遞generate_response=false以進行不含綜合的擷取 RetrieveAndGenerate不支援受管知識庫,因此使用generate_response=true的代理式擷取是從中取得生成答案的方式
控制重新排序
可使用 BEDROCK_KB_RERANKING_ENABLED 環境變數全域啟用或停用重新排序:
- 設為
false(預設):停用所有查詢的重新排序,除非明確啟用 - 設為
true:啟用所有查詢的重新排序,除非明確停用
環境變數接受各種格式:
- 啟用:'true'、'1'、'yes' 或 'on'(不區分大小寫)
- 停用:任何其他值或未設定(預設行為)
此設定提供全域預設值,而個別 API 呼叫仍可透過明確設定 reranking 參數來覆寫。
有關設定知識庫的詳細說明,請參閱:
安裝
| Kiro | Cursor | 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 模型存取,且僅在特定區域中可用。