|
1 |
| -# mpc-quantum |
| 1 | + |
| 2 | + |
| 3 | +# Check Point Quantum Management MCP Server |
| 4 | + |
| 5 | +## What is MCP? |
| 6 | + |
| 7 | +The Model Context Protocol (MCP) is a standardized interface that allows AI agents and automation tools to interact programmatically with Check Point Quantum Management servers. Using MCP, you can: |
| 8 | + |
| 9 | +- Query and visualize installed policies, rulebases, and network topology |
| 10 | +- Retrieve and analyze access, NAT, and threat prevention rules |
| 11 | +- List and inspect objects such as hosts, networks, services, VPN communities, and more |
| 12 | + |
| 13 | + |
| 14 | +## Demo |
| 15 | + |
| 16 | +<!-- Place a link or embed for a demo video here --> |
| 17 | + |
| 18 | +## Use Cases |
| 19 | + |
| 20 | +### Helps ensure regulatory compliance with industry standards. |
| 21 | +Prompt: Check if my gateway configuration meets PCI-DSS/HIPAA/GDPR requirements. |
| 22 | + |
| 23 | +### Find broad-definition rules |
| 24 | +Prompt: List all firewall rules that allow traffic from any source to any destination on any port. Highlight rules that are disabled or unused. |
| 25 | + |
| 26 | +### Source -> Destination Path Analysis |
| 27 | +Prompt: Can you check in my policy if HOST/Network can access the internet? |
| 28 | + |
| 29 | +### Recommendation for rulebase optimization |
| 30 | +Prompt: Take a look at the internet facing rules in my policy and suggest improvements. Are there any rules that you think I should strengthen or loosen. Consider both security risks and time wasting. In your recommendations, only refer to specific rules that you think can be changed, or offer to add new rules. |
| 31 | + |
| 32 | +### Custom policy visualizations |
| 33 | +Prompt: Please create a visual report that shows which services are allowed in my network, under which conditions, and which services are strictly blocked. |
| 34 | + |
| 35 | + |
| 36 | +## Configuration Options |
| 37 | + |
| 38 | +This server supports two main modes of authentication: |
| 39 | + |
| 40 | +### 1. Smart-1 Cloud (API Key) |
| 41 | + |
| 42 | +Authenticate to Check Point Smart-1 Cloud using an API key. |
| 43 | + |
| 44 | +- **How to generate an API key:** |
| 45 | + In your SmartOne Cloud dashboard, go to Settings -> API & SmartConsole and genrate an API Key. |
| 46 | + Copy the key and the server login URL (without the "login" suffix) to your client settings. |
| 47 | +  |
| 48 | + |
| 49 | + |
| 50 | +Set the following environment variables for Smart-1 Cloud: |
| 51 | + |
| 52 | +- `API_KEY`: Your Smart-1 Cloud API key |
| 53 | +- `S1C_URL`: Your Smart-1 Cloud Tenant "Web-API" URL |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +### 2. On-Prem Management (API Key or Username/Password) |
| 58 | + |
| 59 | + |
| 60 | +Authenticate to an on-premises Security Management Server using either an API key or username/password. |
| 61 | + |
| 62 | +- **How to create an administrator and credentials:** |
| 63 | + - Follow the official instructions here: [Managing Administrator Accounts (Check Point R81+)](https://sc1.checkpoint.com/documents/R81/WebAdminGuides/EN/CP_R81_SecurityManagement_AdminGuide/Topics-SECMG/Managing_Administrator_Accounts.htm) |
| 64 | + - When creating the administrator, set the desired permissions for API access and management operations. |
| 65 | + - You can authenticate using either an API key (recommended for automation) or username/password credentials. |
| 66 | + |
| 67 | +Set the following environment variables: |
| 68 | + |
| 69 | +- `API_KEY`: Your management API key (if using API key authentication) |
| 70 | +- `MANAGEMENT_HOST`: The IP or hostname of your management server |
| 71 | +- `PORT`: (Optional) Management server port (default: 443) |
| 72 | +- `USERNAME`: (Optional) Username for authentication |
| 73 | +- `PASSWORD`: (Optional) Password for authentication |
| 74 | + |
| 75 | +--- |
| 76 | +## Client Configuration |
| 77 | + |
| 78 | +This server can be used with Claude Desktop, Cursor, GitHub Copilot MCP integrations or any other MCP. Use the appropriate configuration for your environment: |
| 79 | + |
| 80 | +### Smart-1 Cloud Example |
| 81 | + |
| 82 | +```json |
| 83 | +{ |
| 84 | + "mcpServers": { |
| 85 | + "quantum-management": { |
| 86 | + "command": "npx", |
| 87 | + "args": ["@chkp/quantum_management_mcp"], |
| 88 | + "env": { |
| 89 | + "API_KEY": "YOUR_API_KEY", |
| 90 | + "S1C_URL": "YOUR_S1C_URL" //https://xxxxxxxx.maas.checkpoint.com/yyyyyyy/web_api |
| 91 | + } |
| 92 | + } |
| 93 | + } |
| 94 | +} |
| 95 | +``` |
| 96 | + |
| 97 | +### On-Prem Management Example |
| 98 | + |
| 99 | +```json |
| 100 | +{ |
| 101 | + "mcpServers": { |
| 102 | + "quantum-management": { |
| 103 | + "command": "npx", |
| 104 | + "args": ["@chkp/quantum_management_mcp"], |
| 105 | + "env": { |
| 106 | + "MANAGEMENT_HOST": "YOUR_MANAGEMENT_IP_OR_HOST_NAME", |
| 107 | + "MANAGEMENT_PORT": "443", // optional, default is 443 |
| 108 | + "API_KEY": "YOUR_API_KEY", // or use USERNAME and PASSWORD |
| 109 | + "USERNAME": "YOUR_USERNAME", // optional |
| 110 | + "PASSWORD": "YOUR_PASSWORD" // optional |
| 111 | + } |
| 112 | + } |
| 113 | + } |
| 114 | +} |
| 115 | +``` |
| 116 | + |
| 117 | +> Set only the environment variables required for your authentication method (see above for details). |
| 118 | +
|
| 119 | +### Configuring the Claude Desktop app |
| 120 | +For macOS: |
| 121 | +### Create the config file if it doesn't exist |
| 122 | +touch "$HOME/Library/Application Support/Claude/claude_desktop_config.json" |
| 123 | + |
| 124 | +### Opens the config file in TextEdit |
| 125 | +open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json" |
| 126 | + |
| 127 | +### For Windows: |
| 128 | +code %APPDATA%\Claude\claude_desktop_config.json |
| 129 | + |
| 130 | +### Add the server configuration: |
| 131 | + |
| 132 | +```json |
| 133 | +{ |
| 134 | + "mcpServers": { |
| 135 | + "quantum-management": { |
| 136 | + "command": "npx", |
| 137 | + "args": ["@chkp/quantum_management_mcp"], |
| 138 | + "env": { |
| 139 | + Add the configuration from the above instructions |
| 140 | + } |
| 141 | + } |
| 142 | + } |
| 143 | +} |
| 144 | +``` |
| 145 | +## Development |
| 146 | + |
| 147 | +### Prerequisites |
| 148 | + |
| 149 | +- Node.js 18+ |
| 150 | +- npm 8+ |
| 151 | + |
| 152 | +### Setup |
| 153 | + |
| 154 | +```bash |
| 155 | +# Install all dependencies |
| 156 | +npm install |
| 157 | +``` |
| 158 | + |
| 159 | +### Build |
| 160 | + |
| 161 | +```bash |
| 162 | +# Build all packages |
| 163 | +npm run build |
| 164 | +``` |
| 165 | + |
| 166 | +### Running Locally |
| 167 | + |
| 168 | +You can run the server locally for development: |
| 169 | + |
| 170 | +```bash |
| 171 | +npm run start |
| 172 | +# or |
| 173 | +npx ts-node src/index.ts |
| 174 | +``` |
| 175 | + |
| 176 | +--- |
| 177 | +## ⚠️ Security Notice |
| 178 | + |
| 179 | +1. **Authentication keys and credentials are never shared with the model.** They are only used by the MCP server to authenticate with your Check Point management system. |
| 180 | +2. **Only use client implementations you trust.** Malicious or untrusted clients could misuse your credentials or data. |
| 181 | +3. **Management data will be exposed to the model.** Ensure you only use models and providers that comply with your organization's policies regarding PII and sensitive information exposure. |
0 commit comments