AWS Bedrock KB Retrieval MCP Server

官方

使用自然语言查询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 的结果不包含在知识库查询响应中。
  • reranking 参数需要额外的权限、Amazon Bedrock 模型访问权限,并且仅在特定区域可用。