sophos-central-mcp について
sophos-central-mcpは、顧客テナントを管理するMSP・MSSPチーム向けのSophos Centralセキュリティ運用用MCPサーバーです。エンドポイント、メール、ファイアウォール、調査のツールを統合し、テナント別ルーティングと書き込み・破壊的操作の制御に対応します。
主な機能
- 0133のAPIドメインにまたがる334ツール
- 02複数の顧客テナントの管理
- 03エンドポイントの隔離、スキャン、調査
- 04Live DiscoverとXDRのSQLクエリ
- 05メール、ファイアウォール、DNS保護の管理
- 06読み取り専用モードと破壊的操作の制御
活用シーン
- 01顧客テナントを横断したアラートのトリアージ
- 02Live Discoverによるエンドポイント調査
- 03XDR Data Lakeでの過去の脅威ハンティング
- 04メール隔離とファイアウォールポリシーの管理
MCP 対応
stdio、SSE、Streamable HTTPを通じてSophos Central APIの操作をMCPクライアントに公開します。OAuth2トークンの更新と、テナントに応じたリージョンへのルーティングをサーバーが処理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sophos Central MCP サーバー
MSP/MSSP チーム向け: 自然言語で、すべての Sophos テナントにわたるエンドポイントセキュリティ、メールの脅威、ファイアウォールポリシーを管理できます。Claude にアラートの調査、ホストの隔離、Live Discover クエリの実行、XDR データとの相関分析を依頼できます。AI ワークフローから離れる必要はありません。
概要
Sophos Central API 用の Model Context Protocol(MCP)サーバーです。Claude やその他の MCP 対応クライアントを通じて、AI を活用したセキュリティ運用を実現します。Partner Super Admin の認証情報を使用する MSP/MSSP 環境向けに設計されており、単一のサーバーインスタンスからすべての顧客テナントを対象としたマルチテナント管理を提供します。エンドポイント保護、脅威検知、Live Discover フォレンジック、XDR ハンティング、メールセキュリティ、ファイアウォール管理などを網羅しています。
機能
- 33 の API ドメインにわたる 334 個のツール — Sophos Central API を幅広く網羅
- マルチテナント MSSP サポート — Partner Super Admin の認証情報を使用して、任意の顧客テナントを列挙して対象に指定
- エンドポイントの隔離と調査 — エンドポイントの隔離、改ざん防止の確認、スキャンの開始
- アラートのトリアージ — テナント間で Sophos アラートの一覧表示、フィルタリング、確認、対応
- Live Discover SQL クエリ — 管理対象エンドポイント上でリアルタイムのフォレンジック SQL クエリを直接実行
- XDR Data Lake ハンティング — Sophos XDR データレイクに対する SQL を使用した過去の脅威ハンティング
- 脅威検知 — 振る舞い検知の検索、グループ化、件数の集計
- ケース管理 — 調査ケースを最初から最後まで作成、管理
- メールセキュリティ — 隔離管理、メールボックス一覧表示、配信後のメッセージ回収
- ファイアウォール管理 — CRUD 操作、グループ管理、ファームウェアのアップグレード
- DNS 保護 — ロケーションポリシー、カスタムドメインの許可/ブロックリスト
- SOC プレイブック — IR と脅威ハンティングのワークフローをガイドする組み込みの
sophos_playbook_*ツール - 3 つのトランスポートモード — 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(Server-Sent Events)モードは、Streamable HTTP に対応していないレガシー MCP クライアント向けに利用できます。
MCP_TRANSPORT=sse MCP_PORT=3001 node build/index.js
SSE エンドポイントは http://localhost:3001/sse で利用できます。
ツールドメイン
| ドメイン | ツール | 説明 |
|---|---|---|
| アラート | 5 | Sophos アラートの一覧表示、取得、確認、および対応 |
| エンドポイント | 26 | 隔離、改ざん防止、スキャン、移行、一括操作 |
| 検知 | 7 | クエリベースの振る舞い検知の検索、グループ化、件数確認 |
| Live Discover | 11 | 管理対象エンドポイントに対するリアルタイムのフォレンジック SQL クエリ |
| XDR | 10 | Sophos XDR Data Lake に対する過去データの SQL ハンティング |
| ケース | 9 | 調査ケースの作成、読み取り、更新、クローズ、および証拠管理 |
| パートナー | 23 | テナントの列挙、管理者、ロール、請求、権限セット |
| 組織 | 2 | 組織タイプのアカウントのテナント一覧表示 |
| ポリシー | 7 | すべての Sophos ポリシータイプに対する完全な CRUD |
| グループ | 8 | エンドポイントグループの CRUD とメンバー管理 |
| SIEM | 2 | SIEM 統合用のイベントとアラートのエクスポート |
| ファイアウォール | 20 | ファイアウォールの CRUD、グループ管理、ファームウェアのアップグレード |
| DNS Protection | 15 | ロケーション、ポリシー、カスタムドメインの許可/ブロックリスト |
| メール | 31 | 検疫管理、メールボックス、配信後のメッセージ取り消し |
| ディレクトリ | 15 | ユーザーとユーザーグループの完全な CRUD |
| 設定 | 16 | 改ざん防止、除外、ウェブコントロール、エンドポイントタグ |
| 許可/ブロック | 12 | SHA256 ハッシュ、証明書、パスの許可/ブロックリスト |
| エクスプロイト対策 | 8 | アプリケーションレベルのエクスプロイト保護の除外 |
| IPS 除外 | 10 | ネットワーク IPS と隔離の除外管理 |
| テナント管理者 | 14 | テナント管理者の CRUD、ロール割り当て、カスタムロール |
| アカウントの健全性 | 4 | 健全性チェックレポート、スヌーズ、過去の健全性スコア |
| アカウント管理 | 4 | アカウントレベルの設定とライセンス管理 |
| 監査イベント | 2 | コンプライアンスとガバナンスのための監査ログ取得 |
| ビジネスオートメーション | 3 | 自動化ルールとビジネスロジックの設定 |
| ライセンス | 2 | ライセンスの利用資格と使用状況のクエリ |
| モバイル | 38 | モバイルデバイス管理 — 登録、ポリシー、デバイス操作 |
| クラウドセキュリティ | 6 | クラウドワークロード保護の状態と検出事項 |
| ソフトウェア | 9 | インストーラーのダウンロード、ソフトウェアインベントリ、パッケージ |
| スイッチ | 3 | ネットワークスイッチ管理 |
| WiFi | 3 | ワイヤレスネットワーク管理 |
| ユーザーアクティビティ | 2 | ユーザーアクティビティのレポートとセッションデータ |
| プレイブック | 5 | SOC のインシデント対応と脅威ハンティングのワークフローガイド |
| 認証 | 2 | OAuth2 認証と WhoAmI による ID 検出 |
MSSP マルチテナントサポート
このサーバーは、管理対象のすべての顧客テナントを可視化できる Sophos Partner Super Admin の認証情報を中心に構築されています。
仕組み:
- 起動時に、サーバーはパートナーの認証情報を使用して 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 プレイブック
このサーバーには、一般的な SOC ワークフローに関する構造化された段階的ガイダンスを提供する、5 つの組み込みプレイブックツールが付属しています。これらは調査の開始時に呼び出し、対応の方向性を定めるために設計されています。
| ツール | 目的 |
|---|---|
sophos_playbook_incident_response | エンドツーエンドの IR プレイブック:トリアージ → 範囲特定 → 封じ込め → 修復 |
sophos_playbook_threat_hunt | 仮説主導型および IOC ベースの脅威ハンティングワークフロー |
sophos_mitre_attack_guide | MITRE ATT&CK の手法と Sophos ツールの対応付け |
sophos_soc_tool_guide | SOC のユースケース別に整理された全 334 ツールのリファレンスガイド |
sophos_playbook_edr_investigation | エンドポイント検知に関する EDR 専用の調査プレイブック |
SOC クイックスタート
サーバーを Claude に接続すると、自然言語でセキュリティ運用を実行できます。プロンプトの例:
アラートのトリアージ:
「過去 24 時間にテナント
<tenant-id>で発生した、未解決の重大および高深刻度のアラートをすべて種類別に一覧表示してください。」
エンドポイントの調査:
「テナント
<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 サーバー
これら 3 つのサーバーは、セキュリティスタックの相互補完的なレイヤー(ネットワーク/ログ(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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。