@chkp/harmony-email-mcp 0.1.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.
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@chkp/harmony-email-mcp",
3
+ "version": "0.1.0",
4
+ "description": "Harmony Email & Collaboration MCP Server - investigate email security events, entities and restore requests via the HEC SmartAPI",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "harmony-email-mcp": "./dist/index.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/CheckPointSW/mcp-servers.git",
14
+ "directory": "packages/harmony-email"
15
+ },
16
+ "license": "MIT",
17
+ "engines": {
18
+ "node": ">=20.0.0"
19
+ },
20
+ "scripts": {
21
+ "build": "npm run build:bundle && npx shx chmod +x ./dist/index.js && npx shx cp src/server-config.json dist/",
22
+ "build:bundle": "node ../../bundle-mcp.js",
23
+ "build:tsc": "npx tsc && npx shx chmod +x ./dist/index.js && npx shx cp src/server-config.json dist/",
24
+ "dev": "tsc --watch",
25
+ "start": "node ./dist/index.js",
26
+ "clean": "rimraf dist",
27
+ "test": "jest",
28
+ "test:watch": "jest --watch",
29
+ "test:coverage": "jest --coverage",
30
+ "prepack": "node ../../scripts/strip-bundled-deps.js",
31
+ "postpack": "node ../../scripts/strip-bundled-deps.js restore"
32
+ },
33
+ "dependencies": {
34
+ "@chkp/mcp-utils": "*",
35
+ "@modelcontextprotocol/sdk": "^1.29.0",
36
+ "commander": "^14.0.3",
37
+ "node-machine-id": "^1.1.12",
38
+ "postal-mime": "^2.7.5",
39
+ "zod": "^3.24.4"
40
+ },
41
+ "devDependencies": {
42
+ "@types/jest": "^30.0.0",
43
+ "@types/node": "^26.0.0",
44
+ "jest": "^30.2.0",
45
+ "ts-jest": "^29.4.0",
46
+ "typescript": "^5.0.4"
47
+ },
48
+ "keywords": [
49
+ "mcp",
50
+ "model-context-protocol",
51
+ "checkpoint",
52
+ "harmony-email",
53
+ "email-security"
54
+ ]
55
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "harmony-email",
3
+ "description": "Harmony Email & Collaboration MCP Server - investigate email security events, entities and restore requests via the HEC SmartAPI",
4
+ "options": [
5
+ {
6
+ "flag": "--hec-domain <domain>",
7
+ "description": "Your HEC tenant entry-point hostname or portal URL",
8
+ "env": "HEC_DOMAIN",
9
+ "required": true,
10
+ "type": "string",
11
+ "help": "The hostname you use to reach the HEC portal, e.g. acme.avanan.net or https://acme.checkpointcloudsec.com/portal. The region, scope and API gateway are derived from it automatically."
12
+ },
13
+ {
14
+ "flag": "--hec-client-id <id>",
15
+ "description": "API client id (Infinity Portal clientId, or the Avanan appId)",
16
+ "env": "HEC_CLIENT_ID",
17
+ "required": true,
18
+ "type": "string",
19
+ "help": "For Check Point tenants this is the Infinity Portal API key clientId (Global Settings > API Keys). For Avanan tenants it is the SmartAPI appId."
20
+ },
21
+ {
22
+ "flag": "--hec-secret <secret>",
23
+ "description": "API secret (Infinity Portal accessKey, or the Avanan secretKey)",
24
+ "env": "HEC_SECRET",
25
+ "required": true,
26
+ "type": "string",
27
+ "sensitive": true,
28
+ "help": "The secret half of the API key pair. Shown only once when the key is created. Treat it as a credential: never commit it, never paste it into a chat."
29
+ },
30
+ {
31
+ "flag": "--hec-auth-method <method>",
32
+ "description": "Force the auth flow: cloudinfra or avanan (default: derived from the domain)",
33
+ "env": "HEC_AUTH_METHOD",
34
+ "required": false,
35
+ "type": "string",
36
+ "help": "Normally derived from your domain: *.checkpointcloudsec.com uses cloudinfra, *.avanan.net uses avanan. Override only when your credentials do not match the domain type."
37
+ },
38
+ {
39
+ "flag": "--hec-region <region>",
40
+ "description": "API region override (default: derived from the domain)",
41
+ "env": "HEC_REGION",
42
+ "required": false,
43
+ "type": "string",
44
+ "help": "For example us-east-1, eu-west-1 or ca-central-1. Set this together with scope and auth method to skip domain resolution entirely."
45
+ },
46
+ {
47
+ "flag": "--hec-scope <scope>",
48
+ "description": "Tenant scope override, in the form farm:customer (default: derived from the domain)",
49
+ "env": "HEC_SCOPE",
50
+ "required": false,
51
+ "type": "string",
52
+ "help": "For example mt-prod-cp-us-2:acme. Set this together with region and auth method to skip domain resolution entirely."
53
+ },
54
+ {
55
+ "flag": "--hec-request-timeout <seconds>",
56
+ "description": "Per-request timeout in seconds (default: 30)",
57
+ "env": "HEC_REQUEST_TIMEOUT",
58
+ "required": false,
59
+ "type": "string",
60
+ "help": "Raise this only if you routinely query very wide time windows."
61
+ },
62
+ {
63
+ "flag": "--hec-max-retries <count>",
64
+ "description": "Retries for rate limits and transient upstream errors (default: 3)",
65
+ "env": "HEC_MAX_RETRIES",
66
+ "required": false,
67
+ "type": "string",
68
+ "help": "Applies to 408, 429 and 5xx responses and to connection failures. Read timeouts are never retried."
69
+ },
70
+ {
71
+ "flag": "--hec-retry-base-seconds <seconds>",
72
+ "description": "Base delay for exponential backoff (default: 1)",
73
+ "env": "HEC_RETRY_BASE_SECONDS",
74
+ "required": false,
75
+ "type": "string",
76
+ "help": "Backoff uses full jitter over this base, unless the server sends a Retry-After header."
77
+ },
78
+ {
79
+ "flag": "--hec-max-concurrency <count>",
80
+ "description": "Maximum concurrent upstream requests (default: 10)",
81
+ "env": "HEC_MAX_CONCURRENCY",
82
+ "required": false,
83
+ "type": "string",
84
+ "help": "Acts as a client-side rate limit while paginating large queries."
85
+ },
86
+ {
87
+ "flag": "--hec-action-batch-limit <count>",
88
+ "description": "Maximum entities a single batch action may target (default: 50)",
89
+ "env": "HEC_ACTION_BATCH_LIMIT",
90
+ "required": false,
91
+ "type": "string",
92
+ "help": "Safety cap on quarantine/restore/deny-restore batches. An oversized batch is rejected outright, never silently truncated."
93
+ }
94
+ ]
95
+ }
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@chkp/harmony-email-mcp",
3
+ "version": "0.1.0",
4
+ "description": "Harmony Email & Collaboration MCP Server - investigate email security events, entities and restore requests via the HEC SmartAPI",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "harmony-email-mcp": "./dist/index.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/CheckPointSW/mcp-servers.git",
14
+ "directory": "packages/harmony-email"
15
+ },
16
+ "license": "MIT",
17
+ "engines": {
18
+ "node": ">=20.0.0"
19
+ },
20
+ "scripts": {
21
+ "build": "npm run build:bundle && npx shx chmod +x ./dist/index.js && npx shx cp src/server-config.json dist/",
22
+ "build:bundle": "node ../../bundle-mcp.js",
23
+ "build:tsc": "npx tsc && npx shx chmod +x ./dist/index.js && npx shx cp src/server-config.json dist/",
24
+ "dev": "tsc --watch",
25
+ "start": "node ./dist/index.js",
26
+ "clean": "rimraf dist",
27
+ "test": "jest",
28
+ "test:watch": "jest --watch",
29
+ "test:coverage": "jest --coverage",
30
+ "prepack": "node ../../scripts/strip-bundled-deps.js",
31
+ "postpack": "node ../../scripts/strip-bundled-deps.js restore"
32
+ },
33
+ "dependencies": {
34
+ "@modelcontextprotocol/sdk": "^1.29.0",
35
+ "commander": "^14.0.3",
36
+ "node-machine-id": "^1.1.12",
37
+ "postal-mime": "^2.7.5",
38
+ "zod": "^3.24.4"
39
+ },
40
+ "devDependencies": {
41
+ "@types/jest": "^30.0.0",
42
+ "@types/node": "^26.0.0",
43
+ "jest": "^30.2.0",
44
+ "ts-jest": "^29.4.0",
45
+ "typescript": "^5.0.4"
46
+ },
47
+ "keywords": [
48
+ "mcp",
49
+ "model-context-protocol",
50
+ "checkpoint",
51
+ "harmony-email",
52
+ "email-security"
53
+ ]
54
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@chkp/harmony-email-mcp",
3
+ "version": "0.1.0",
4
+ "description": "Harmony Email & Collaboration MCP Server - investigate email security events, entities and restore requests via the HEC SmartAPI",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "harmony-email-mcp": "./dist/index.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/CheckPointSW/mcp-servers.git",
14
+ "directory": "packages/harmony-email"
15
+ },
16
+ "license": "MIT",
17
+ "engines": {
18
+ "node": ">=20.0.0"
19
+ },
20
+ "scripts": {
21
+ "build": "npm run build:bundle && npx shx chmod +x ./dist/index.js && npx shx cp src/server-config.json dist/",
22
+ "build:bundle": "node ../../bundle-mcp.js",
23
+ "build:tsc": "npx tsc && npx shx chmod +x ./dist/index.js && npx shx cp src/server-config.json dist/",
24
+ "dev": "tsc --watch",
25
+ "start": "node ./dist/index.js",
26
+ "clean": "rimraf dist",
27
+ "test": "jest",
28
+ "test:watch": "jest --watch",
29
+ "test:coverage": "jest --coverage",
30
+ "prepack": "node ../../scripts/strip-bundled-deps.js",
31
+ "postpack": "node ../../scripts/strip-bundled-deps.js restore"
32
+ },
33
+ "dependencies": {
34
+ "@chkp/mcp-utils": "*",
35
+ "@modelcontextprotocol/sdk": "^1.29.0",
36
+ "commander": "^14.0.3",
37
+ "node-machine-id": "^1.1.12",
38
+ "postal-mime": "^2.7.5",
39
+ "zod": "^3.24.4"
40
+ },
41
+ "devDependencies": {
42
+ "@types/jest": "^30.0.0",
43
+ "@types/node": "^26.0.0",
44
+ "jest": "^30.2.0",
45
+ "ts-jest": "^29.4.0",
46
+ "typescript": "^5.0.4"
47
+ },
48
+ "keywords": [
49
+ "mcp",
50
+ "model-context-protocol",
51
+ "checkpoint",
52
+ "harmony-email",
53
+ "email-security"
54
+ ]
55
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src"
6
+ },
7
+ "include": ["src/**/*"],
8
+ "exclude": ["node_modules", "dist", "/*.test.ts", "/*.spec.ts"]
9
+ }