@chkp/policy-insights-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/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # @chkp/policy-insights-mcp
2
+
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 56cf1d2: Updated implementation and features, Updated configuration, Added 12 new file(s) (synced from internal repository)
package/README.md ADDED
@@ -0,0 +1,296 @@
1
+ # Check Point Policy Insights MCP Server
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 Security?
8
+
9
+ Security Policies often span hundreds of rules and thousands of objects across diverse enforcement points. Understanding, auditing, or optimizing these environments is slow and error-prone.
10
+ MCP changes this: exposing security management data in a modular, context-rich format, ready for AI systems to consume. Enabling the AI to use your data with precision. Ask real-world questions, and get structured, actionable answers—instantly.
11
+
12
+ ## Recommendation
13
+
14
+ For a better experience, we recommend using this MCP **along with** the [Quantum Management MCP](../management/README.md) (`@chkp/quantum-management-mcp`).
15
+
16
+ Together they give you the full picture: combine actual rule content with insights content in one place, search by layer/rule name (or other filters allowed by Quantum Management MCP) instead of IDs, view insights while seeing the object details instead of object IDs, and more.
17
+
18
+
19
+ ## Features
20
+
21
+ - Provide information for the Policy Insights card in Infinity Cloud Services
22
+ - Check if Policy Insights is on and see product status and license info
23
+ - See how many insights you have per type on a layer, and when the last publish it was based on
24
+ - Find which rules have insights on a layer, including rules in inline layers
25
+ - Get insights content from specific layer / rule
26
+ - Filter insights with params like confidence, suggestion type, security impact
27
+ - Find insights you moved to decide later or declined in the past
28
+ - Get user configuration and settings for Policy Insights
29
+ - Get when new insights are planned to be generated
30
+ - Retrieve detailed information when you can't see insights
31
+
32
+
33
+ ## Example Use Cases
34
+
35
+ ### Finding Which Rules Have Insights
36
+ "Which rules have unused objects?" / "Which rules are too permissive and should be tightened?" / "Which disabled rules can be deleted?" / "Which rules have no hits and can be deleted?"
37
+ You can filter by specific security score, confidence
38
+
39
+ ### Getting Insights Content for layer
40
+ "Show me the insights for layer ID a9182588-92dd-4e03-85b5-1dd360b63f69" / "Show me the insights for layer name (works only if you use @chkp/quantum-management-mcp)."
41
+
42
+ ### Getting Insights Content for rule
43
+ "Show me the insights for rule ID a9182588-92dd-4e03-85b5-1dd360b63f69" / "Show me the insights for rule [name/number], combine it with the actual rule content (works only if you use @chkp/quantum-management-mcp)."
44
+
45
+ ### Summary
46
+ "How many insights do I have on layer id a9182588-92dd-4e03-85b5-1dd360b63f69?" / "How many insights do I have on layer [name] (works only if you use @chkp/quantum-management-mcp)?" / "Create a report of all the layers and the count of insights each in policy package [name] (works only if you use @chkp/quantum-management-mcp)"
47
+
48
+ ### Getting insights with action made on them
49
+ "Show me how many (or which) insights are in decide later in layer ID a9182588-92dd-4e03-85b5-1dd360b63f69" / "Show me how many insights are in decide later for layer [name] (works only if you use @chkp/quantum-management-mcp)" / "Show many how many (or which) insights are declined in layer ID a9182588-92dd-4e03-85b5-1dd360b63f69"
50
+
51
+ ### Scheduling
52
+ "When were the current insights created?" / "What publish timestamp are the current insights based on?" / "When is the next run planned to generate new insights?"
53
+
54
+ ### Onboarding and Troubleshooting
55
+ "Why do I see no insights?" / "Has a Policy Insights suggestion been generated yet?" / "What if I only have low-confidence insights?"
56
+
57
+ ### Licensing
58
+ "When does my Policy Insights license expire?" / "What's my policy insights status?"
59
+
60
+
61
+ ---
62
+
63
+ ## Configuration Options
64
+
65
+ > **📊 Anonymous Usage Statistics:** Check Point collects anonymous usage statistics to help improve this MCP server. To opt out, set `TELEMETRY_DISABLED=true` or use `--no-telemetry` flag.
66
+
67
+ This server supports two main modes of authentication:
68
+
69
+ ### 1. Smart-1 Cloud (API Key)
70
+
71
+ Authenticate to Check Point Smart-1 Cloud using an API key.
72
+
73
+ - **How to generate an API key:**
74
+ In your Smart-1 Cloud dashboard, go to **Settings → API & SmartConsole** and generate an API key.
75
+ Copy the key and the server login URL (excluding the `/login` suffix) to your client settings.
76
+ ![alt text](./../../resources/s1c_api_key.png)
77
+
78
+ Set the following environment variables:
79
+
80
+ - `API_KEY`: Your Smart-1 Cloud API key
81
+ - `S1C_URL`: Your Smart-1 Cloud tenant "Web-API" URL
82
+
83
+ ---
84
+
85
+ ### 2. On-Prem Management (API Key or Username/Password)
86
+
87
+ - **Configure your management server to allow API access:**
88
+ To use this server with an on-premises Check Point management server, you must first enable API access.
89
+ Follow the official instructions for [Managing Security through API](https://sc1.checkpoint.com/documents/R82/WebAdminGuides/EN/CP_R82_SmartProvisioning_AdminGuide/Content/Topics-SPROVG/Managing-Security-through-API.htm).
90
+
91
+ - **Authenticate to the Security Management Server** using either an API key or username/password:
92
+ - Follow the official instructions: [Managing Administrator Accounts (Check Point R81+)](https://sc1.checkpoint.com/documents/R81/WebAdminGuides/EN/CP_R81_SecurityManagement_AdminGuide/Topics-SECMG/Managing_Administrator_Accounts.htm)
93
+ - When creating the administrator, assign appropriate permissions for API access and management operations.
94
+ - You can authenticate using an API key (recommended for automation) or username/password credentials.
95
+
96
+ Set the following environment variables:
97
+
98
+ - `MANAGEMENT_HOST`: IP address or hostname of your management server
99
+ - `MANAGEMENT_PORT`: (Optional) Management server port (default: 443)
100
+ - `API_KEY`: Your management API key (if using API key authentication)
101
+ - `USERNAME`: Username for authentication (if using username/password authentication)
102
+ - `PASSWORD`: Password for authentication (if using username/password authentication)
103
+
104
+ ---
105
+
106
+ ## Client Configuration
107
+
108
+ ### Prerequisites
109
+
110
+ Download and install the latest version of [Node.js](https://nodejs.org/en/download/) if you don't already have it installed.
111
+ You can check your installed version by running:
112
+
113
+ ```bash
114
+ node -v # Should print "v20" or higher
115
+ nvm current # Should print "v20" or higher
116
+ ```
117
+
118
+ ### Supported Clients
119
+
120
+ This server has been tested with Claude Desktop, Cursor, GitHub Copilot, and Windsurf clients.
121
+ It is expected to work with any MCP client that supports the Model Context Protocol.
122
+
123
+ > **Note:** Due to the nature of Policy Insights API calls and the variety of server tools, using this server may require a paid subscription to the model provider to support token limits and context window sizes.
124
+ > For smaller models, you can reduce token usage by limiting the number of enabled tools in the client.
125
+
126
+ ### Smart-1 Cloud Example
127
+
128
+ ```json
129
+ {
130
+ "mcpServers": {
131
+ "policy-insights": {
132
+ "command": "npx",
133
+ "args": ["@chkp/policy-insights-mcp"],
134
+ "env": {
135
+ "API_KEY": "YOUR_API_KEY",
136
+ "S1C_URL": "YOUR_S1C_URL" // e.g., https://xxxxxxxx.maas.checkpoint.com/yyyyyyy/web_api
137
+ }
138
+ }
139
+ }
140
+ }
141
+ ```
142
+
143
+ ### On-Prem Management Example
144
+
145
+ ```json
146
+ {
147
+ "mcpServers": {
148
+ "policy-insights": {
149
+ "command": "npx",
150
+ "args": ["@chkp/policy-insights-mcp"],
151
+ "env": {
152
+ "MANAGEMENT_HOST": "YOUR_MANAGEMENT_IP_OR_HOST_NAME",
153
+ "MANAGEMENT_PORT": "443", // optional, default is 443
154
+ "API_KEY": "YOUR_API_KEY", // or use USERNAME and PASSWORD
155
+ "USERNAME": "YOUR_USERNAME", // optional
156
+ "PASSWORD": "YOUR_PASSWORD" // optional
157
+ }
158
+ }
159
+ }
160
+ }
161
+ ```
162
+
163
+ > Set only the environment variables required for your authentication method.
164
+
165
+ ### Configuring the Claude Desktop App
166
+
167
+ #### Using a Bundled MCPB (formerly DXT)
168
+ 1. Download the MCPB file: **[📥 policy-insights.mcpb](https://github.com/CheckPointSW/mcp-servers/releases/latest/download/policy-insights.mcpb)** (when available)
169
+ 2. Open Claude Desktop App → Settings → Extensions
170
+ 3. Drag the MCPB file and configure per the instructions.
171
+
172
+ #### Or Configure Manually
173
+
174
+ #### For macOS:
175
+
176
+ ```bash
177
+ # Create the config file if it doesn't exist
178
+ touch "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
179
+
180
+ # Open the config file in TextEdit
181
+ open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
182
+ ```
183
+
184
+ #### For Windows:
185
+
186
+ ```cmd
187
+ code %APPDATA%\Claude\claude_desktop_config.json
188
+ ```
189
+
190
+ Add the server configuration:
191
+
192
+ ```json
193
+ {
194
+ "mcpServers": {
195
+ "policy-insights": {
196
+ "command": "npx",
197
+ "args": ["@chkp/policy-insights-mcp"],
198
+ "env": {
199
+ // Add the configuration from the above instructions
200
+ }
201
+ }
202
+ }
203
+ }
204
+ ```
205
+
206
+ ### VSCode
207
+
208
+ Enter VSCode settings and type "mcp" in the search bar.
209
+ You should see the option to edit the configuration file.
210
+ Add this configuration:
211
+
212
+ ```json
213
+ {
214
+ ...
215
+ "mcp": {
216
+ "inputs": [],
217
+ "servers": {
218
+ "policy-insights": {
219
+ "command": "npx",
220
+ "args": [
221
+ "@chkp/policy-insights-mcp"
222
+ ],
223
+ "env": {
224
+ "MANAGEMENT_HOST": "YOUR_MANAGEMENT_IP_OR_HOST_NAME",
225
+ "MANAGEMENT_PORT": "443", // optional, default is 443
226
+ "API_KEY": "YOUR_API_KEY", // or use USERNAME and PASSWORD
227
+ "USERNAME": "YOUR_USERNAME", // optional
228
+ "PASSWORD": "YOUR_PASSWORD" // optional
229
+ }
230
+ }
231
+ }
232
+ },
233
+ ...
234
+ }
235
+ ```
236
+
237
+ ### Windsurf
238
+
239
+ Enter Windsurf settings and type "mcp" in the search bar.
240
+ You should see the option to edit the configuration file.
241
+ Add the configuration as Claude Desktop App.
242
+
243
+ ### Cursor
244
+
245
+ Enter Cursor settings and click on "MCP Servers" in the left menu.
246
+ You should see the option to add a new MCP Server.
247
+ Add the configuration as Claude Desktop App.
248
+
249
+ ---
250
+
251
+ ## Development
252
+
253
+ ### Prerequisites
254
+
255
+ - Node.js 20+
256
+ - npm 10+
257
+
258
+ ### Setup
259
+
260
+ ```bash
261
+ # Install all dependencies
262
+ npm install
263
+ ```
264
+
265
+ ### Build
266
+
267
+ ```bash
268
+ # Build all packages
269
+ npm run build
270
+ ```
271
+
272
+ ### Running Locally
273
+
274
+ You can run the server locally for development using [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) or any compatible MCP client.
275
+
276
+ ```bash
277
+ node FULL_PATH_TO_SERVER/packages/policy-insights/build/index.js --s1c-url|--management-host --api-key|--username|--password
278
+ ```
279
+
280
+ ---
281
+
282
+ ## ⚠️ Security Notice
283
+
284
+ 1. **Authentication keys and credentials are never shared with the model.** They are used only by the MCP server to authenticate with your Check Point management system.
285
+ 2. **Only use client implementations you trust.** Malicious or untrusted clients could misuse your credentials or access data improperly.
286
+ 3. **Management 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.
287
+
288
+ ## 📊 Telemetry and Privacy
289
+
290
+ **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.
291
+
292
+ **Opt-Out:** Set `TELEMETRY_DISABLED=true` environment variable or use the `--no-telemetry` flag to disable telemetry collection.
293
+
294
+ ## Learn More
295
+
296
+ For more on onboarding and troubleshooting, see [Policy Insights - Onboarding and Troubleshooting](https://support.checkpoint.com/results/sk/sk183313).