关于 Avanan
Avanan 是连接 AI 助手与 Check Point Avanan 邮件安全环境的 MCP 服务,支持调查安全事件、处置威胁、管理例外项和搜索,并面向 MSP 多租户运维。
主要功能
- 01获取并调查安全事件
- 02执行隔离或释放等威胁处置
- 03管理邮件例外项和允许列表
- 04搜索邮件安全数据
- 05在支持的客户端中以只读交互卡片展示事件详情
适用场景
- 01查看安全事件和修复状态
- 02调查邮件威胁
- 03隔离或释放威胁
- 04管理邮件安全环境中的例外项
MCP 相关
该服务将 Claude 等兼容 MCP 的客户端连接到 Check Point Avanan,并提供事件查询、威胁处置、例外项管理和安全数据搜索工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e AVANAN_CLIENT_ID -e AVANAN_CLIENT_SECRET -e AVANAN_API_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/avanan-mcp:v2.2.5AVANAN_CLIENT_IDAvanan / Harmony Email API client IDAVANAN_CLIENT_SECRET密钥Avanan / Harmony Email API client secretAVANAN_API_URLAvanan API base URL — defaults to the standard Harmony Email endpoint if omittedMCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.AUTH_MODE密钥Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.LOG_LEVELLog verbosity: debug, info, warn, error本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/wyre-ai/avanan-mcp:v2.2.5stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Avanan(Check Point)MCP 服务
适用于 Check Point Avanan(Harmony Email & Collaboration)的模型上下文协议(MCP)服务。可让 AI 助手管理安全事件、调查威胁,并在电子邮件安全环境中处理多租户 MSP 运维。
这是一个模型上下文协议(MCP)服务,可将 Claude(或任何兼容 MCP 的 AI)连接到你的 Check Point Avanan 环境。
属于 MSP Claude Plugins 生态系统的一部分 — 这是一个不断扩展的 MSP 技术栈 AI 集成套件。由 MSP 打造,服务于 MSP。
功能
- 交互式安全事件卡片(MCP Apps):在 MCP Apps 宿主(Claude Desktop/web)中,
hec_get_event会呈现为只读交互式卡片,显示严重性、状态、平台和补救状态;默认使用中性色,可通过注入window.__BRAND__或设置MCP_BRAND_*环境变量进行品牌定制;在其他宿主中的纯 JSON 行为不变
安装
npm install @wyre-ai/avanan-mcp
配置
复制 .env.example,并设置下方变量。将该文件中的 CONDUIT_S2S_SECRET 留空。
| 变量 | 必填 | 描述 |
|---|---|---|
CHECKPOINT_CLIENT_ID | stdio 和 AUTH_MODE=env 必填 | Checkpoint/Avanan OAuth2 客户端 ID |
CHECKPOINT_CLIENT_SECRET | stdio 和 AUTH_MODE=env 必填 | Checkpoint/Avanan OAuth2 客户端密钥 |
CHECKPOINT_REGION | 否 | API 区域(us、eu、au、in)。未指定时会从 JWT 自动检测。 |
MCP_TRANSPORT | 否 | stdio(默认)或 http |
AUTH_MODE | 否 | gateway(Docker 镜像和 Compose 的默认值)或 env。网关模式要求每个 /mcp 请求都携带 X-Checkpoint-Client-Id 和 X-Checkpoint-Client-Secret,且绝不会回退使用 CHECKPOINT_*。env 仅在 S2S 身份验证成功后使用这些变量。 |
CONDUIT_S2S_SECRET | 使用 HTTP 时必填 | 服务间 HMAC 密钥。若该值为空或为已知占位值(changeme、replace-with-a-real-secret、your-s2s-secret 及其他公开示例值),HTTP 服务会记录错误并以非零状态码退出。MCP_ALLOW_INSECURE_DEV=1 不接受占位值。Compose 不会在未设置该值时启动。切勿提交真实值。该值绝不会被记录。使用 openssl rand -hex 32 生成。 |
MCP_ALLOW_INSECURE_DEV | 否 | 仅限本地开发时,精确设置为 1,即可在未设置 CONDUIT_S2S_SECRET 的情况下启动 HTTP。进程会记录警告、不强制要求 X-Gateway-S2S,并且只绑定到 127.0.0.1。非环回地址的 MCP_HTTP_HOST(包括 0.0.0.0)会被覆盖,并记录该覆盖操作。 |
MCP_HTTP_HOST | 否 | MCP_TRANSPORT=http 时的绑定地址。默认值为 127.0.0.1。设置了密钥时会遵循此值。容器镜像设置为 0.0.0.0。 |
MCP_HTTP_PORT | 否 | HTTP 端口。默认值为 8080。 |
/health 不需要身份验证。stdio 传输不使用 CONDUIT_S2S_SECRET。
HTTP 身份验证
使用 MCP_TRANSPORT=http 和真实的 CONDUIT_S2S_SECRET 时,每个 /mcp 请求都必须包含 X-Gateway-S2S。标头值为 t=<unix seconds>,v1=<hex>,其中十六进制值是以 CONDUIT_S2S_SECRET 为密钥,对字面字符串 t=<unix seconds> 计算得出的 HMAC-SHA256(64 个小写十六进制字符)。时间戳与服务器时钟的差值必须在 300 秒以内。缺少或无效的标头会导致 HTTP 401,且此时不会读取供应商凭据。
TS=$(date +%s)
SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}')
curl -sS http://127.0.0.1:8080/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H "X-Gateway-S2S: t=${TS},v1=${SIG}" \
-H 'X-Checkpoint-Client-Id: your-client-id' \
-H 'X-Checkpoint-Client-Secret: your-client-secret' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
在 AUTH_MODE=gateway(镜像和 Compose 的默认值)模式下,/mcp 还要求提供 X-Checkpoint-Client-Id 和 X-Checkpoint-Client-Secret。这些标头是该请求唯一的凭据来源。请求缺少任一标头都会返回 401,且不会回退到进程环境中的 CHECKPOINT_CLIENT_ID / CHECKPOINT_CLIENT_SECRET。
单租户 HTTP(AUTH_MODE=env)仍要求有效的 X-Gateway-S2S 标头;如果请求未携带 CHECKPOINT_CLIENT_ID 和 CHECKPOINT_CLIENT_SECRET 标头,则使用这两个环境变量。
使用方法
使用 Claude Desktop 运行
将以下内容添加到 Claude Desktop 的 claude_desktop_config.json 中:
{
"mcpServers": {
"avanan-mcp": {
"command": "npx",
"args": ["@wyre-ai/avanan-mcp"],
"env": {
"CHECKPOINT_CLIENT_ID": "your-checkpoint-client-id"
"CHECKPOINT_CLIENT_SECRET": "your-checkpoint-client-secret"
}
}
}
}
使用 Claude Code(CLI)运行
claude mcp add avanan-mcp \
-e CHECKPOINT_CLIENT_ID=your-value \
-e CHECKPOINT_CLIENT_SECRET=your-value \
-- npx -y @wyre-ai/avanan-mcp
Docker
镜像在容器内的 0.0.0.0(MCP_HTTP_HOST)上监听,默认使用 AUTH_MODE=gateway。请将端口发布到回环地址,并传入真实的 S2S 密钥。在 gateway 模式下,Checkpoint 凭据通过每个请求的标头传入,不会从环境中读取。
docker build -t avanan-mcp .
docker run \
-e CONDUIT_S2S_SECRET=your-s2s-secret \
-p 127.0.0.1:8080:8080 \
avanan-mcp
如果未设置 CONDUIT_S2S_SECRET,Compose 将拒绝启动;它会设置 AUTH_MODE=gateway,不会注入 CHECKPOINT_CLIENT_ID 或 CHECKPOINT_CLIENT_SECRET,并发布 127.0.0.1:8080:8080:
CONDUIT_S2S_SECRET=your-s2s-secret docker compose up
单租户 HTTP(AUTH_MODE=env)仍要求 S2S 密钥,然后使用 CHECKPOINT_CLIENT_ID 和 CHECKPOINT_CLIENT_SECRET。请勿在 gateway Compose 服务中使用此模式:
docker run \
-e CONDUIT_S2S_SECRET=your-s2s-secret \
-e AUTH_MODE=env \
-e CHECKPOINT_CLIENT_ID=your-value \
-e CHECKPOINT_CLIENT_SECRET=your-value \
-e CHECKPOINT_REGION=us \
-p 127.0.0.1:8080:8080 \
avanan-mcp
不带密钥的本地 HTTP 仅用于开发。即使 MCP_HTTP_HOST 为 0.0.0.0 或 localhost,它也会绑定到 127.0.0.1,并记录警告。已知的占位密钥仍会导致启动失败:
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
可用领域
事件
安全事件检索与调查
操作
对威胁采取行动(隔离、释放等)
例外
管理邮件例外和允许列表
搜索
搜索电子邮件安全数据
开发
# Clone the repository
git clone https://github.com/WYRE-AI/avanan-mcp.git
cd avanan-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
贡献
欢迎贡献!如果存在,请参阅 CONTRIBUTING.md;也可以提出 issue,讨论相关更改。
许可证
本项目采用 Apache License 2.0 许可。详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。