Sophos Central Mcp

io.github.rijul170由 GitHub 账号 rijul170 发布v1.1.0更新于 Oct 25, 2026

MCP server for Sophos Central — endpoint security, XDR/MDR, and MSSP multi-tenant ops

概览

AI 生成的概览

面向 Sophos Central API 的 MCP 服务器,让助手跨多个租户分诊告警、隔离终端、运行取证查询并管理安全策略。

可以做什么
分诊并处置告警、检测项和调查案件,包括确认、关闭及管理证据。调查终端:隔离与解除隔离、篡改防护、扫描、分组、策略以及允许/阻止列表。通过 Live Discover 在受管终端上运行取证 SQL,并在 XDR 数据湖中进行历史威胁狩猎。管理邮件安全(隔离区、邮箱、投递后撤回)、防火墙、DNS 防护、移动设备、交换机和 WiFi。管理租户、管理员、角色、许可、审计事件和账户健康,并使用内置 SOC 剧本进行事件响应与威胁狩猎。
适用场景
适合已在使用 Sophos Central 的 MSP/MSSP 或企业安全团队,希望从 AI 客户端而非控制台完成告警分诊、终端调查、威胁狩猎和策略管理。最适合熟悉 Sophos 概念、需要只读可见性或谨慎受控写操作的分析人员。
运行要求
以 Node.js 本地进程运行(需 Node.js v18 及以上、npm v8 及以上),支持 stdio、SSE 或 Streamable HTTP。需要以 SOPHOS_CLIENT_ID 和 SOPHOS_CLIENT_SECRET 提供的 Sophos Central Partner Super Admin API 凭据,并能访问 Sophos 各区域端点。可选变量控制传输方式、绑定主机与端口、只读模式和破坏性工具开关。
安装前请注意
该凭据为 Partner Super Admin,对所有受管客户租户具有读写权限,应视为高权限机密,泄露后立即轮换。许多工具会修改或删除数据:终端隔离、策略与用户变更、邮件撤回、固件升级和 Live Discover 执行。破坏性工具默认被抑制,需通过 SOPHOS_MCP_ALLOW_DESTRUCTIVE 显式开启;建议使用具体工具名列表而非 true,并考虑启用 SOPHOS_MCP_READONLY。不要将 HTTP 端口暴露到公网。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sophos Central Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Sophos Central MCP Server

[Node.js] [License] [MCP Protocol] [Tools] [GitHub Stars]

[Build & Test] [npm] [MCP Registry]

For MSP/MSSP teams: Manage endpoint security, email threats, and firewall policy across all your Sophos tenants through natural language. Ask Claude to investigate an alert, isolate a host, run Live Discover queries, and correlate with XDR data — without leaving your AI workflow.

Overview

A Model Context Protocol (MCP) server for the Sophos Central API, enabling AI-powered security operations through Claude and other MCP-compatible clients. Designed for MSP/MSSP environments with Partner Super Admin credentials, it provides multi-tenant management across all customer tenants from a single server instance — covering endpoint protection, threat detection, Live Discover forensics, XDR hunting, email security, firewall management, and more.

Features

  • 334 tools across 33 API domains — comprehensive Sophos Central API coverage
  • Multi-tenant MSSP support — enumerate and target any customer tenant via Partner Super Admin credentials
  • Endpoint isolation and investigation — isolate endpoints, check tamper protection, trigger scans
  • Alert triage — list, filter, acknowledge, and action Sophos alerts across tenants
  • Live Discover SQL queries — run real-time forensic SQL queries directly on managed endpoints
  • XDR Data Lake hunting — historical threat hunting with SQL against the Sophos XDR data lake
  • Threat detections — query, group, and count behavioral detections
  • Case management — create and manage investigation cases end-to-end
  • Email security — quarantine management, mailbox listing, post-delivery message clawback
  • Firewall management — CRUD operations, group management, firmware upgrades
  • DNS protection — location policies, custom domain allow/block lists
  • SOC playbooks — built-in sophos_playbook_* tools for guided IR and threat hunting workflows
  • Three transport modes — stdio (Claude Desktop), SSE, and Streamable HTTP (Claude Code)
  • Automatic OAuth2 token management — token refresh with no manual intervention
  • Regional routing — requests automatically routed to the correct data region (US, EU, CA, AU, JP, BR)

Prerequisites

  • Node.js v18 or later (native fetch support required)
  • npm v8 or later
  • Sophos Central Partner Super Admin API credentials — see Configuration for how to create these

Installation

bash
git clone https://github.com/rijul170/sophos-central-mcp.gitcd sophos-central-mcpnpm installnpm run build

Configuration

1. Create a .env file

bash
cp .env.example .env

