本项目包含一组 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 可调用的“工具”。
安装步骤
- 克隆仓库: 将此 GitHub 仓库克隆到本地计算机。
- 安装 Python 环境: 确保你的系统安装了 Python 3.x。推荐使用虚拟环境。
- 安装依赖:
- 可以为每个独立的服务器(如 'server/gti' 或 'server/secops-soar')安装其特定的依赖。
- 推荐使用 'uv' 工具进行安装(速度更快),或者使用标准的 'pip'。具体步骤请参考项目 'docs' 文件夹中的详细文档。通常需要在每个服务器的根目录下执行安装命令。
- 配置认证: 服务器需要通过 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'),而不是直接放在客户端配置文件中。
基本使用方法
- 根据上述说明配置你的 MCP 客户端。
- 重启 MCP 客户端。
- 客户端应该能检测到并连接到本地运行的 MCP 服务器。
- 在客户端界面中寻找表示 MCP 服务器已激活的指示(例如,Claude Desktop 中的“锤子”图标)。
- 现在你的 LLM 就可以利用这些服务器提供的安全工具进行交互和执行任务了。具体如何与 LLM 交互并调用工具取决于你的 MCP 客户端实现。
有关更详细的安装、配置和使用指南,请参阅仓库的 'docs' 文件夹。
信息
分类
商业系统