本项目包含一组 Model Context Protocol (MCP) 服务器实现,旨在使兼容 MCP 的 LLM 客户端(如 Claude Desktop、cline.bot VS Code 扩展)能够与 Google 的各项安全产品和服务进行交互。通过这些 MCP 服务器,LLM 可以调用工具、访问安全数据、执行自动化响应动作等,从而增强 LLM 在安全领域的实用性和上下文理解能力。

主要功能点

本项目提供了以下主要功能的安全 MCP 服务器:

  • Google Security Operations (Chronicle): 提供威胁检测、调查和狩猎能力。
  • Google Security Operations SOAR: 支持安全编排、自动化和响应操作。
  • Google Threat Intelligence (GTI): 允许访问 Google 的威胁情报数据。
  • Security Command Center (SCC): 用于云安全和风险管理。

每个服务器都可以独立启用和运行。这些安全能力通过 MCP 协议封装为 LLM 可调用的“工具”。

安装步骤

  1. 克隆仓库: 将此 GitHub 仓库克隆到本地计算机。
  2. 安装 Python 环境: 确保你的系统安装了 Python 3.x。推荐使用虚拟环境。
  3. 安装依赖:
    • 可以为每个独立的服务器(如 'server/gti' 或 'server/secops-soar')安装其特定的依赖。
    • 推荐使用 'uv' 工具进行安装(速度更快),或者使用标准的 'pip'。具体步骤请参考项目 'docs' 文件夹中的详细文档。通常需要在每个服务器的根目录下执行安装命令。
  4. 配置认证: 服务器需要通过 Google 认证才能访问 Google Cloud 服务。你需要设置 Application Default Credentials (ADC),可以通过 'gcloud auth application-default login' 命令或设置 'GOOGLE_APPLICATION_CREDENTIALS' 环境变量来完成。某些服务器(如 GTI)可能还需要额外的 API 密钥(如 VirusTotal API 密钥),这些通常通过环境变量配置,具体请参考每个服务器的 README 或文档。

服务器配置 (为 MCP 客户端准备)

MCP 客户端(如 Claude Desktop 或 cline)需要配置如何启动这些 MCP 服务器。以下是典型的 JSON 配置格式示例,你需要将其添加到你的 MCP 客户端的配置文件中(例如 'claude_desktop_config.json' 或 'cline_mcp_settings.json')。

请注意:以下配置中的 '/path/to/the/repo/' 需要替换为你实际克隆仓库的本地路径。'command' 和 'args' 字段指定了如何启动对应的 MCP 服务器进程,'env' 字段用于传递必要的环境变量(如项目 ID、API 密钥等)。

{
  "mcpServers": {
    "secops": {
      "command": "uv", // 或 "/bin/bash"
      "args": [
        "--directory",
        "/path/to/the/repo/server/secops/secops_mcp",
        "run",
        "server.py" // 或 "-c", "cd /path/to/the/repo/server/secops && pip install -e . && secops_mcp"
      ],
      "env": {
        "CHRONICLE_PROJECT_ID": "your-project-id",
        "CHRONICLE_CUSTOMER_ID": "01234567-abcd-4321-1234-0123456789ab",
        "CHRONICLE_REGION": "us"
      },
      "disabled": false,
      "autoApprove": []
    },
    "secops-soar": {
      "command": "uv", // 或 "/bin/bash"
      "args": [
        "--directory",
        "/path/to/the/repo/server/secops-soar/secops_soar_mcp",
        "run",
        "server.py", // 或 "-c", "cd /path/to/the/repo/server/secops-soar && pip install -e . && python secops_soar_mcp/server.py"
        "--integrations",
        "CSV,OKTA" // 根据需要启用的 SOAR 集成进行修改
      ],
      "env": {
        "SOAR_URL": "https://yours-here.siemplify-soar.com:443",
        "SOAR_APP_KEY": "01234567-abcd-4321-1234-0123456789ab"
      },
      "disabled": false,
      "autoApprove": []
    },
    "gti": {
      "command": "uv", // 或 "/bin/bash"
      "args": [
        "--directory",
        "/path/to/the/repo/server/gti/gti_mcp",
        "run",
        "server.py" // 或 "-c", "cd /path/to/the/repo/server/gti && pip install -e . && gti_mcp"
      ],
      "env": {
        "VT_APIKEY": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" // VirusTotal API 密钥
      },
      "disabled": false,
      "autoApprove": []
    },
    "scc-mcp": {
      "command": "uv", // 或 "/bin/bash"
      "args": [
        "--directory",
        "/path/to/the/repo/server/scc",
        "run",
        "scc_mcp.py" // 或等效的启动命令
      ],
      "env": {
        // SCC 可能需要的环境变量
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

你可以选择使用 'uv' 或 'pip' 方式启动服务器,并在 'args' 中调整路径和命令。敏感信息如 'SOAR_APP_KEY' 和 'VT_APIKEY' 也可以考虑放在 '.env' 文件中并通过 '--env-file' 参数加载 (如果使用 'uv'),而不是直接放在客户端配置文件中。

基本使用方法

  1. 根据上述说明配置你的 MCP 客户端。
  2. 重启 MCP 客户端。
  3. 客户端应该能检测到并连接到本地运行的 MCP 服务器。
  4. 在客户端界面中寻找表示 MCP 服务器已激活的指示(例如,Claude Desktop 中的“锤子”图标)。
  5. 现在你的 LLM 就可以利用这些服务器提供的安全工具进行交互和执行任务了。具体如何与 LLM 交互并调用工具取决于你的 MCP 客户端实现。

有关更详细的安装、配置和使用指南,请参阅仓库的 'docs' 文件夹。

信息

分类

商业系统