Edit .env with your credentials:

env
# RequiredSOPHOS_CLIENT_ID=your-client-id-hereSOPHOS_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. Create API Credentials in Sophos Central

  1. Log in to Sophos Central Partner Dashboard
  2. Navigate to Settings & Policies → API Credentials Management
  3. Click Add Credential
  4. Set the role to Service Principal Super Admin
  5. Copy the Client ID and Client Secret — the secret is displayed only once
VariableRequiredDescription
SOPHOS_CLIENT_IDYesPartner Super Admin Client ID from Sophos Central
SOPHOS_CLIENT_SECRETYesCorresponding client secret
MCP_TRANSPORTNoTransport mode: stdio, sse, or streamable-http (default: stdio)
MCP_HOSTNoBind host for HTTP transports (default: 127.0.0.1)
MCP_PORTNoPort for HTTP transports (default: 3001)
SOPHOS_MCP_READONLYNoSet to true to register only read tools — write and destructive tools are never exposed to the AI client
SOPHOS_MCP_ALLOW_DESTRUCTIVENoDestructive tools (deletes, endpoint isolation, Live Discover execution, clawback, ...) are suppressed by default. Set to true to arm all of them, or a comma-separated list of tool names to arm selectively

Claude Code Integration (HTTP Mode)

HTTP mode is recommended for Claude Code — it supports concurrent sessions and does not require restarting the server between conversations.

Start the server:

bash
MCP_TRANSPORT=streamable-http MCP_PORT=3001 node build/index.js

Or set MCP_TRANSPORT=streamable-http in your .env and run:

bash
node build/index.js

Add to your Claude Code MCP configuration (.claude/settings.json or global settings):

json
{  "mcpServers": {    "sophos-mcp": {      "type": "http",      "url": "http://localhost:3001/mcp"    }  }}

A /health endpoint is available at http://localhost:3001/health for liveness checks.

Claude Desktop Integration (stdio Mode)

stdio mode is the standard transport for Claude Desktop. The server process is managed by Claude Desktop directly.

Add to your Claude Desktop MCP configuration (claude_desktop_config.json):

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"      }    }  }}

Replace /path/to/sophos-central-mcp with the absolute path to your cloned repository.

SSE Mode

SSE (Server-Sent Events) mode is available for legacy MCP clients that do not support Streamable HTTP.

bash
MCP_TRANSPORT=sse MCP_PORT=3001 node build/index.js

The SSE endpoint is available at http://localhost:3001/sse.

Tool Domains

DomainToolsDescription
Alerts5List, get, acknowledge, and action Sophos alerts
Endpoint26Isolation, tamper protection, scans, migrations, bulk operations
Detections7Query-based behavioral detection search, grouping, and counts
Live Discover11Real-time forensic SQL queries on managed endpoints
XDR10Historical SQL hunting against the Sophos XDR Data Lake
Cases9Investigation case create, read, update, close, and evidence management
Partner23Tenant enumeration, admins, roles, billing, permission sets
Organization2Tenant listing for organization-type accounts
Policy7Full CRUD for all Sophos policy types
Group8Endpoint group CRUD and member management
SIEM2Events and alerts export for SIEM integration
Firewall20Firewall CRUD, group management, firmware upgrades
DNS Protection15Locations, policies, custom domain allow/block lists
Email31Quarantine management, mailboxes, post-delivery message clawback
Directory15User and user group full CRUD
Settings16Tamper protection, exclusions, web control, endpoint tags
Allowed/Blocked12SHA256 hash, certificate, and path allow/block lists
Exploit Mitigation8Application-level exploit protection exclusions
IPS Exclusion10Network IPS and isolation exclusion management
Tenant Admin14Tenant admin CRUD, role assignments, custom roles
Account Health4Health check reports, snooze, and historical health scores
Account Management4Account-level settings and license management
Audit Events2Audit log retrieval for compliance and governance
Business Automation3Automation rules and business logic configuration
Licensing2License entitlement and usage queries
Mobile38Mobile device management — enrollment, policies, device actions
Cloud Security6Cloud workload protection posture and findings
Software9Installer downloads, software inventory, packages
Switch3Network switch management
WiFi3Wireless network management
User Activity2User activity reporting and session data
Playbooks5SOC incident response and threat hunting workflow guides
Auth2OAuth2 authentication and WhoAmI identity discovery

MSSP Multi-Tenant Support

The server is built around Sophos Partner Super Admin credentials, which have visibility across all managed customer tenants.

