关于 sophos-central-mcp
sophos-central-mcp 是面向 MSP 和 MSSP 团队的 Sophos Central 安全运营 MCP 服务,可跨客户租户管理安全工作。它整合端点、邮件、防火墙和调查工具,并支持按租户路由及写入和破坏性操作控制。
主要功能
- 01覆盖 33 个 API 域的 334 个工具
- 02管理多个客户租户
- 03端点隔离、扫描与调查
- 04Live Discover 和 XDR SQL 查询
- 05管理邮件、防火墙和 DNS 防护
- 06只读模式及破坏性操作控制
适用场景
- 01跨客户租户进行告警分流
- 02使用 Live Discover 调查端点
- 03在 XDR Data Lake 中搜寻历史威胁
- 04管理邮件隔离区和防火墙策略
MCP 相关
通过 stdio、SSE 或 Streamable HTTP 向 MCP 客户端提供 Sophos Central API 操作。服务会自动刷新 OAuth2 令牌,并按租户进行区域路由。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Sophos Central MCP 服务
面向 MSP/MSSP 团队: 通过自然语言管理所有 Sophos 租户的端点安全、电子邮件威胁和防火墙策略。让 Claude 调查警报、隔离主机、运行 Live Discover 查询,并关联 XDR 数据,无需离开 AI 工作流。
概述
适用于 Sophos Central API 的模型上下文协议(MCP)服务,可通过 Claude 和其他兼容 MCP 的客户端实现 AI 驱动的安全运营。该服务面向 MSP/MSSP 环境,使用 Partner Super Admin 凭据,可通过单个服务实例管理所有客户租户,涵盖端点防护、威胁检测、Live Discover 取证、XDR 威胁搜寻、电子邮件安全、防火墙管理等。
功能
- 334 个工具,涵盖 33 个 API 域 — 全面覆盖 Sophos Central API
- 支持多租户 MSSP — 使用 Partner Super Admin 凭据枚举和指定任意客户租户
- 端点隔离与调查 — 隔离端点、检查防篡改保护、触发扫描
- 警报分类处理 — 跨租户列出、筛选、确认 Sophos 警报并采取相应操作
- Live Discover SQL 查询 — 直接在受管理的端点上运行实时取证 SQL 查询
- XDR Data Lake 威胁搜寻 — 使用 SQL 对 Sophos XDR 数据湖进行历史威胁搜寻
- 威胁检测 — 查询、分组和统计行为检测
- 案例管理 — 端到端创建和管理调查案例
- 电子邮件安全 — 隔离管理、邮箱列表、召回已投递邮件
- 防火墙管理 — CRUD 操作、组管理、固件升级
- DNS 防护 — 位置策略、自定义域名允许/阻止列表
- SOC 行动手册 — 内置的
sophos_playbook_*工具,用于引导式事件响应(IR)和威胁搜寻工作流 - 三种传输模式 — stdio(Claude Desktop)、SSE 和 Streamable HTTP(Claude Code)
- 自动 OAuth2 令牌管理 — 自动刷新令牌,无需手动干预
- 区域路由 — 请求会自动路由至正确的数据区域(US、EU、CA、AU、JP、BR)
先决条件
- Node.js v18 或更高版本(需要原生
fetch支持) - npm v8 或更高版本
- Sophos Central Partner Super Admin API 凭据 — 如何创建这些凭据,请参阅配置
安装
git clone https://github.com/rijul170/sophos-central-mcp.git
cd sophos-central-mcp
npm install
npm run build
配置
1. 创建 .env 文件
cp .env.example .env
使用你的凭据编辑 .env:
# Required
SOPHOS_CLIENT_ID=your-client-id-here
SOPHOS_CLIENT_SECRET=your-client-secret-here
# Optional — transport mode: stdio | sse | streamable-http (default: stdio)
MCP_TRANSPORT=stdio
# Optional — host for HTTP transports (default: 127.0.0.1)
MCP_HOST=127.0.0.1
# Optional — port for HTTP transports (default: 3001)
MCP_PORT=3001
2. 在 Sophos Central 中创建 API 凭据
- 登录 Sophos Central Partner Dashboard
- 前往 Settings & Policies → API Credentials Management
- 点击 Add Credential
- 将角色设置为 Service Principal Super Admin
- 复制 Client ID 和 Client Secret — 密钥仅显示一次
| 变量 | 必需 | 描述 |
|---|---|---|
SOPHOS_CLIENT_ID | 是 | Sophos Central 中的 Partner Super Admin Client ID |
SOPHOS_CLIENT_SECRET | 是 | 对应的客户端密钥 |
MCP_TRANSPORT | 否 | 传输模式:stdio、sse 或 streamable-http(默认值:stdio) |
MCP_HOST | 否 | HTTP 传输的绑定主机(默认值:127.0.0.1) |
MCP_PORT | 否 | HTTP 传输的端口(默认值:3001) |
SOPHOS_MCP_READONLY | 否 | 设置为 true 时,仅注册读取工具 — 不会向 AI 客户端公开写入和破坏性工具 |
SOPHOS_MCP_ALLOW_DESTRUCTIVE | 否 | 默认禁用破坏性工具(删除、端点隔离、Live Discover 执行、撤回等)。设置为 true 可启用所有此类工具,或使用逗号分隔的工具名称列表选择性启用 |
Claude Code 集成(HTTP 模式)
建议 Claude Code 使用 HTTP 模式 — 该模式支持并发会话,且无需在对话之间重启服务。
启动服务:
MCP_TRANSPORT=streamable-http MCP_PORT=3001 node build/index.js
或者在 .env 中设置 MCP_TRANSPORT=streamable-http 并运行:
node build/index.js
将以下内容添加到 Claude Code MCP 配置(.claude/settings.json 或全局设置):
{
"mcpServers": {
"sophos-mcp": {
"type": "http",
"url": "http://localhost:3001/mcp"
}
}
}
可通过 http://localhost:3001/health 访问 /health 端点,以检查服务是否正常运行。
Claude Desktop 集成(stdio 模式)
stdio 模式是 Claude Desktop 的标准传输方式。Claude Desktop 会直接管理服务进程。
将以下内容添加到 Claude Desktop MCP 配置(claude_desktop_config.json):
{
"mcpServers": {
"sophos-mcp": {
"command": "node",
"args": ["/path/to/sophos-central-mcp/build/index.js"],
"env": {
"SOPHOS_CLIENT_ID": "your-client-id",
"SOPHOS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
将 /path/to/sophos-central-mcp 替换为克隆仓库的绝对路径。
SSE 模式
SSE(服务器发送事件)模式适用于不支持 Streamable HTTP 的旧版 MCP 客户端。
MCP_TRANSPORT=sse MCP_PORT=3001 node build/index.js
SSE 端点可通过 http://localhost:3001/sse 访问。
工具领域
| 领域 | 工具数 | 描述 |
|---|---|---|
| 警报 | 5 | 列出、获取、确认和处理 Sophos 警报 |
| 端点 | 26 | 隔离、防篡改保护、扫描、迁移、批量操作 |
| 检测 | 7 | 基于查询的行为检测搜索、分组和计数 |
| 实时发现 | 11 | 对受管端点执行实时取证 SQL 查询 |
| XDR | 10 | 针对 Sophos XDR Data Lake 的历史 SQL 威胁搜寻 |
| 案例 | 9 | 调查案例的创建、读取、更新、关闭和证据管理 |
| 合作伙伴 | 23 | 租户枚举、管理员、角色、计费、权限集 |
| 组织 | 2 | 列出组织类型账户的租户 |
| 策略 | 7 | 对所有 Sophos 策略类型执行完整的 CRUD 操作 |
| 组 | 8 | 端点组 CRUD 和成员管理 |
| SIEM | 2 | 导出事件和警报,以集成 SIEM |
| 防火墙 | 20 | 防火墙 CRUD、组管理、固件升级 |
| DNS 防护 | 15 | 位置、策略、自定义域名允许/阻止列表 |
| 电子邮件 | 31 | 隔离区管理、邮箱、投递后的邮件撤回 |
| 目录 | 15 | 用户和用户组的完整 CRUD 操作 |
| 设置 | 16 | 防篡改保护、排除项、Web 控制、端点标签 |
| 允许/阻止 | 12 | SHA256 哈希、证书和路径允许/阻止列表 |
| 漏洞利用缓解 | 8 | 应用级漏洞利用防护排除项 |
| IPS 排除项 | 10 | 网络 IPS 和隔离排除项管理 |
| 租户管理员 | 14 | 租户管理员 CRUD、角色分配、自定义角色 |
| 账户健康状况 | 4 | 健康检查报告、延后提醒和历史健康评分 |
| 账户管理 | 4 | 账户级设置和许可证管理 |
| 审计事件 | 2 | 获取审计日志,用于合规与治理 |
| 业务自动化 | 3 | 自动化规则和业务逻辑配置 |
| 许可 | 2 | 许可证权益和使用情况查询 |
| 移动设备 | 38 | 移动设备管理 — 注册、策略、设备操作 |
| 云安全 | 6 | 云工作负载防护态势和发现结果 |
| 软件 | 9 | 安装程序下载、软件清单、软件包 |
| 交换机 | 3 | 网络交换机管理 |
| WiFi | 3 | 无线网络管理 |
| 用户活动 | 2 | 用户活动报告和会话数据 |
| Playbook | 5 | SOC 事件响应和威胁搜寻工作流指南 |
| 身份验证 | 2 | OAuth2 身份验证和 WhoAmI 身份发现 |
MSSP 多租户支持
此服务围绕 Sophos Partner Super Admin 凭据构建,可查看所有受管客户租户。
工作原理:
- 启动时,服务使用你的 Partner 凭据向 Sophos Central 进行身份验证,并识别你的组织类型(合作伙伴或组织)。
- 使用
sophos_list_tenants(组织账户使用sophos_list_org_tenants)枚举所有受管租户及其 ID。 - 将
tenantId参数传递给任何按租户范围限定的工具,以指定要操作的客户环境。 - 系统会根据租户的数据驻留区域,自动将所有 API 调用路由到正确的区域端点(US、EU、CA、AU、JP、BR)。
工作流示例:
1. sophos_list_tenants → get all tenant IDs and names
2. sophos_list_alerts → pass tenantId for a specific customer
3. sophos_isolate_endpoint → isolate an endpoint in that tenant
4. sophos_live_discover_run_query → run forensic SQL on the isolated host
SOC Playbook
此服务附带五个内置的 playbook 工具,可为常见 SOC 工作流提供结构化的分步指导。这些工具旨在调查开始时调用,以帮助明确响应方向。
| 工具 | 用途 |
|---|---|
sophos_playbook_incident_response | 端到端 IR playbook:分类 → 确定范围 → 遏制 → 修复 |
sophos_playbook_threat_hunt | 基于假设和 IOC 的威胁搜寻工作流 |
sophos_mitre_attack_guide | MITRE ATT&CK 技术到 Sophos 工具的映射 |
sophos_soc_tool_guide | 按 SOC 使用场景整理的全部 334 个工具参考指南 |
sophos_playbook_edr_investigation | 针对端点检测的 EDR 专用调查 playbook |
SOC 快速入门
服务器连接到 Claude 后,你就可以使用自然语言来执行安全运营。提示词示例:
警报分类:
"列出租户
<tenant-id>过去 24 小时内所有处于未关闭状态的严重和高危警报,并按类型分组。"
端点调查:
"隔离租户
<tenant-id>中的端点<hostname>,然后运行 Live Discover SQL 查询,列出所有正在运行的进程和活动网络连接。"
XDR 威胁搜寻:
"对租户
<tenant-id>运行 XDR Data Lake 查询,查找过去 7 天内所有使用编码命令执行的 PowerShell。"
MSSP 概览:
"列出我管理的所有租户,然后显示任何存在未关闭严重警报的租户。"
电子邮件安全:
"显示租户
<tenant-id>过去 48 小时内所有已隔离的邮件,并释放所有被标记为误报的邮件。"
开发
# Run with hot-reload (no build step required)
npm run dev
# Build TypeScript to JavaScript
npm run build
# Run the built server
npm start
# Inspect tools interactively with MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
项目结构
src/
├── index.ts # Entry point — transport setup, registers all 33 modules
├── config.ts # Environment variable validation
├── auth/
│ └── auth-manager.ts # OAuth2 token management with auto-refresh
├── client/
│ ├── sophos-client.ts # HTTP client (retry, rate limiting, backoff)
│ └── tenant-router.ts # Tenant → regional API host mapping
├── tools/ # 33 tool files, 334 tools total
│ ├── auth-tools.ts # 2 tools
│ ├── partner-tools.ts # 23 tools
│ ├── organization-tools.ts # 2 tools
│ ├── endpoint-tools.ts # 26 tools
│ ├── group-tools.ts # 8 tools
│ ├── policy-tools.ts # 7 tools
│ ├── alert-tools.ts # 5 tools
│ ├── detections-tools.ts # 7 tools
│ ├── siem-tools.ts # 2 tools
│ ├── xdr-tools.ts # 10 tools
│ ├── live-discover-tools.ts # 11 tools
│ ├── firewall-tools.ts # 20 tools
│ ├── dns-protection-tools.ts # 15 tools
│ ├── email-tools.ts # 31 tools
│ ├── directory-tools.ts # 15 tools
│ ├── settings-tools.ts # 16 tools
│ ├── allowed-blocked-tools.ts # 12 tools
│ ├── exploit-mitigation-tools.ts # 8 tools
│ ├── ips-exclusion-tools.ts # 10 tools
│ ├── tenant-admin-tools.ts # 14 tools
│ ├── account-health-tools.ts # 4 tools
│ ├── cases-tools.ts # 9 tools
│ ├── software-tools.ts # 9 tools
│ ├── audit-events-tools.ts # 2 tools
│ ├── business-automation-tools.ts # 3 tools
│ ├── licensing-tools.ts # 2 tools
│ ├── mobile-tools.ts # 38 tools
│ ├── switch-tools.ts # 3 tools
│ ├── wifi-tools.ts # 3 tools
│ ├── cloud-security-tools.ts # 6 tools
│ ├── user-activity-tools.ts # 2 tools
│ ├── account-management-tools.ts # 4 tools
│ └── playbook-tools.ts # 5 tools
└── types/
└── sophos-types.ts # TypeScript interfaces for all Sophos API types
安全注意事项
-
只读模式 — 设置
SOPHOS_MCP_READONLY=true,以便在启动时仅注册读取工具。无论 AI 客户端提出什么请求,都不会向其公开写入和破坏性工具。XDR Data Lake 和检测查询仍可用(它们属于读取分析);Live Discover 则不可用(它会在受管理的端点上执行 osquery)。 -
破坏性操作控制 — 即使启用了写入功能,破坏性工具(端点隔离、删除、邮件召回、Live Discover 执行、固件升级等)默认也会被禁用。通过
SOPHOS_MCP_ALLOW_DESTRUCTIVE明确启用。建议使用以逗号分隔的特定工具名称列表,而不是true:# Enable only endpoint isolation for IR workflows SOPHOS_MCP_ALLOW_DESTRUCTIVE=sophos_isolate_endpoint,sophos_deisolate_endpoint -
工具注释 — 每个工具都带有 MCP
readOnlyHint/destructiveHint注释,以便合规客户端应用自己的确认策略。 -
凭据处理 — API 凭据在启动时从环境变量中读取,绝不会被记录日志或传输,唯一例外是 Sophos 身份验证端点。不要将
.env文件提交到源代码管理中——.env已列入.gitignore。 -
Partner Super Admin 权限范围 — 这些凭据对所有受管理租户都拥有读写权限。请像保护特权服务账户凭据一样妥善保护它们。如果凭据泄露,请立即轮换。
-
尽可能采用只读操作 — 如果你的使用场景只需要查看信息(警报分类、威胁搜寻、报告),请考虑创建一个角色权限更受限的独立凭据。只有写入操作(隔离、策略更改、用户管理)才需要 Partner Super Admin。
-
网络绑定 — HTTP 传输默认绑定到
127.0.0.1。不要将 MCP 服务端口暴露到公共网络。如果需要远程访问,请将其置于经过身份验证的反向代理之后,或使用 VPN。 -
审计跟踪 — 通过此服务发出的所有 Sophos API 调用都会记录在 Sophos Central 的审计事件中,并可追溯到所用的 API 凭据。
相关 MCP 服务
这三种服务涵盖了安全技术栈中相辅相成的层面——网络/日志(AlertLogic)、端点保护(Sophos)以及 EDR/威胁情报(CrowdStrike)。配合使用,可实现由 AI 驱动的全栈 SOC 运营。
| 服务 | 平台 | 亮点 |
|---|---|---|
| falcon-mcp | CrowdStrike Falcon | EDR 遥测、RTR、威胁情报、MSSP Flight Control,1,296 个工具 |
| sophos-central-mcp | Sophos Central | 端点隔离、Live Discover SQL、XDR、电子邮件/防火墙/DNS,334 个工具 |
| alertlogic-mcp | Alert Logic MDR | 事件响应、SQL 日志搜索、SOAR、漏洞管理,473 个工具 |
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。