sophos-central-mcp-server 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +113 -58
- package/dist/tools/firewall.d.ts.map +1 -1
- package/dist/tools/firewall.js +22 -2
- package/dist/tools/firewall.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -1,56 +1,49 @@
|
|
|
1
1
|
# Sophos Central MCP Server
|
|
2
2
|
|
|
3
|
-
MCP (Model Context Protocol) server for interacting with Sophos Central APIs. Supports partner, organisation, and single-tenant credential types with automatic region routing. **288 tools** covering 20 Sophos API namespaces.
|
|
3
|
+
MCP (Model Context Protocol) server for interacting with Sophos Central APIs. Supports partner, organisation, and single-tenant credential types with automatic region routing. **288 tools** covering 20 Sophos API namespaces. Install it as a Claude Desktop extension (`.mcpb`), run it with npx, or host it yourself over streamable HTTP.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Prerequisites
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
You need these before any of the install options below.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
### Sophos Central API credentials
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Every install method needs a Client ID and Client Secret. The credential type decides what the server can see:
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"sophos-central": {
|
|
17
|
-
"command": "npx",
|
|
18
|
-
"args": ["-y", "sophos-central-mcp-server"],
|
|
19
|
-
"env": {
|
|
20
|
-
"SOPHOS_CLIENT_ID": "your-client-id",
|
|
21
|
-
"SOPHOS_CLIENT_SECRET": "your-client-secret",
|
|
22
|
-
"TRANSPORT": "stdio"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
```
|
|
13
|
+
- **Tenant-level**: In Sophos Central, go to **Settings > API Credentials Management** and create a new credential. The server operates on that one tenant.
|
|
14
|
+
- **Partner-level**: In the Sophos Partner Dashboard, create API credentials under **Settings > API Credentials**. The server can query every tenant the partner manages.
|
|
15
|
+
- **Organisation-level**: In Sophos Central Enterprise, use **Global Settings > API Credentials Management**. Same cross-tenant behaviour as partner credentials.
|
|
28
16
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"args": ["/c", "npx", "-y", "sophos-central-mcp-server"],
|
|
37
|
-
"env": {
|
|
38
|
-
"SOPHOS_CLIENT_ID": "your-client-id",
|
|
39
|
-
"SOPHOS_CLIENT_SECRET": "your-client-secret",
|
|
40
|
-
"TRANSPORT": "stdio"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
```
|
|
17
|
+
### Node.js 20 or later (npm and self-hosted installs only)
|
|
18
|
+
|
|
19
|
+
The `.mcpb` bundle for Claude Desktop does not need Node.js on your machine: Claude Desktop ships its own Node.js runtime and the bundle carries the server and all of its dependencies. Install Node.js 20+ only if you use the Claude Code or self-hosted options.
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
Pick one:
|
|
46
24
|
|
|
47
|
-
|
|
25
|
+
| Option | Best for | Needs Node.js? |
|
|
26
|
+
|--------|----------|----------------|
|
|
27
|
+
| [Claude Desktop extension (.mcpb)](#option-1-claude-desktop-extension-mcpb-recommended) | Claude Desktop users who want a two-minute install | No |
|
|
28
|
+
| [Claude Code](#option-2-claude-code) | Terminal use with Claude Code | Yes |
|
|
29
|
+
| [Self-hosted with npm](#option-3-self-hosted-with-npm-streamable-http-or-stdio) | Running the server yourself for any MCP client, over streamable HTTP or stdio | Yes |
|
|
48
30
|
|
|
49
|
-
|
|
31
|
+
### Option 1: Claude Desktop extension (.mcpb, recommended)
|
|
50
32
|
|
|
51
|
-
|
|
33
|
+
The `.mcpb` file is an [MCP Bundle](https://github.com/modelcontextprotocol/mcpb): a zip containing the built server, its production dependencies, and a manifest that tells Claude Desktop how to run it and which settings to ask for. No terminal and no config file edits.
|
|
52
34
|
|
|
53
|
-
|
|
35
|
+
1. Download `sophos-central-mcp-server-<version>.mcpb` from the [latest GitHub release](https://github.com/Aaronjacobs000/sophos-central-mcp/releases/latest).
|
|
36
|
+
2. Open the file with Claude Desktop. Double-clicking it works on macOS and Windows. You can also go to **Settings > Extensions > Advanced settings**, find the **Extension Developer** section, click **Install Extension...** and pick the file.
|
|
37
|
+
3. Claude Desktop shows the extension details and asks for your **Sophos Central Client ID** and **Client Secret**. Both fields are marked sensitive in the manifest, so Claude Desktop keeps them in the operating system's secure storage instead of a config file.
|
|
38
|
+
4. Click **Install**, make sure the extension is enabled, then start a new chat. The `sophos_*` tools are available straight away.
|
|
39
|
+
|
|
40
|
+
To update, download the newer `.mcpb` and install it the same way. To remove it, open **Settings > Extensions** and uninstall the extension.
|
|
41
|
+
|
|
42
|
+
The bundle runs the server in stdio mode and sets `TRANSPORT=stdio` for you. Which tools you get depends on the credential type, exactly as with the other install options: partner and organisation credentials unlock the cross-tenant tools, tenant credentials do not.
|
|
43
|
+
|
|
44
|
+
### Option 2: Claude Code
|
|
45
|
+
|
|
46
|
+
Requires Node.js. Run this once in your terminal. The `-e` flags save the credentials permanently to Claude Code's MCP config so you don't need to re-export them each session:
|
|
54
47
|
|
|
55
48
|
**macOS / Linux:**
|
|
56
49
|
|
|
@@ -72,16 +65,82 @@ claude mcp add sophos-central ^
|
|
|
72
65
|
-- cmd /c npx -y sophos-central-mcp-server
|
|
73
66
|
```
|
|
74
67
|
|
|
68
|
+
### Option 3: Self-hosted with npm (streamable HTTP or stdio)
|
|
69
|
+
|
|
70
|
+
Use this when you want to run the server yourself, on a workstation, a jump box, or in a container, for any MCP client that speaks streamable HTTP or can spawn a stdio process. Nothing here depends on the `.mcpb` bundle.
|
|
71
|
+
|
|
72
|
+
**Install from npm:**
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install -g sophos-central-mcp-server
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Or from source:**
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
git clone https://github.com/Aaronjacobs000/sophos-central-mcp.git
|
|
82
|
+
cd sophos-central-mcp
|
|
83
|
+
npm install
|
|
84
|
+
npm run build
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Configure.** Either export the variables in your shell or put them in a `.env` file in the directory you start the server from. The full table is under [Configuration](#configuration).
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
SOPHOS_CLIENT_ID=your-client-id
|
|
91
|
+
SOPHOS_CLIENT_SECRET=your-client-secret
|
|
92
|
+
PORT=3100
|
|
93
|
+
TRANSPORT=http
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Run:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
sophos-central-mcp # global npm install
|
|
100
|
+
npm start # from a source checkout
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
With `TRANSPORT=http` (the default) the server listens on `http://127.0.0.1:3100/mcp` and answers `GET /health` with `{"status":"ok"}`. The MCP endpoint is stateless: every request gets a fresh transport. Point any streamable HTTP client at it, for example Claude Code:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
claude mcp add --transport http sophos-central http://127.0.0.1:3100/mcp
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
With `TRANSPORT=stdio` the server speaks MCP over stdin/stdout and is meant to be spawned by the client, which is what Options 1 and 2 do for you.
|
|
110
|
+
|
|
111
|
+
The HTTP server binds to `127.0.0.1` only and has no authentication of its own. If it needs to be reachable from another host, put it behind something that adds TLS and auth (an SSH tunnel or an authenticating reverse proxy) rather than changing the bind address.
|
|
112
|
+
|
|
113
|
+
### Build the .mcpb yourself (maintainers)
|
|
114
|
+
|
|
115
|
+
The bundle is produced by `scripts/build-mcpb.mjs` using the `mcpb` CLI, which is a dev dependency. From a source checkout:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npm install
|
|
119
|
+
npm run build:mcpb
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The script:
|
|
123
|
+
|
|
124
|
+
1. Compiles TypeScript to `dist/` (via `npm run build`).
|
|
125
|
+
2. Rewrites `manifest.json` so its `version` matches `package.json` and its `tools` list matches every `registerTool` call in `src/tools/`. Commit the result. The manifest in git is always the one that was last built.
|
|
126
|
+
3. Validates the manifest with `mcpb validate`.
|
|
127
|
+
4. Stages `dist/`, `package.json`, `LICENSE`, and `manifest.json` in `build/mcpb/` and runs `npm ci --omit=dev` there, so only production dependencies are bundled. `.mcpbignore` adds a few exclusions on top of the CLI's defaults.
|
|
128
|
+
5. Packs the staging directory into `release/sophos-central-mcp-server-<version>.mcpb`.
|
|
129
|
+
|
|
130
|
+
`build/` and `release/` are git-ignored. To inspect a bundle without installing it, `npx mcpb info release/<file>.mcpb` prints its size and signature state, and `npx mcpb unpack release/<file>.mcpb <dir>` extracts it. Signing is optional; `npx mcpb sign --self-signed release/<file>.mcpb` adds a self-signed signature if you want one.
|
|
131
|
+
|
|
132
|
+
**Cutting a release:** bump `version` in `package.json`, run `npm run build:mcpb`, commit `package.json`, `package-lock.json`, and `manifest.json`, tag, and attach the `.mcpb` from `release/` to the GitHub release. Publish to npm as before so the Claude Code and self-hosted options pick up the same version.
|
|
75
133
|
|
|
76
134
|
## Features
|
|
77
135
|
|
|
78
136
|
- **Universal caller support**: Works with partner, organisation, and tenant-level API credentials
|
|
79
137
|
- **Multi-tenant**: Partner/org callers can query across all managed tenants
|
|
80
|
-
- **Partner gap analysis**: Single-call sales opportunity report across all managed tenants
|
|
138
|
+
- **Partner gap analysis**: Single-call sales opportunity report across all managed tenants. Fetches health data in parallel and returns a compact ranked list of security gaps per customer
|
|
81
139
|
- **Auto region routing**: Discovers tenant data regions via `/whoami/v1` and routes requests to the correct regional API host
|
|
82
140
|
- **Token lifecycle**: Automatic OAuth2 token refresh before expiry
|
|
83
141
|
- **Rate limit handling**: Retry with backoff on 429 responses
|
|
84
|
-
- **Dual transport**:
|
|
142
|
+
- **Dual transport**: stdio (Claude Desktop, Claude Code, and the `.mcpb` bundle) or streamable HTTP (self-hosted)
|
|
143
|
+
- **One-click install**: Ships as a Claude Desktop extension (`.mcpb`) with credentials held in the OS secure store
|
|
85
144
|
- **Full API coverage**: 288 tools across endpoints, alerts, policies, firewalls, web filtering, licensing, audit events, email, mobile, XDR, cases, SIEM, and more
|
|
86
145
|
|
|
87
146
|
## Screenshots
|
|
@@ -96,21 +155,10 @@ claude mcp add sophos-central ^
|
|
|
96
155
|
|
|
97
156
|

|
|
98
157
|
|
|
99
|
-
## Prerequisites
|
|
100
|
-
|
|
101
|
-
- Node.js 20 or later
|
|
102
|
-
- Sophos Central API credentials (Client ID + Client Secret)
|
|
103
|
-
|
|
104
|
-
### Creating API Credentials
|
|
105
|
-
|
|
106
|
-
**Tenant-level**: In Sophos Central, go to **Settings > API Credentials Management** and create a new credential.
|
|
107
|
-
|
|
108
|
-
**Partner-level**: In the Sophos Partner Dashboard, create API credentials under **Settings > API Credentials**.
|
|
109
|
-
|
|
110
|
-
**Organisation-level**: In Sophos Central Enterprise, use **Global Settings > API Credentials Management**.
|
|
111
|
-
|
|
112
158
|
## Configuration
|
|
113
159
|
|
|
160
|
+
Applies to the Claude Code and self-hosted options. The Claude Desktop extension asks for the credentials in its install dialog and sets `TRANSPORT=stdio` itself.
|
|
161
|
+
|
|
114
162
|
Copy `.env.example` to `.env` and set your credentials:
|
|
115
163
|
|
|
116
164
|
```
|
|
@@ -124,9 +172,9 @@ TRANSPORT=http
|
|
|
124
172
|
|----------|----------|---------|-------------|
|
|
125
173
|
| `SOPHOS_CLIENT_ID` | Yes | - | OAuth2 client ID |
|
|
126
174
|
| `SOPHOS_CLIENT_SECRET` | Yes | - | OAuth2 client secret |
|
|
127
|
-
| `SOPHOS_TENANT_ID` | No | - | Lock to a single tenant (useful for tenant-level creds) |
|
|
128
175
|
| `PORT` | No | 3100 | HTTP server port |
|
|
129
176
|
| `TRANSPORT` | No | http | `http` for streamable HTTP, `stdio` for subprocess mode |
|
|
177
|
+
| `CHARACTER_LIMIT` | No | 50000 | Maximum characters per tool response before truncation (minimum 10000) |
|
|
130
178
|
|
|
131
179
|
## Tools
|
|
132
180
|
|
|
@@ -407,7 +455,11 @@ Async API — run OSquery SQL on live endpoints. Rate limited to 10 runs/minute,
|
|
|
407
455
|
| `sophos_import_firewall_config` | Upload and import a config archive into firewalls |
|
|
408
456
|
|
|
409
457
|
Config import/export requires the firewall to run SFOS v22 MR2 or later, be
|
|
410
|
-
managed by Sophos Central, and hold an active license.
|
|
458
|
+
managed by Sophos Central, and hold an active license. On an HA pair, target
|
|
459
|
+
the primary node (the auxiliary rejects config operations). The exported
|
|
460
|
+
archive can appear in storage a couple of minutes after the transaction
|
|
461
|
+
reports finished; `sophos_download_firewall_backup` retries automatically
|
|
462
|
+
for about 3 minutes to cover that window.
|
|
411
463
|
|
|
412
464
|
### Email Protection (29 tools)
|
|
413
465
|
|
|
@@ -648,6 +700,8 @@ src/
|
|
|
648
700
|
└── types/sophos.ts # Sophos API response types
|
|
649
701
|
```
|
|
650
702
|
|
|
703
|
+
Packaging files at the repo root: `manifest.json` (MCPB manifest, regenerated by the build), `scripts/build-mcpb.mjs` (bundle builder), and `.mcpbignore` (extra exclusions applied when packing).
|
|
704
|
+
|
|
651
705
|
## Security
|
|
652
706
|
|
|
653
707
|
- Credentials are read from environment variables only, never logged
|
|
@@ -655,6 +709,7 @@ src/
|
|
|
655
709
|
- HTTP server binds to `127.0.0.1` (localhost only)
|
|
656
710
|
- Write actions have `destructiveHint` annotations so clients can warn users
|
|
657
711
|
- Partner/org callers require explicit `tenant_id` on every call
|
|
712
|
+
- With the `.mcpb` install, Claude Desktop holds the credentials in the OS secure store (they are `sensitive` in `manifest.json`) and hands them to the server as environment variables when it starts the process
|
|
658
713
|
|
|
659
714
|
## License
|
|
660
715
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firewall.d.ts","sourceRoot":"","sources":["../../src/tools/firewall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKnE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"firewall.d.ts","sourceRoot":"","sources":["../../src/tools/firewall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKnE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,CAsrCN"}
|
package/dist/tools/firewall.js
CHANGED
|
@@ -722,6 +722,9 @@ FirewallRule, NATRule, WebFilterPolicy, VPNIPSecConnection, Certificate.
|
|
|
722
722
|
See the ExportableEntity list in the Firewall Management API guide for all
|
|
723
723
|
valid entity names.
|
|
724
724
|
|
|
725
|
+
On a firewall running as an HA pair, target the PRIMARY node. The auxiliary
|
|
726
|
+
node rejects exports with "Configuration not allowed on auxiliary firewall".
|
|
727
|
+
|
|
725
728
|
Args:
|
|
726
729
|
- firewall_id (string): The firewall ID to export.
|
|
727
730
|
- full_export (boolean, optional): Export the full configuration (default true).
|
|
@@ -826,6 +829,10 @@ Checks the export transaction; if the export has finished, downloads the
|
|
|
826
829
|
archive from its pre-signed URL and saves it to output_path. If the export
|
|
827
830
|
is still running, returns the current status so you can retry shortly.
|
|
828
831
|
|
|
832
|
+
The archive can appear in storage up to a couple of minutes AFTER the
|
|
833
|
+
transaction reports finished; this tool retries the download automatically
|
|
834
|
+
for about 3 minutes before failing, so a single call normally suffices.
|
|
835
|
+
|
|
829
836
|
Typical flow: sophos_export_firewall_config, then call this tool with the
|
|
830
837
|
returned transaction_id.
|
|
831
838
|
|
|
@@ -871,9 +878,22 @@ Args:
|
|
|
871
878
|
});
|
|
872
879
|
}
|
|
873
880
|
// Pre-signed URL: plain fetch, no Sophos auth headers.
|
|
874
|
-
|
|
881
|
+
// The storage object can lag the "finished" transaction status by a
|
|
882
|
+
// couple of minutes, so a 404 from an unexpired URL means "not there
|
|
883
|
+
// yet", not "expired". Retry before failing.
|
|
884
|
+
const RETRY_DELAY_MS = 15_000;
|
|
885
|
+
const MAX_ATTEMPTS = 13;
|
|
886
|
+
const expiresAt = txn.response?.expiresAt;
|
|
887
|
+
const urlExpired = () => expiresAt !== undefined && Date.now() > Date.parse(expiresAt);
|
|
888
|
+
let dl = await fetch(downloadUrl);
|
|
889
|
+
for (let attempt = 1; !dl.ok && dl.status === 404 && !urlExpired() && attempt < MAX_ATTEMPTS; attempt++) {
|
|
890
|
+
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS));
|
|
891
|
+
dl = await fetch(downloadUrl);
|
|
892
|
+
}
|
|
875
893
|
if (!dl.ok) {
|
|
876
|
-
throw new Error(
|
|
894
|
+
throw new Error(dl.status === 404 && !urlExpired()
|
|
895
|
+
? `Backup download failed (404): the transaction reports finished but the archive has not appeared in storage yet, even after retrying for ~${Math.round((RETRY_DELAY_MS * (MAX_ATTEMPTS - 1)) / 60000)} minutes. Retry this tool shortly; the pre-signed URL is valid until ${expiresAt}.`
|
|
896
|
+
: `Backup download failed (${dl.status}). The pre-signed URL may have expired (expiresAt: ${expiresAt}). Re-run sophos_export_firewall_config.`);
|
|
877
897
|
}
|
|
878
898
|
const bytes = Buffer.from(await dl.arrayBuffer());
|
|
879
899
|
const savePath = resolvePath(output_path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firewall.js","sourceRoot":"","sources":["../../src/tools/firewall.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firewall.js","sourceRoot":"","sources":["../../src/tools/firewall.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sophos-central-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"docs"
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc",
|
|
17
|
+
"build:mcpb": "npm run build && node scripts/build-mcpb.mjs",
|
|
17
18
|
"start": "node dist/index.js",
|
|
18
19
|
"dev": "tsc --watch",
|
|
19
20
|
"prepublishOnly": "npm run build"
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"zod": "^3.25.67"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
42
|
+
"@anthropic-ai/mcpb": "^2.1.2",
|
|
41
43
|
"@types/express": "^5.0.3",
|
|
42
44
|
"@types/node": "^22.15.32",
|
|
43
45
|
"typescript": "^5.8.3"
|