AWS Bedrock KB Retrieval MCP Server
官方使用自然语言查询Amazon Bedrock知识库,从您的数据源中检索相关信息。
文档
Amazon Bedrock 知识库检索 MCP 服务器
用于访问 Amazon Bedrock 知识库的 MCP 服务器
功能
发现知识库及其数据源
- 查找并探索所有可用的知识库
- 按名称或标签搜索知识库
- 列出与每个知识库关联的数据源
使用自然语言查询知识库
- 使用对话式查询检索信息
- 从知识库中获取相关段落
- 访问所有结果的引用信息
按数据源筛选结果
- 将查询聚焦于特定数据源
- 包含或排除特定数据源
- 优先处理来自特定数据源的结果
重排序结果
- 提高检索结果的相关性
- 使用 Amazon Bedrock 重排序功能
- 按与查询的相关性对结果进行排序
先决条件
安装要求
- 从 Astral 或 GitHub README 安装
uv - 使用
uv python install 3.10安装 Python
AWS 要求
- AWS CLI 配置:您必须配置 AWS CLI,并拥有一个有权访问 Amazon Bedrock 和知识库的 AWS_PROFILE
- Amazon Bedrock 知识库:您必须至少拥有一个 Amazon Bedrock 知识库,其标签键为
mcp-multirag-kb,值为true - IAM 权限:您的 IAM 角色/用户必须拥有适当的权限来:
- 列出和描述知识库
- 访问数据源
- 查询知识库
重排序要求
如果您打算使用重排序功能,您的 Bedrock 知识库需要额外的权限:
- 您的 IAM 角色必须拥有
bedrock:Rerank和bedrock:InvokeModel操作的权限 - Amazon Bedrock 知识库服务角色也必须拥有这些权限
- 重排序仅在特定区域可用。请参阅官方文档以获取支持区域的最新列表。
- 在指定区域为可用的重排序模型启用模型访问。
控制重排序
可以使用 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的结果不包含在知识库查询响应中。 reranking参数需要额外的权限、Amazon Bedrock 模型访问权限,并且仅在特定区域可用。