返回市场
基岩知识库检索mcp服务器

基岩知识库检索mcp服务器

作者:awslabs7456 星标更新:2025-11-24

项目介绍

Amazon Bedrock 知识库检索 MCP 服务器

用于访问 Amazon Bedrock 知识库的 MCP 服务器

功能

发现知识库及其数据源

  • 查找并探索所有可用的知识库
  • 按名称或标签搜索知识库
  • 列出与每个知识库关联的数据源

使用自然语言查询知识库

  • 使用对话查询检索信息
  • 获取来自知识库的相关段落
  • 访问所有结果的引用信息

根据数据源过滤结果

  • 将查询集中在特定数据源上
  • 包括或排除特定数据源
  • 优先显示来自特定数据源的结果

重新排序结果

  • 提高检索结果的相关性
  • 使用 Amazon Bedrock 的重新排序功能
  • 按照查询的相关性对结果进行排序

预备条件

安装要求

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

AWS 要求

  1. AWS CLI 配置:您必须配置具有访问 Amazon Bedrock 和知识库权限的 AWS CLI 凭证和 AWS_PROFILE。
  2. Amazon Bedrock 知识库:您必须至少有一个带有标签键 mcp-multirag-kb 且值为 true 的 Amazon Bedrock 知识库。
  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 参数来覆盖它。

有关设置知识库的详细说明,请参阅:

安装

CursorVS Code
安装 MCP 服务器在 VS Code 上安装

在您的 MCP 客户端配置中配置 MCP 服务器(例如,对于 Amazon Q 开发者 CLI,编辑 ~/.aws/amazonq/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 . 后:

# 假设的 `.env` 文件,包含 AWS 临时凭证
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 模型访问,并且仅在特定区域可用。