项目简介
BiRRe (Bitsight Rating Retriever) 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它使大型语言模型(LLM)客户端能够以标准化的方式访问 BitSight 的安全评级数据,并执行公司订阅管理等操作。BiRRe 利用 FastMCP 框架进行开发,支持两种主要上下文模式:'standard' 模式专注于快速获取公司安全评级,而 'risk_manager' 模式则提供更丰富的工具集,用于执行 BitSight 订阅和公司请求等高级操作。它无需复杂安装,即可在隔离的 Python 环境中轻松运行。
主要功能点
- 公司搜索: 允许 LLM 客户端根据公司名称或域名,在 BitSight 数据库中检索公司信息。
- 获取公司评级: 提供公司的 BitSight 安全评级数据,并支持自动处理临时订阅,以获取详细评级报告。
- 交互式公司搜索 (风险经理模式): 在风险经理模式下,搜索结果会包含更丰富的公司详情,如全球唯一标识符 (GUID)、多个域名、公司描述、员工数量以及所在的订阅文件夹,便于 LLM 进行更精确的决策。
- 批量订阅/取消订阅 (风险经理模式): 支持对多个公司进行批量订阅或取消订阅操作,提供试运行(dry-run)功能,并生成详细的审计摘要。
- 提交公司请求 (风险经理模式): 允许 LLM 提交新的 BitSight 公司请求,以加入监控列表,并能智能处理重复请求,支持指定目标文件夹。
- 上下文模式: 服务器提供 'standard' 和 'risk_manager' 两种操作模式,以适应不同的业务角色和需求,动态加载相应的工具集。
- CLI 工具: 内置命令行界面,用于服务器启动、配置检查、日志管理和健康自检,确保服务器的稳定运行。
安装步骤
- 设置 BitSight API 密钥: 在启动 BiRRe 服务器之前,您需要将您的 BitSight API 密钥配置为环境变量。
export BITSIGHT_API_KEY="您的-bitsight-api-密钥" - 启动 BiRRe 服务器: 使用 'uvx' 工具,可以直接从 GitHub 仓库运行 BiRRe。'uvx' 会自动处理依赖安装,并在一个临时的、隔离的 Python 环境中启动服务器。
uvx --from git+https://github.com/boecht/birre birre run - 连接您的 LLM 客户端: 服务器启动后,它将监听一个端口(通常是 'http://127.0.0.1:8080',具体地址请参考服务器启动时的输出)。将您的 LLM 客户端配置指向此地址,即可开始通过 LLM 与 BiRRe 服务器进行交互,例如查询 BitSight 评级或管理订阅。
服务器配置
MCP 客户端在连接 BiRRe 服务器时,需要提供服务器的启动命令和相关参数。以下是一个配置示例,以及各个参数的说明:
{ "server_name": "BiRRe_MCP_Server", "command": "uvx", "args": [ "--from", "git+https://github.com/boecht/birre", "birre", "run", "--context", "standard", "--log-level", "INFO", "--log-file", "birre.log" ], "env": { "BITSIGHT_API_KEY": "YOUR_BITSIGHT_API_KEY" }, "description": "一个提供BitSight安全评级和订阅管理的MCP服务器,支持不同的操作上下文。", "parameters": [ { "name": "BITSIGHT_API_KEY", "description": "BitSight API 密钥,用于认证到 BitSight API。这是一个必需参数,可以通过环境变量或命令行参数设置。优先级别:命令行参数 > 环境变量 > 配置文件。", "type": "string", "required": true, "location": "env" }, { "name": "--context", "description": "选择服务器的运行上下文模式。'standard' 适用于快速评级查询工作流;'risk_manager' 适用于更高级的订阅和公司请求操作。默认值为 'standard'。", "type": "string", "enum": ["standard", "risk_manager"], "default": "standard", "required": false, "location": "arg" }, { "name": "--subscription-folder", "description": "在 BitSight 中用于订阅公司时的默认文件夹名称。例如 'API' 或 'Managed Accounts'。", "type": "string", "required": false, "location": "arg" }, { "name": "--subscription-type", "description": "用于订阅公司的类型,例如 'continuous_monitoring' 或 'vendor_monitoring'。", "type": "string", "required": false, "location": "arg" }, { "name": "--debug", "description": "启用调试模式,会输出更详细的日志信息,包括 API 请求和响应的内部细节。默认值为 false。", "type": "boolean", "default": false, "required": false, "location": "arg" }, { "name": "--allow-insecure-tls", "description": "禁用 TLS 证书验证(不安全,仅用于开发或测试环境)。启用此选项时,任何通过 --ca-bundle 指定的证书束都将被忽略。默认值为 false。", "type": "boolean", "default": false, "required": false, "location": "arg" }, { "name": "--ca-bundle", "description": "指定企业根 CA 证书束(PEM 格式)的路径,用于自定义 TLS 验证。例如 '/path/to/corp-root.pem'。", "type": "string", "required": false, "location": "arg" }, { "name": "--log-level", "description": "设置日志的最低显示级别。可选值包括 INFO, DEBUG, WARNING, ERROR, CRITICAL。默认值为 INFO。", "type": "string", "enum": ["INFO", "DEBUG", "WARNING", "ERROR", "CRITICAL"], "default": "INFO", "required": false, "location": "arg" }, { "name": "--log-format", "description": "设置日志输出的格式。可选值包括 'text'(人类可读)或 'json'(机器可解析)。默认值为 'text'。", "type": "string", "enum": ["text", "json"], "default": "text", "required": false, "location": "arg" }, { "name": "--log-file", "description": "指定日志文件的路径。如果设置为空字符串 ' '、'none'、'stderr' 或 'stdout',则禁用文件日志,日志将输出到标准错误或标准输出。", "type": "string", "required": false, "location": "arg" } ] }
注意:在上述JSON配置中,'env' 字段用于设置环境变量,'args' 字段用于设置命令行参数。'parameters' 列表详细说明了 BiRRe 服务器支持的所有可配置选项,及其类型、描述和位置。LLM 客户端在调用服务器时,可以根据这些说明来构建启动命令和运行时参数。
基本使用方法
- 启动服务器: 按照上述“安装步骤”启动 BiRRe 服务器。
- LLM 客户端交互: 一旦服务器运行,您的 LLM 客户端就可以通过调用服务器提供的工具来获取 BitSight 数据或执行操作。
- 查询公司评级: 让您的 LLM 提问:“帮我查询 GitHub 公司的 BitSight 安全评级。”(这将调用 'get_company_rating' 工具)
- 搜索公司: 询问您的 LLM :“搜索所有与 'Microsoft' 相关的公司。”(这将调用 'company_search' 工具)
- 管理订阅 (在风险经理模式下): 如果服务器以 'risk_manager' 上下文模式启动,您可以指示 LLM :“我需要订阅 GUID 为 '12345-abcde' 的公司到 '新客户' 文件夹。”(这将调用 'manage_subscriptions' 工具)
- 命令行工具: 您还可以直接使用 BiRRe 的命令行工具来管理服务器。
- 查看当前配置: 打开新的终端并运行 'uv run birre config show'。
- 运行健康自检: 运行 'uv run birre selftest' 来验证服务器与 BitSight API 的连接和所有工具的可用性。
- 查看日志: 使用 'uv run birre logs show' 来查看服务器的运行时日志。
信息
分类
商业系统