npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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

  1. Go to the Infinity Portal API Keys page.
  2. Click New > New Account API Key.
  3. In the Service dropdown select Workforce AI Security (and for Browse, Browse Security) and create the key.
  4. 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=true or use the --no-telemetry flag.

Prerequisites

Download and install the latest Node.js (v20 or higher):

node -v      # Should print "v20" or higher

Supported 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" to env.

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.json

Add 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 3000

The server exposes:

  • POST/GET/DELETE /mcp — MCP protocol endpoint
  • GET /health — server status (active session count, version)

Development

Prerequisites

  • Node.js 20+
  • npm 10+

Setup

# From the monorepo root — install all dependencies
npm install

Build

# Build this package (and its workspace dependencies)
npx nx build @chkp/workforce-ai-mcp

Regenerating 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 table

Running 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

  1. 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.
  2. Write mode is off by default. The write tools are hidden unless WRITE_MODE="true"; enable it only when you intend to modify policy.
  3. 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.