项目简介

Panther MCP 服务器是 Panther 安全平台的一个 Model Context Protocol (MCP) 实现。它允许大型语言模型(LLM)客户端(如 Cursor, Claude Desktop, Goose 等)通过标准化的 JSON-RPC 接口访问和交互 Panther 平台的各项功能,包括:

  • 托管和管理资源 (Resources):提供访问 Panther 配置等数据的能力。
  • 注册和执行工具 (Tools):允许 LLM 调用 Panther API 执行操作,例如查询日志、创建规则、管理告警等。
  • 定义和渲染 Prompt 模板 (Prompts):支持使用预定义的模板引导 LLM 进行特定任务的交互。

通过 Panther MCP 服务器,用户可以在支持 MCP 的 LLM 客户端中,以自然语言的方式便捷地使用 Panther 的核心功能。

主要功能点

该 MCP 服务器提供以下核心功能类别:

  • 告警 (Alerts):管理安全告警,包括列出、查看详情、添加评论、更新状态和负责人等。
  • 数据 (Data):查询 Panther 数据湖中的安全日志,获取样本日志事件,查看数据表结构,列出数据库和日志源等。
  • 规则 (Rules):管理安全检测规则、定时规则和简单规则,包括列出、查看详情、启用/禁用等。
  • 模式 (Schemas):列出和查看 Panther 中各种日志类型的模式 (Schema) 详情。
  • 指标 (Metrics):获取安全告警和数据处理相关的指标,用于分析平台运行状态。
  • 用户 (Users):列出 Panther 用户账户信息。

安装步骤

Panther MCP 服务器支持多种运行方式,推荐使用 Docker 或 UVX 进行安装和启动:

  1. 获取 Panther API 访问凭证:在您的 Panther 实例中创建一个 API Token。请根据 Panther 文档配置最小所需权限,并安全存储该 Token。同时记录您的 Panther 实例 URL (例如: 'https://YOUR-PANTHER-INSTANCE.domain')。
  2. 设置环境变量:MCP 服务器需要通过环境变量获取 Panther 实例 URL ('PANTHER_INSTANCE_URL') 和 API Token ('PANTHER_API_TOKEN')。
  3. 选择安装方法:
    • Docker (推荐): 确保已安装 Docker。可以直接运行预构建的 Docker 镜像。启动命令中需要通过 '-e' 参数传递 'PANTHER_INSTANCE_URL' 和 'PANTHER_API_TOKEN' 这两个环境变量。
    • UVX: 确保已安装 UV (一个 Python 包管理器和构建工具)。您可以通过 UVX 运行 PyPI 上发布的 'mcp-panther' 包。启动命令通常是 'uvx mcp-panther',同样需要通过环境变量 ('env') 传递 'PANTHER_INSTANCE_URL' 和 'PANTHER_API_TOKEN'。

MCP客户端配置

MCP 服务器通常由 MCP 客户端启动和管理。客户端需要一个 JSON 格式的配置文件来描述如何启动和连接到服务器。该配置通常包含:

  • 一个唯一的名称 (例如 'mcp-panther')。
  • 启动服务器的命令 ('command')。
  • 传递给命令的参数 ('args')。
  • 服务器需要的环境变量 ('env'),例如 'PANTHER_INSTANCE_URL' 和 'PANTHER_API_TOKEN'。

用户需要在其 MCP 客户端(如 Cursor, Claude Desktop 等)的设置中添加此配置。请参考您具体使用的 LLM 客户端文档了解如何编辑其 MCP 配置。请注意,此配置文件通常包含敏感信息(如 API Token),切勿将其提交到版本控制系统。

配置示例(概念描述,非实际 JSON 代码):

  • 服务器名称: 例如 'mcp-panther'
  • 启动命令: 根据您的安装方法选择,例如 'docker' 或 'uvx'。
  • 启动参数:
    • 如果使用 Docker,参数会包括 'run', '-i', '-e PANTHER_INSTANCE_URL', '-e PANTHER_API_TOKEN', '--rm', 以及镜像名称 'ghcr.io/panther-labs/mcp-panther'。
    • 如果使用 UVX,参数通常是 'mcp-panther'。
  • 环境变量: 设置 'PANTHER_INSTANCE_URL' 和 'PANTHER_API_TOKEN' 的值,替换为您的实际实例 URL 和 API Key。

基本使用方法

配置完成后,在支持 MCP 的 LLM 客户端中,您可以通过自然语言与 Panther MCP 服务器交互。

  1. 验证连接: 在客户端中检查 MCP 服务器是否已成功启动并连接。通常在客户端的设置或状态界面可以看到已连接的服务器列表。
  2. 使用工具: 在与 LLM 的对话中,您可以使用 '@' 符号或客户端提供的其他机制来调用 Panther 的功能。例如:
    • 查询告警:'Show me all high severity alerts from the last 24 hours' (LLM可能会调用 'list_alerts' 工具)
    • 查询日志:'Query AWS CloudTrail logs for failed login attempts in the last day' (LLM可能会调用 'execute_data_lake_query' 工具)
    • 获取模式:'Show me the schema for the AWS_CLOUDTRAIL table' (LLM可能会调用 'get_table_schema' 工具)
  3. 利用提示词: 客户端可能会使用预定义的提示词模板(如告警分类提示词)来引导对话或任务执行。

请确保您的 API Token 拥有执行请求操作所需的权限。如果遇到权限错误 (HTTP 403),请更新您的 API Token 权限配置。

信息

分类

AI与计算