防火墙管理服务器

一个用于Check Point管理API的MCP服务器,使AI助手能够通过自然语言管理防火墙策略、网络对象、NAT规则和安全网关。

  • by cheenu1092-oss
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cheenu1092-oss/checkpoint-mcp-server

使用说明

检查点mcp服务器

用于检查点管理API的MCP(模型上下文协议)服务器,使Claude等人工智能助手能够通过自然语言管理检查点防火墙策略、网络对象、NAT规则和安全网关。


特性

  • 传统模式 --每个常见操作(显示主机、添加规则、发布等)的单独命名MCP工具
  • 代码模式 --单身 checkpoint_execute 针对API运行任意JavaScript以实现高级自动化的工具
  • 默认情况下为只读;写操作需要明确的选择加入
  • 具有自动登录功能的自动会话管理
  • 支持Check Point R80.x和R81.x管理API
  • 整个TypeScript都有严格的类型

先决条件

  • Node.js 18或更高版本
  • 启用了管理API的Check Point SmartCenter或多域管理服务器
  • 在管理工作站上启用API访问(mgmt_cli 或SmartConsole API访问设置)
  • 从运行此服务器的计算机到管理API端口的网络连接(默认值:HTTPS/443)

安装

git clone https://github.com/cheenu1092-oss/checkpoint-mcp-server.git
cd checkpoint-mcp-server
npm install
npm run build

该构建产生了两个入口点:

文件 描述
dist/traditional/index.js 具有单独命名工具的传统模式
dist/code-mode/index.js 单一代码模式 checkpoint_execute 工具

配置

所有配置均通过环境变量提供。

变量 必填 默认 描述
CHECKPOINT_HOST 是 - 管理API的基本URL,例如。 https://192.168.1.100
CHECKPOINT_USERNAME 是 - neneneba API管理员用户名
CHECKPOINT_PASSWORD 是 - neneneba API管理员密码
CHECKPOINT_DOMAIN 否 -- 域名(仅限多域部署)
CHECKPOINT_VERIFY_SSL 没有 true 设置为 false 跳过TLS证书验证(不建议用于生产)
CHECKPOINT_SESSION_TIMEOUT 没有 600 会话空闲超时(秒)
CHECKPOINT_ENABLE_WRITE 没有 false 设置为 true 启用对象创建、修改、删除和规则管理

使用Claude Desktop

将以下一个(或两个)条目添加到Claude Desktop配置文件中。

传统模式(推荐给大多数用户)

{
  "mcpServers": {
    "checkpoint": {
      "command": "node",
      "args": ["/absolute/path/to/checkpoint-mcp-server/dist/traditional/index.js"],
      "env": {
        "CHECKPOINT_HOST": "https://your-management-server",
        "CHECKPOINT_USERNAME": "admin",
        "CHECKPOINT_PASSWORD": "your-password",
        "CHECKPOINT_DOMAIN": "Global",
        "CHECKPOINT_ENABLE_WRITE": "false"
      }
    }
  }
}

代码模式(高级)

{
  "mcpServers": {
    "checkpoint-code": {
      "command": "node",
      "args": ["/absolute/path/to/checkpoint-mcp-server/dist/code-mode/index.js"],
      "env": {
        "CHECKPOINT_HOST": "https://your-management-server",
        "CHECKPOINT_USERNAME": "admin",
        "CHECKPOINT_PASSWORD": "your-password",
        "CHECKPOINT_ENABLE_WRITE": "true"
      }
    }
  }
}

可用工具(传统模式)

会话/系统

工具 说明
checkpoint_show_session 显示当前会话信息
checkpoint_show_tasks 显示异步任务状态
checkpoint_show_gateways_and_servers 列出所有托管网关和服务器
checkpoint_publish 将待处理的更改提交到数据库
checkpoint_discard 回滚待定更改

网络对象

工具 说明
checkpoint_show_hosts 列出主机对象(分页)
checkpoint_show_host 按名称或UID显示单个主机
checkpoint_add_host 创建主机对象
checkpoint_set_host 更新主机对象
checkpoint_delete_host 删除主机对象
checkpoint_show_networks 列出网络对象(分页)
checkpoint_show_network 显示单个网络
checkpoint_add_network 创建网络对象
checkpoint_set_network 更新网络对象
checkpoint_delete_network 删除网络对象
checkpoint_show_groups 列出组对象(分页)
checkpoint_show_group 显示单个组及其成员
checkpoint_add_group 创建组
checkpoint_set_group 更新组
checkpoint_delete_group 删除组
checkpoint_show_services_tcp 列出TCP服务对象
checkpoint_show_service_tcp 显示单个TCP服务
checkpoint_show_services_udp 列出UDP服务对象
checkpoint_show_service_udp 显示单个UDP服务

访问策略

工具 说明
checkpoint_show_access_layers 列出访问策略层
checkpoint_show_access_layer 显示单个访问层
checkpoint_show_access_rulebase 在图层中显示规则(分页)
checkpoint_show_access_rule 显示单个规则
checkpoint_add_access_rule 向图层添加规则
checkpoint_set_access_rule 修改现有规则
checkpoint_delete_access_rule 删除规则

网络地址转换

工具 说明
checkpoint_show_nat_rulebase 显示包的NAT规则库
checkpoint_show_nat_rule 显示单个NAT规则
checkpoint_add_nat_rule 添加NAT规则
checkpoint_set_nat_rule 修改NAT规则
checkpoint_delete_nat_rule 删除NAT规则

代码模式

工具 说明
checkpoint_execute 针对Check Point API执行JavaScript代码

安全说明

  • 默认情况下,写入操作被禁用。 您必须设置 CHECKPOINT_ENABLE_WRITE=true 允许任何创建、更新或删除操作。
  • 更改在发布之前不会生效。 所有写入操作都会在当前会话中创建挂起的更改。呼叫 checkpoint_publish (传统)或 await client.publish() (代码模式)提交它们。呼叫 checkpoint_discard 回滚。
  • 代码模式执行任意JavaScript 在Node.js进程中。它仅适用于受信任的操作员和开发人员,不适用于不受信任的输入源。
  • 将凭据存储在环境变量或机密管理器中,永远不要硬编码在配置文件中。
  • 使用具有最低权限的API管理员专用帐户。

发展

# Run tests
npm test

# Build all targets
npm run build

# Build individual targets
npm run build:traditional
npm run build:code-mode

许可证

麻省理工学院