How it works:

  1. On startup, the server authenticates to Sophos Central using your Partner credentials and discovers your organization type (partner or organization).
  2. Use sophos_list_tenants (or sophos_list_org_tenants for organization accounts) to enumerate all managed tenants and their IDs.
  3. Pass the tenantId parameter to any tenant-scoped tool to target a specific customer environment.
  4. All API calls are automatically routed to the correct regional endpoint (US, EU, CA, AU, JP, BR) based on the tenant's data residency.

Example workflow:

1. sophos_list_tenants          → get all tenant IDs and names2. sophos_list_alerts           → pass tenantId for a specific customer3. sophos_isolate_endpoint      → isolate an endpoint in that tenant4. sophos_live_discover_run_query → run forensic SQL on the isolated host

SOC Playbooks

The server ships with five built-in playbook tools that provide structured, step-by-step guidance for common SOC workflows. These are designed to be invoked at the start of an investigation to orient the response.

ToolPurpose
sophos_playbook_incident_responseEnd-to-end IR playbook: triage → scope → contain → remediate
sophos_playbook_threat_huntHypothesis-driven and IOC-based threat hunting workflows
sophos_mitre_attack_guideMITRE ATT&CK technique-to-Sophos-tool mapping
sophos_soc_tool_guideReference guide for all 334 tools organized by SOC use case
sophos_playbook_edr_investigationEDR-specific investigation playbook for endpoint detections

SOC Quick Start

Once the server is connected to Claude, you can use natural language to drive security operations. Example prompts:

Alert triage:

"List all critical and high severity open alerts for tenant <tenant-id> from the last 24 hours, grouped by type."

Endpoint investigation:

"Isolate endpoint <hostname> in tenant <tenant-id>, then run a Live Discover SQL query to list all running processes and active network connections."

XDR threat hunting:

"Run an XDR Data Lake query against tenant <tenant-id> to find any PowerShell executions with encoded commands in the last 7 days."

MSSP overview:

"Enumerate all my managed tenants, then show me any tenants with open critical alerts."

Email security:

"Show me all quarantined messages for tenant <tenant-id> in the last 48 hours and release any flagged as false positives."

Development

bash
# Run with hot-reload (no build step required)npm run dev
# Build TypeScript to JavaScriptnpm run build
# Run the built servernpm start
# Inspect tools interactively with MCP Inspectornpx @modelcontextprotocol/inspector node build/index.js

Project Structure

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

Security Considerations

  • Read-only mode — set SOPHOS_MCP_READONLY=true to register only read tools at startup. Write and destructive tools are never exposed to the AI client, regardless of what is asked. XDR Data Lake and detections queries stay available (they are read analytics); Live Discover does not (it executes osquery on managed endpoints).

  • Destructive operation gating — even with writes enabled, destructive tools (endpoint isolation, deletes, email clawback, Live Discover execution, firmware upgrades, ...) are suppressed by default. Arm them explicitly via SOPHOS_MCP_ALLOW_DESTRUCTIVE. The recommended approach is a comma-separated list of specific tool names rather than true:

    bash
    # Enable only endpoint isolation for IR workflowsSOPHOS_MCP_ALLOW_DESTRUCTIVE=sophos_isolate_endpoint,sophos_deisolate_endpoint
  • Tool annotations — every tool carries MCP readOnlyHint/destructiveHint annotations so compliant clients can apply their own confirmation policies.

  • Credential handling — API credentials are read from environment variables at startup and are never logged or transmitted except to the Sophos authentication endpoint. Do not commit .env files to source control — .env is listed in .gitignore.

  • Partner Super Admin scope — these credentials have read/write access across all managed tenants. Treat them with the same care as privileged service account credentials. Rotate them immediately if compromised.

  • Read-only operations where possible — where your use case only requires visibility (alert triage, threat hunting, reporting), consider creating a separate credential with a more restricted role. Partner Super Admin is required only for write operations (isolation, policy changes, user management).

  • Network binding — HTTP transports default to 127.0.0.1. Do not expose the MCP server port publicly. If you need remote access, put it behind an authenticated reverse proxy or use a VPN.

  • Audit trail — all Sophos API calls made through this server are logged in Sophos Central's audit events, attributable to the API credential used.

Related MCP Servers

These three servers cover complementary layers of a security stack — network/log (AlertLogic), endpoint protection (Sophos), and EDR/threat intel (CrowdStrike). Use them together for full-stack AI-powered SOC operations.

ServerPlatformHighlights
falcon-mcpCrowdStrike FalconEDR telemetry, RTR, threat intel, MSSP Flight Control, 1,296 tools
sophos-central-mcpSophos CentralEndpoint isolation, Live Discover SQL, XDR, email/firewall/DNS, 334 tools
alertlogic-mcpAlert Logic MDRIncident response, SQL log search, SOAR, vulnerability management, 473 tools

License

MIT

来源:README.md,提交 320d28a

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分