@chkp/argos-erm-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.
- package/.eslintrc.json +18 -0
- package/CHANGELOG.md +7 -0
- package/README.md +262 -0
- package/dist/index.js +2993 -0
- package/dist/package.json +45 -0
- package/dist/server-config.json +27 -0
- package/package.json +45 -0
- package/tsconfig.json +9 -0
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["../../.eslintrc.json"],
|
|
3
|
+
"ignorePatterns": ["!**/*"],
|
|
4
|
+
"overrides": [
|
|
5
|
+
{
|
|
6
|
+
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
|
7
|
+
"rules": {}
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"files": ["*.ts", "*.tsx"],
|
|
11
|
+
"rules": {}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"files": ["*.js", "*.jsx"],
|
|
15
|
+
"rules": {}
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
package/CHANGELOG.md
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# Check Point Argos ERM MCP
|
|
2
|
+
|
|
3
|
+
## What is MCP?
|
|
4
|
+
|
|
5
|
+
Model Context Protocol (MCP) servers expose a structured, machine-readable API for your enterprise data—designed for AI-powered automation, copilots, and decision engines. By delivering a clear, contextual slice of your security environment, MCP lets you query, analyze, and optimize complex systems without building custom SDKs or parsing raw exports.
|
|
6
|
+
|
|
7
|
+
## Why MCP for Argos ERM?
|
|
8
|
+
|
|
9
|
+
The Argos ERM MCP Server provides programmatic access to Check Point's Argos External Risk Management platform. It enables AI assistants and automation tools to query risk assessments, compliance data, and security posture information directly from your Argos deployment.
|
|
10
|
+
|
|
11
|
+
## Use with other MCPs for Best Results
|
|
12
|
+
While the Argos ERM MCP works well on its own, it is designed to integrate with other Check Point MCP servers for comprehensive security management workflows.
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
### 14 Comprehensive Tools
|
|
17
|
+
|
|
18
|
+
1. **get_alerts** - Search and retrieve security alerts with comprehensive filtering
|
|
19
|
+
2. **get_alert_details** - Get detailed alert information with intelligence enrichment
|
|
20
|
+
3. **get_assets** - Retrieve digital asset inventory with tech stack enrichment
|
|
21
|
+
4. **enrich_iocs** - Enrich IOCs (IPs/domains/URLs/hashes) with threat intelligence
|
|
22
|
+
5. **get_vulnerability_details** - Get CVE details with CVSS scores and exploit info
|
|
23
|
+
6. **search_vulnerabilities_by_technology** - Search CVEs by product and version
|
|
24
|
+
7. **check_credential_exposure** - Check for exposed credentials by domain or email
|
|
25
|
+
8. **get_threat_landscape_news** - Retrieve curated threat intelligence news
|
|
26
|
+
9. **get_threat_landscape_metadata** - Get available filter options for threat news
|
|
27
|
+
10. **get_threat_actors_metadata** - Get available filter options for threat actors
|
|
28
|
+
11. **get_most_active_threat_actors** - Retrieve active threat actors with filtering
|
|
29
|
+
12. **get_threat_actor_by_id** - Get detailed threat actor information
|
|
30
|
+
13. **get_malware_by_id** - Get detailed malware information
|
|
31
|
+
14. **get_security_analytics** - Get comprehensive security posture analytics
|
|
32
|
+
|
|
33
|
+
## Demo
|
|
34
|
+
|
|
35
|
+
[Demo placeholder - add your demo video link here]
|
|
36
|
+
|
|
37
|
+
## Example Use Cases
|
|
38
|
+
|
|
39
|
+
### Security Alert Analysis
|
|
40
|
+
**"Show me critical alerts from the last 24 hours"**
|
|
41
|
+
*→ Returns filtered alerts with severity, status, and IOC enrichment.*
|
|
42
|
+
|
|
43
|
+
**"Get details for alert INT10-343 with intelligence enrichment"**
|
|
44
|
+
*→ Returns comprehensive alert details including threat intelligence for all indicators.*
|
|
45
|
+
|
|
46
|
+
**"List all phishing alerts that are still open"**
|
|
47
|
+
*→ Returns filtered alerts by type and status with enriched data.*
|
|
48
|
+
|
|
49
|
+
### Asset & Vulnerability Management
|
|
50
|
+
**"Show me all monitored domains with their technology stacks"**
|
|
51
|
+
*→ Returns asset inventory with detailed technology versions, CVE counts, and risk scores.*
|
|
52
|
+
|
|
53
|
+
**"Find vulnerabilities in Apache HTTP Server version 2.4.41"**
|
|
54
|
+
*→ Returns CVEs affecting specific technology versions with CVSS scores and exploit availability.*
|
|
55
|
+
|
|
56
|
+
**"What's the CVSS score for CVE-2024-30040?"**
|
|
57
|
+
*→ Returns comprehensive CVE details including CVSS v2/v3 scores, affected products, and remediation.*
|
|
58
|
+
|
|
59
|
+
### Threat Intelligence
|
|
60
|
+
**"Get latest threat intelligence news about ransomware"**
|
|
61
|
+
*→ Returns curated threat intelligence articles filtered by labels, regions, or sectors.*
|
|
62
|
+
|
|
63
|
+
**"Enrich these IOCs: 8.8.8.8, malicious-site.com"**
|
|
64
|
+
*→ Returns threat intelligence for each IOC including reputation, geo-location, and related threats.*
|
|
65
|
+
|
|
66
|
+
**"Show me the most active threat actors targeting the financial sector"**
|
|
67
|
+
*→ Returns threat actor profiles with motivation, targeted sectors, and attack patterns.*
|
|
68
|
+
|
|
69
|
+
**"Tell me about the LockBit threat actor"**
|
|
70
|
+
*→ Returns detailed threat actor profile including aliases, targeted countries/sectors, and TTPs.*
|
|
71
|
+
|
|
72
|
+
### Credential & Risk Monitoring
|
|
73
|
+
**"Check if company.com has any exposed credentials"**
|
|
74
|
+
*→ Returns exposed credentials found in data breaches with breach metadata.*
|
|
75
|
+
|
|
76
|
+
**"What's our current security posture?"**
|
|
77
|
+
*→ Returns comprehensive analytics including risk scores, trends, and threat distribution.*
|
|
78
|
+
|
|
79
|
+
**"Show me the risk assessment dashboard"**
|
|
80
|
+
*→ Returns overall risk, targeting threats, data exposure, and posture risk metrics.*
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### ⚠️ Performance Notice
|
|
85
|
+
This server connects to your Argos ERM deployment. Ensure proper network access and authentication.
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Configuration Options
|
|
89
|
+
|
|
90
|
+
This server supports configuration via command-line arguments or environment variables:
|
|
91
|
+
|
|
92
|
+
### Argos ERM Configuration
|
|
93
|
+
|
|
94
|
+
The Argos ERM server requires connection details to your Argos instance.
|
|
95
|
+
|
|
96
|
+
Set the following environment variables:
|
|
97
|
+
|
|
98
|
+
- `ARGOS_HOST` (or `ARGOS_SERVER_URL`): Your Argos ERM server URL (e.g., `https://argos.example.com`)
|
|
99
|
+
- `ARGOS_API_KEY` (or `ARGOS_INTEGRATION_TOKEN`): Your Argos ERM API authentication token
|
|
100
|
+
- `ARGOS_CUSTOMER_ID`: Your Argos customer ID (required for all API calls)
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Client Configuration
|
|
105
|
+
|
|
106
|
+
### Prerequisites
|
|
107
|
+
|
|
108
|
+
Download and install the latest version of [Node.js](https://nodejs.org/en/download/) if you don't already have it installed.
|
|
109
|
+
You can check your installed version by running:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
node -v # Should print "v18" or higher
|
|
113
|
+
nvm current # Should print "v18" or higher
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Supported Clients
|
|
117
|
+
|
|
118
|
+
This server has been tested with Claude Desktop, Cursor, GitHub Copilot, and Windsurf clients.
|
|
119
|
+
It is expected to work with any MCP client that supports the Model Context Protocol.
|
|
120
|
+
|
|
121
|
+
### Basic Configuration Example
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"mcpServers": {
|
|
126
|
+
"argos-erm": {
|
|
127
|
+
"command": "npx",
|
|
128
|
+
"args": ["@chkp/argos-erm-mcp"],
|
|
129
|
+
"env": {
|
|
130
|
+
"ARGOS_HOST": "https://your-argos-instance.com",
|
|
131
|
+
"ARGOS_API_KEY": "your-api-key-here",
|
|
132
|
+
"ARGOS_CUSTOMER_ID": "your-customer-id"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Configuring the Claude Desktop App
|
|
140
|
+
|
|
141
|
+
#### For macOS:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Create the config file if it doesn't exist
|
|
145
|
+
touch "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
|
|
146
|
+
|
|
147
|
+
# Open the config file in TextEdit
|
|
148
|
+
open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### For Windows:
|
|
152
|
+
|
|
153
|
+
```cmd
|
|
154
|
+
code %APPDATA%\Claude\claude_desktop_config.json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Add the server configuration:
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"mcpServers": {
|
|
162
|
+
"argos-erm": {
|
|
163
|
+
"command": "npx",
|
|
164
|
+
"args": ["@chkp/argos-erm-mcp"],
|
|
165
|
+
"env": {
|
|
166
|
+
"ARGOS_HOST": "https://your-argos-instance.com",
|
|
167
|
+
"ARGOS_API_KEY": "your-api-key-here",
|
|
168
|
+
"ARGOS_CUSTOMER_ID": "your-customer-id"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### VSCode
|
|
176
|
+
|
|
177
|
+
Enter VSCode settings and type "mcp" in the search bar.
|
|
178
|
+
You should see the option to edit the configuration file.
|
|
179
|
+
Add this configuration:
|
|
180
|
+
|
|
181
|
+
```json
|
|
182
|
+
{
|
|
183
|
+
...
|
|
184
|
+
"mcp": {
|
|
185
|
+
"inputs": [],
|
|
186
|
+
"servers": {
|
|
187
|
+
"argos-erm": {
|
|
188
|
+
"command": "npx",
|
|
189
|
+
"args": [
|
|
190
|
+
"@chkp/argos-erm-mcp"
|
|
191
|
+
],
|
|
192
|
+
"env": {
|
|
193
|
+
"ARGOS_HOST": "https://your-argos-instance.com",
|
|
194
|
+
"ARGOS_API_KEY": "your-api-key-here",
|
|
195
|
+
"ARGOS_CUSTOMER_ID": "your-customer-id"
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
...
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Windsurf
|
|
205
|
+
|
|
206
|
+
Enter Windsurf settings and type "mcp" in the search bar.
|
|
207
|
+
You should see the option to edit the configuration file.
|
|
208
|
+
Add the configuration as Claude Desktop App.
|
|
209
|
+
|
|
210
|
+
### Cursor
|
|
211
|
+
|
|
212
|
+
Enter Cursor settings and click on "MCP Servers" in the left menu.
|
|
213
|
+
You should see the option to add a new MCP Server.
|
|
214
|
+
Add the configuration as Claude Desktop App.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Development
|
|
219
|
+
|
|
220
|
+
### Prerequisites
|
|
221
|
+
|
|
222
|
+
- Node.js 20+
|
|
223
|
+
- npm 10+
|
|
224
|
+
|
|
225
|
+
### Setup
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# Install all dependencies
|
|
229
|
+
npm install
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Build
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Build all packages
|
|
236
|
+
npm run build
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Running Locally
|
|
240
|
+
|
|
241
|
+
You can run the server locally for development using [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) or any compatible MCP client.
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
node FULL_PATH_TO_SERVER/packages/argos-erm/dist/index.js \
|
|
245
|
+
--argos-host "https://your-argos-instance.com" \
|
|
246
|
+
--argos-api-key "your-api-key" \
|
|
247
|
+
--argos-customer-id "your-customer-id"
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## ⚠️ Security Notice
|
|
253
|
+
|
|
254
|
+
1. **Authentication keys and credentials are never shared with the model.** They are used only by the MCP server to authenticate with your Argos ERM system.
|
|
255
|
+
2. **Only use client implementations you trust.** Malicious or untrusted clients could misuse your credentials or access data improperly.
|
|
256
|
+
3. **Risk and compliance data is exposed to the model.** Ensure that you only use models and providers that comply with your organization's policies for handling sensitive data and PII.
|
|
257
|
+
|
|
258
|
+
## 📊 Telemetry and Privacy
|
|
259
|
+
|
|
260
|
+
**Anonymous Usage Statistics:** Check Point collects anonymous usage statistics to improve this MCP server. Only tool usage patterns and anonymous identifiers are collected—no credentials, policies, or sensitive data.
|
|
261
|
+
|
|
262
|
+
**Opt-Out:** Set `TELEMETRY_DISABLED=true` environment variable or use the `--no-telemetry` flag to disable telemetry collection.
|