关于 AWS MCP Servers
AWS MCP Servers 是 awslabs 提供的开源 MCP 服务集合,覆盖 AWS 的多个服务场景。本条目为其中的 Amazon Bedrock 知识库检索 MCP 服务,面向需要基于企业知识库回答问题的开发者。
主要功能
- 01发现知识库及其数据源
- 02使用自然语言查询知识库
- 03按数据源过滤检索结果
- 04支持向量与托管知识库
- 05通过 user_id 访问 ACL 保护内容
- 06可选的重排序功能
适用场景
- 01在 Amazon Bedrock 知识库中检索带引用的段落
- 02在 AI 助手中查询企业文档并限定数据源
- 03访问 SharePoint 等带权限控制的内容
MCP 相关
该服务作为 MCP 服务运行,向 MCP 客户端暴露知识库列表、查询和智能体检索等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Amazon Bedrock 知识库检索 MCP 服务
用于访问 Amazon Bedrock 知识库的 MCP 服务
功能
发现知识库及其数据源
- 查找并浏览所有可用的知识库
- 按名称或标签搜索知识库
- 列出与每个知识库关联的数据源
使用自然语言查询知识库
- 使用对话式查询检索信息
- 从知识库中获取相关段落
- 查看所有结果的引用信息
按数据源筛选结果
- 将查询范围限定到特定数据源
- 包含或排除特定数据源
- 优先显示来自特定数据源的结果
对托管知识库进行智能体检索
- 规划多步骤检索策略,并综合生成带引用的答案
- 一次调用即可搜索多个知识库
- 可选择查看 Agent 规划和检索步骤的精简追踪记录
- 仅支持托管知识库;对于其他类型,工具会返回明确提示
访问受 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 和知识库访问权限的凭证及 AWS_PROFILE
- Amazon Bedrock 知识库:必须至少有一个 Amazon Bedrock 知识库带有标签键
mcp-multirag-kb,且值为true - IAM 权限:IAM 角色/用户必须具备以下相应权限:
- 列出和描述知识库
- 访问数据源
- 查询知识库
重新排序要求
如果计划使用重新排序功能,Bedrock 知识库需要额外权限:
- IAM 角色必须同时具备
bedrock:Rerank和bedrock:InvokeModel操作的权限 - Amazon Bedrock 知识库服务角色也必须具备这些权限
- 重新排序功能是否可用因模型而异:
amazon.rerank-v1:0在us-east-1不提供,而cohere.rerank-v3-5:0提供。服务会验证(区域、模型)组合,并在不匹配时立即返回明确提示。支持的区域列表请参阅官方文档,以获取最新信息。 - 在指定区域启用可用重新排序模型的模型访问权限。
Agentic 检索要求
AgenticQueryKnowledgeBases 工具会调用 AgenticRetrieveStream,该功能仅支持托管知识库(type: MANAGED)。它会规划检索策略,除非你传入 generate_response=false,否则还会调用基础模型编写带引用的答案。
- 除上述权限外,你的 IAM 角色还需要对知识库具有
bedrock:AgenticRetrieveStream权限 - 由于会调用基础模型,因此每次调用的成本明显高于
QueryKnowledgeBases。如需检索而不生成综合答案,请传入generate_response=false RetrieveAndGenerate不支持托管知识库,因此使用generate_response=true进行 Agentic 检索,是从托管知识库获取生成式答案的方式
控制重排
可以使用 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": []
}
}
}
注意:需要从主机持续刷新凭证
限制
- KB 查询响应中不包含内容类型为
IMAGE的结果。 reranking参数需要额外权限和 Amazon Bedrock 模型访问权限,并且仅在特定区域可用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。