单命令启动 Check Point MCP 服务器实验室
使用以下命令启动 n8n + Ollama + 流程界面 + Qdrant + 完整的 Check Point MCP 服务器堆栈:
docker compose --profile cpu up -d
这是一个生产就绪的多服务 Docker Compose 堆栈,用于搭建完整的本地 AI + Check Point MCP(模型上下文协议)环境:
n8n-nodes-mcp目标是创建一个用于构建、测试和演示 AI + Check Point 工作流程的单一实验室堆栈:
n8n-nodes-mcp预安装.env 文件中指定的空闲端口(例如 5678,5432,3000,3001,7860,6333,11434,73xx,……)docker-compose.yml 和 .env 文件的目录下执行可选 – GPU 配置文件
nvidia-smi 可用创建一个 .env 文件(参见环境)。
构建自定义 n8n 镜像:
docker compose build n8n
启动 CPU 堆栈:
docker compose --profile cpu up -d
等待 30-60 秒,直到:
n8n-nodes-mcp)n8n-import(工作流/凭据)访问 n8n:
.env 中的拥有者凭据登录如果希望 Ollama 使用 GPU 而不是 CPU:
# 启动 GPU 配置文件
docker compose --profile gpu-nvidia up -d
# 或同时使用 CPU 和 GPU
docker compose --profile cpu --profile gpu-nvidia up -d
为了避免每次重复配置文件:
export COMPOSE_PROFILES=cpu
docker compose up -d
</details>
| 组件 | 目的 |
|---|---|
| n8n | 自动化引擎 + MCP 编排器 |
| PostgreSQL | n8n 后端数据库 |
| n8n-provision | 拥有者创建 + n8n-nodes-mcp 安装 |
| n8n-import | 可选的工作流及凭据自动导入 |
| Ollama | 本地 LLM 服务器(CPU / GPU) |
| Open WebUI | Ollama 的聊天界面 |
| Flowise | LLM 编排 / 低代码构建器 |
| Langflow | 视觉 AI 流程构建器 |
| Qdrant | 向量数据库 |
| MCP 边车 | Check Point MCP 工具作为 HTTP 服务器 |
.
├─ docker-compose.yml # 多服务堆栈(CPU / GPU 配置文件)
├─ .env # 密码 / 端口 / 管理员值
├─ docker/
│ └─ n8n/
│ └─ Dockerfile # 自定义 n8n 镜像(MCP CLI 和包装器内置)
├─ scripts/
│ └─ n8n-provision.sh # 边车:拥有者设置 + 登录 + 社区节点安装
├─ n8n/
│ ├─ backup/ # 自动导入的工作流/凭据(可选)
│ └─ custom-nodes/ # 额外的 n8n 节点(持久化)
├─ langflow/
│ └─ flows/ # 示例 Langflow 流程
└─ qdrant/ # Qdrant 的本地备份 / 集合
.env)在 docker-compose.yml 旁边创建一个 .env:
# ───────── n8n 数据库 ─────────
POSTGRES_USER=admin
POSTGRES_PASSWORD=change_me
POSTGRES_DB=n8n
POSTGRES_PORT=5432
# ───────── n8n Web ─────────
N8N_PORT=5678
N8N_ENCRYPTION_KEY=long_random_encryption_key
N8N_USER_MANAGEMENT_JWT_SECRET=supersecretjwtkey
# ───────── n8n 拥有者 / 管理员 ─────────
N8N_ADMIN_EMAIL=admin@cpdemo.com
N8N_ADMIN_FIRST_NAME=Admin
N8N_ADMIN_LAST_NAME=User
N8N_ADMIN_PASSWORD=change_me
# ───────── n8n 基本认证 ─────────
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=change_me
# ───────── Ollama ─────────
OLLAMA_HOST=ollama-cpu:11434
OLLAMA_PORT=11434
# ───────── 其他界面 ─────────
OPEN_WEBUI_PORT=3000
FLOWISE_PORT=3001
LANGFLOW_PORT=7860
QDRANT_PORT=6333
# ───────── MCP (填写你使用的部分) ─────────
DOC_CLIENT_ID=
SECRET_KEY=
DOC_REGION=
MANAGEMENT_HOST=
SMS_API_KEY=
TE_API_KEY=
REPUTATION_API_KEY=
SPARK_MGMT_CLIENT_ID=
SPARK_MGMT_SECRET_KEY=
SPARK_MGMT_REGION=
SPARK_MGMT_INFINITY_PORTAL_URL=
HARMONY_SASE_CLIENT_ID=
HARMONY_SASE_SECRET_KEY=
HARMONY_SASE_REGION=
CPINFO_LOG_LEVEL=info
💡 提示
N8N_ADMIN_*由配置程序用来调用/rest/owner/setup。N8N_BASIC_AUTH_*必须与配置程序用来验证的身份匹配。- 只需填充你实际使用的 MCP 变量(或在
docker-compose.yml中注释掉那些服务)。
Check Point MCP 边车复用了带有 MCP CLI 和包装器的自定义 n8n 基础镜像。
docker compose build n8n
这会产生一个镜像(例如 custom-mcp-n8n:custom),其中包含:
@chkp/* MCP CLI 包/usr/local/bin:
mcp-documentationmcp-https-inspectionmcp-quantum-managementmcp-management-logsthreat-emulation-mcpthreat-prevention-mcpspark-management-mcpreputation-service-mcpharmony-sase-mcpquantum-gw-cli-mcpquantum-gw-connection-analysis-mcpquantum-gaia-mcpcpinfo-analysis-mcpCPU 堆栈:
docker compose --profile cpu up -d
GPU(NVIDIA)Ollama 堆栈:
docker compose --profile gpu-nvidia up -d
两个配置文件:
docker compose --profile cpu --profile gpu-nvidia up -d
设置默认配置文件:
export COMPOSE_PROFILES=cpu
docker compose up -d
n8n-provision)n8n-provision 边车运行一次并执行:
http://n8n:5678/healthz/rest/owner/setup 创建拥有者(使用 N8N_ADMIN_*)N8N_BASIC_AUTH_* 和拥有者凭据登录n8n-nodes-mcp(幂等操作 – HTTP 400 “已安装”是可以接受的)重新运行是安全的;它会跳过已经完成的步骤。
n8n-import)如果你将导出的资产放置在:
./n8n/backup/credentials./n8n/backup/workflowsn8n-import 容器会在一切健康后执行:
n8n import:credentials --separate --input=/backup/credentials
n8n import:workflow --separate --input=/backup/workflows
留空这些文件夹以跳过自动导入。
| 服务 | URL |
|---|---|
| n8n | http://localhost:5678 |
| Open WebUI | http://localhost:3000 |
| Flowise | http://localhost:3001 |
| Langflow | http://localhost:7860 |
| Qdrant | http://localhost:6333 |
| Ollama (API) | http://localhost:11434 |
从 n8n MCP HTTP 节点 使用这些(同 demo 网络):
http://mcp-documentation:3000http://mcp-https-inspection:3001http://mcp-quantum-management:3002http://mcp-management-logs:3003http://threat-emulation-mcp:3004http://threat-prevention-mcp:3005http://spark-management-mcp:3006http://reputation-service-mcp:3007http://harmony-sase-mcp:3-008http://quantum-gw-cli-mcp:3009http://quantum-gw-connection-analysis-mcp:3010http://quantum-gaia-mcp:3011http://cpinfo-analysis-mcp:3012如果端口已发布:
从另一台机器使用 http://<docker-host-ip>:73xx。
在 n8n 的 MCP 客户端节点(如 mcpClientTool)中:
httphttp://<mcp-service-name>:<port>(例如 http://threat-emulation-mcp:3004)@chkp/...。如果设置了包字段,n8n 将尝试在容器内执行 npx @chkp/... 并你会看到:
npm warn exec The following package was not found and will be installedError [ERR_MODULE_NOT_FOUND]: Cannot find package '@chkp/mcp-utils'HTTP 模式 + 边车 = 清晰、可预测的行为。
ollama-pull-* 边车等待 Ollama API 并拉取配置的模型,例如:
llama3.1:latestnomic-embed-text:latest要更改拉取哪些模型,请编辑 docker-compose.yml 中 ollama-pull-* 服务内的 command:。
要检查或清理 Ollama 容器内的模型:
ollama list
ollama rm <model-name>
堆栈使用命名 Docker 卷,因此你可以销毁容器而保留数据。
| 卷 | 描述 |
|---|---|
n8n_storage | n8n 配置、用户数据、一些缓存元数据 |
postgres_storage | PostgreSQL 数据库用于 n8n |
ollama_storage | Ollama 模型和数据 |
qdrant_storage | Qdrant 集合 |
open-webui | Open WebUI 数据 |
flowise | Flowise 数据 |
langflow | Langflow 数据 |
示例:将 n8n_storage 备份到本地 tarball:
docker run --rm -v n8n_storage:/data -v "$(pwd)":/backup busybox \
tar czf /backup/n8n_storage.tgz -C /data .
n8n-import:加密密钥不匹配确保所有 n8n 相关容器(n8n,n8n-import,n8n-provision)使用 .env 中相同的 N8N_ENCRYPTION_KEY 值。
重新运行时正常现象。只要你在设置 → 社区节点中看到