@chkp/workforce-ai-mcp
v1.2.1
Published
Official MCP server for Check Point Workforce AI — AI & Browse security policy management, asset visibility, and app catalog
Readme
Check Point Workforce AI MCP Server
What is MCP?
Model Context Protocol (MCP) servers expose structured, real-time tools that AI assistants (LLMs) can call. Instead of hand-crafting API requests, you interact in natural language and the model invokes the right tool with the right parameters.
Why MCP for Workforce AI?
Check Point Workforce AI Security protects how your organization uses GenAI and the browser — AI Access, GenAI DLP (Chats), Agents (MCP), Secure Browsing, and Browse DLP. With the Workforce AI MCP server you can, in natural language: observe the policy on any entity, calculate the effective policy that applies to each entity, and inspect and investigate deployment status. In write mode, you can also manage policy — creating and modifying whatever you need — all without leaving your AI assistant.
Features
- ✅ Policy inspection — list rulebases for Chats (GenAI DLP), AI Access, Web Access, Agents, Secure Browsing, and Browse DLP
- ✅ Policy analysis — detect shadowed (unreachable) rules and resolve which rule applies to a given user/target
- ✅ Discovery & analytics — GenAI app catalog, discovered applications, agent/MCP activity overviews
- ✅ Assets & users — search deployed assets, count assets, search users
- ✅ DLP data types — browse predefined/custom DLP data types and tenant configuration
- ✅ Write mode (opt-in) — create, edit, activate, reorder, and delete rules and policy objects
- ✅ Read-only by default — write tools are hidden unless
WRITE_MODE="true"
Example Use Cases
Policy audit
"List my AI Access rules and tell me which ones are disabled." → Returns the rulebase with each rule's status so you can spot gaps.
Shadow-rule analysis
"Are any Chats rules shadowed by a higher-priority rule?" → Runs shadow analysis and reports unreachable rules.
GenAI app discovery
"What are the top discovered GenAI applications this month?" → Returns the top applications by session count for the period.
Available Tools
| Tool | Description | Mode |
|---|---|---|
| list_chats_rules | List all Chats (GenAI DLP) rules. | read |
| list_ai_access_rules | List all AI Access rules that control which AI services and applications users are allowed to interact with. | read |
| list_web_access_rules | List all Web Access rules for Browse Security. | read |
| list_agents_rules | List all Agents (MCP Server) rules that govern agent interactions. | read |
| list_secure_browsing_rules | List all Secure Browsing threat-prevention rules. | read |
| list_dlp_rules | List all Browse DLP (Data Loss Prevention) rules for browser security. | read |
| set_rule_info | Update the display name and description of a rule identified by its UUID. | write |
| set_rule_active | Enable or disable a rule without deleting it. | write |
| reorder_rule | Move a rule to a new position in the rulebase. | write |
| delete_rule | Permanently delete a rule from the rulebase by its UUID. | write |
| create_chats_rule | Create a new Chats (GenAI DLP) rule. | write |
| create_ai_access_rule | Create a new AI Access rule that controls which AI services and applications users can interact with. | write |
| create_agents_rule | Create a new Agents (MCP Server) rule that governs agent interactions. | write |
| create_dlp_rule | Create a new Browse DLP rule for data loss prevention during web browsing. | write |
| create_secure_browsing_rule | Create a new Secure Browsing threat-prevention rule. | write |
| set_chats_policy | Replace the entire policy configuration of a Chats rule (also known as 'Chats' in AI Security UI — POLICY_TYPE_DLP). | write |
| patch_chats_policy | Deep-merge partial changes into a Chats rule's policy. | write |
| set_access_policy | Replace the entire policy configuration of an AI Access rule (POLICY_TYPE_ACCESS). | write |
| patch_access_policy | Deep-merge partial changes into an AI Access rule's policy. | write |
| set_agents_policy | Replace the entire policy configuration of an Agents rule (also known as 'Agents' — POLICY_TYPE_MCP_SERVER). | write |
| patch_agents_policy | Deep-merge partial changes into an Agents rule's policy. | write |
| set_secure_browsing_policy | Replace the entire policy configuration of a Secure Browsing rule (POLICY_TYPE_THREAT_PREVENTION). | write |
| patch_secure_browsing_policy | Deep-merge partial changes into a Secure Browsing rule's policy. | write |
| set_rule_source | Replace the full source (user/group assignments) list of a rule. | write |
| set_rule_objects | Replace all objects attached to a rule for a specific feature. | write |
| list_file_protection_objects | List all file-protection policy objects. | read |
| update_file_protection_object | Update an existing file-protection object. | write |
| create_file_protection_object | Create a new file-protection object. | write |
| list_domains_objects | List all domains policy objects. | read |
| update_domains_object | Update an existing domains object. | write |
| create_domains_object | Create a new domains object containing a list of domain entries for domain-based filtering (allow/block lists). | write |
| delete_object | Permanently delete a policy object (file-protection or domains) by its UUID. | write |
| get_tenant_dlp_datatypes | Get the tenant-specific DLP datatype configuration showing which data types are currently enabled for detection in this tenant's policies.. | read |
| search_dlp_datatypes | Search DLP data types by name or description with pagination. | read |
| analyze_shadow_rules | Find unreachable (shadowed) rules in a rulebase. | read |
| resolve_matching_rule | Given a user and target, determine which rule in the rulebase would apply. | read |
| search_assets | Search deployed assets (endpoints/devices) with optional filtering, sorting, text search, and pagination. | read |
| count_assets | Get the total count of deployed assets, optionally filtered. | read |
| search_users | Search users in the organization with optional text search and pagination. | read |
| search_apps | Search the GenAI apps catalog by name, description, or URL. | read |
| get_apps_by_ids | Get specific GenAI apps from the catalog by their numeric IDs. | read |
| get_discovered_applications | List the GenAI applications (e.g. | read |
| get_top_discovered_applications | Return the top_n GenAI applications by session count between from_date and to_date. | read |
| get_agents_overview | High-level summary of agentic (MCP) activity for the tenant between from_date and to_date: the number of active AI agents and the number of discovered MCP servers, each with the absolute and percentage change vs the previous period. | read |
| get_agents_top_platforms | Return the top_n agent platforms (MCP hosts such as Claude Code or Cursor) by tool-invocation count between from_date and to_date. | read |
| get_active_mcp_servers | List MCP servers that were active (invoked at least once) between from_date and to_date. | read |
| get_inactive_mcp_servers | List MCP servers that are known to the tenant but had no activity between from_date and to_date. | read |
| get_agents_tool_usage | Break down MCP tool usage by operation type (Create/Read/Update/Delete/Unknown) between from_date and to_date. | read |
| get_agents_invocations_overtime | Return a time series of total MCP tool invocations between from_date and to_date — one point per time bucket ({time, invocations}). | read |
Configuration Options
Authentication uses a Check Point Infinity Portal API key (CloudInfra), exchanged for a short-lived token at runtime.
Obtaining API credentials
- Go to the Infinity Portal API Keys page.
- Click New > New Account API Key.
- In the Service dropdown select Workforce AI Security (and for Browse, Browse Security) and create the key.
- Copy the Client ID, Secret Key, and Authentication URL (gateway).
For more information, see the Infinity Portal Administration Guide.
Settings
Each setting can be provided as an environment variable or a CLI flag:
| Env var | CLI flag | Required | Description |
|---|---|---|---|
| CP_CI_CLIENT_ID | --client-id | Yes | CloudInfra API key Client ID |
| CP_CI_ACCESS_KEY | --access-key | Yes | CloudInfra API key Secret Key |
| CP_CI_GATEWAY | --gateway | Yes | CloudInfra gateway / Authentication URL |
| REGION | --region | No | Region override (auto-detected from the gateway URL) |
| WRITE_MODE | --write-mode | No | Set to true to enable the write tools (default: read-only) |
Available gateways
| Region | Gateway URL |
|---|---|
| Europe | https://cloudinfra-gw.portal.checkpoint.com |
| United States | https://cloudinfra-gw-us.portal.checkpoint.com |
⚠️ Write mode: enabling
WRITE_MODE="true"lets the model create, modify, and delete security policy rules and objects. Leave it off for auditing and exploration.
Client Configuration
📊 Anonymous Usage Statistics: Check Point collects anonymous usage statistics to help improve this MCP server. To opt out, set
TELEMETRY_DISABLED=trueor use the--no-telemetryflag.
Prerequisites
Download and install the latest Node.js (v20 or higher):
node -v # Should print "v20" or higherSupported Clients
This server has been tested with Claude Desktop, Cursor, GitHub Copilot, and Windsurf. It is expected to work with any MCP client that supports the Model Context Protocol.
Package: the public package is
@chkp/workforce-ai-mcp(npm). Internally it is also published as@chkp-internal/workforce-ai-mcp.
Example
{
"mcpServers": {
"workforce-ai": {
"command": "npx",
"args": ["@chkp/workforce-ai-mcp"],
"env": {
"CP_CI_CLIENT_ID": "YOUR_CLIENT_ID",
"CP_CI_ACCESS_KEY": "YOUR_ACCESS_KEY",
"CP_CI_GATEWAY": "https://cloudinfra-gw-us.portal.checkpoint.com"
}
}
}
}To enable write tools, add
"WRITE_MODE": "true"toenv.
Configuring the Claude Desktop App
For macOS:
# Create the config file if it doesn't exist
touch "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
# Open the config file in TextEdit
open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"For Windows:
code %APPDATA%\Claude\claude_desktop_config.jsonAdd the server configuration from the Example above.
VSCode
Open VSCode settings and search for "mcp". Edit the configuration file and add:
{
"mcp": {
"inputs": [],
"servers": {
"workforce-ai": {
"command": "npx",
"args": ["@chkp/workforce-ai-mcp"],
"env": {
"CP_CI_CLIENT_ID": "YOUR_CLIENT_ID",
"CP_CI_ACCESS_KEY": "YOUR_ACCESS_KEY",
"CP_CI_GATEWAY": "https://cloudinfra-gw-us.portal.checkpoint.com"
}
}
}
}
}Windsurf
Open Windsurf settings, search for "mcp", and add the configuration as for the Claude Desktop App.
Cursor
Open Cursor settings, click "MCP Servers" in the left menu, add a new MCP Server, and use the configuration as for the Claude Desktop App.
HTTP Transport
By default, this server uses stdio transport — the standard mode for MCP clients like Claude Desktop and Cursor. For hosted or multi-user deployments, an HTTP transport (MCP Streamable HTTP) is also available.
Security notice: the HTTP server has no built-in authentication and no TLS. Any client that can reach the port can establish a session, and credentials travel in cleartext. Only use HTTP transport behind an authenticated reverse proxy (nginx, Caddy, a cloud load balancer) that terminates TLS and enforces authentication. If the server runs on the same machine as your MCP client, use the default stdio transport.
Starting the server in HTTP mode
MCP_TRANSPORT_TYPE=http MCP_TRANSPORT_PORT=3000 npx @chkp/workforce-ai-mcp
# or
npx @chkp/workforce-ai-mcp --transport http --transport-port 3000The server exposes:
POST/GET/DELETE /mcp— MCP protocol endpointGET /health— server status (active session count, version)
Development
Prerequisites
- Node.js 20+
- npm 10+
Setup
# From the monorepo root — install all dependencies
npm installBuild
# Build this package (and its workspace dependencies)
npx nx build @chkp/workforce-ai-mcpRegenerating tools
The tool set is generated from the OpenAPI spec (specs/openapi-mcp.json). To refresh it after a spec change:
npm run spec:fetch --workspace @chkp/workforce-ai-mcp # optional: pull latest spec (needs SWAGGERHUB_API_KEY)
npm run generate-tools --workspace @chkp/workforce-ai-mcp # regenerate src/tools/tools.g.ts + write-tools.g.ts + this tableRunning Locally
node FULL_PATH_TO_SERVER/packages/workforce-ai/dist/index.js \
--client-id YOUR_CLIENT_ID --access-key YOUR_ACCESS_KEY \
--gateway https://cloudinfra-gw-us.portal.checkpoint.com⚠️ Security Notice
- Authentication keys and credentials are never shared with the model. They are used only by the MCP server to authenticate with the Check Point CloudInfra gateway over TLS.
- Write mode is off by default. The write tools are hidden unless
WRITE_MODE="true"; enable it only when you intend to modify policy. - Only use client implementations you trust. Malicious or untrusted clients could misuse your credentials or access data improperly.
📊 Telemetry and Privacy
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.
Opt-Out: Set TELEMETRY_DISABLED=true or use the --no-telemetry flag to disable telemetry collection.
