检查点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
许可证
麻省理工学院