关于 Proofpoint
Proofpoint 是连接 AI 助手与 Proofpoint TAP、Essentials API 的 MCP 服务,面向安全团队,用于调查威胁、搜索邮件,以及管理隔离区和邮件策略。
主要功能
- 01调查威胁与取证分析
- 02搜索安全事件和邮件
- 03管理邮件隔离区与策略
- 04访问威胁情报
- 05查看 URL 防护活动
适用场景
- 01调查上报的邮件威胁
- 02在事件分诊时搜索事件
- 03审查被隔离的邮件
MCP 相关
向兼容 MCP 的 AI 客户端提供 Proofpoint 安全操作能力,包括威胁调查、邮件搜索、隔离区管理和 URL 防护工具。支持 stdio 和经认证的 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e PROOFPOINT_SERVICE_PRINCIPAL -e PROOFPOINT_SERVICE_SECRET -e PROOFPOINT_BASE_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/proofpoint-mcp:v1.1.4PROOFPOINT_SERVICE_PRINCIPALProofpoint TAP service principal (API user identifier)PROOFPOINT_SERVICE_SECRET密钥Proofpoint TAP service secretPROOFPOINT_BASE_URLProofpoint TAP API base URL (defaults to https://tap-api-v2.proofpoint.com)MCP_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-technology/proofpoint-mcp:v1.1.4stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Proofpoint MCP 服务
适用于 Proofpoint TAP 和 Essentials API 的模型上下文协议(MCP)服务。可让 AI 助手调查威胁、追踪电子邮件、管理隔离区、访问威胁情报并执行 URL 防御操作。
这是一个 模型上下文协议(MCP) 服务,可将 Claude(或任何兼容 MCP 的 AI)连接到你的 Proofpoint 环境。
属于 MSP Claude Plugins 生态系统的一部分 —— 这是一个不断扩展的 MSP 技术栈 AI 集成套件。由 MSP 为 MSP 打造。
安装
npm install @wyre-ai/proofpoint-mcp
配置
复制 .env.example,并设置以下变量。stdio 传输会读取 PROOFPOINT_*,不会使用 HTTP 服务间身份验证。
| 变量 | 必需 | 描述 |
|---|---|---|
PROOFPOINT_SERVICE_PRINCIPAL | stdio 和 AUTH_MODE=env 时必需 | Proofpoint TAP 服务主体 |
PROOFPOINT_SERVICE_SECRET | stdio 和 AUTH_MODE=env 时必需 | Proofpoint TAP 服务密钥 |
PROOFPOINT_BASE_URL | 否 | API 主机。默认为 https://tap-api-v2.proofpoint.com。不是凭据。 |
MCP_TRANSPORT | 否 | stdio(默认)或 http |
AUTH_MODE | 否 | gateway(Docker 镜像和 Compose)或 env。gateway 模式要求每个 /mcp 请求都包含 X-Proofpoint-Service-Principal 和 X-Proofpoint-Service-Secret,且绝不会回退到 PROOFPOINT_*。只有 S2S 身份验证成功后,env 才会使用这些变量。未设置时为 env(stdio 和单租户 HTTP)。 |
CONDUIT_S2S_SECRET | HTTP 必需 | 服务间密钥。如果此项为空或是已知占位符(changeme、secret、replace-me、your-s2s-secret 及其他示例值),HTTP 服务会记录错误并以非零状态退出。使用 openssl rand -hex 32 生成。未设置此项时,Compose 不会启动。此值绝不会被记录。 |
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 | 否 | 设置有效的 CONDUIT_S2S_SECRET 时使用的绑定地址。未设置时默认为 127.0.0.1。容器镜像和 Compose 会在容器内设置为 0.0.0.0。 |
MCP_HTTP_PORT | 否 | HTTP 端口。默认为 8080。 |
/health 和 /healthz 无需身份验证,也不会读取凭据。
HTTP 身份验证
设置 MCP_TRANSPORT=http 和 CONDUIT_S2S_SECRET 后,每个 /mcp 请求都必须包含 X-Gateway-S2S。检查逻辑位于 src/s2s-verify.ts 的 verifyS2sHeader 中:标头值格式为 t=<unix seconds>,v1=<hex>,其中十六进制值是以 CONDUIT_S2S_SECRET 为密钥、对字面字符串 t=<unix seconds> 计算的 HMAC-SHA256(64 个小写十六进制字符)。时间戳与服务器时钟的偏差不得超过 300 秒。若缺少标头或标头无效,会在读取供应商凭据之前返回 HTTP 401。
在 AUTH_MODE=gateway 模式下,/mcp 还要求提供 X-Proofpoint-Service-Principal 和 X-Proofpoint-Service-Secret(X-Proofpoint-Cluster-Url 为可选项)。这些标头是该请求唯一的凭据来源。请求若缺少任一必需标头,将返回 401,且不会回退到 PROOFPOINT_SERVICE_PRINCIPAL / PROOFPOINT_SERVICE_SECRET。
使用方法
使用 Claude Desktop 运行
将以下内容添加到 Claude Desktop 的 claude_desktop_config.json 中:
{
"mcpServers": {
"proofpoint-mcp": {
"command": "npx",
"args": ["@wyre-ai/proofpoint-mcp"],
"env": {
"PROOFPOINT_SERVICE_PRINCIPAL": "your-proofpoint-service-principal"
"PROOFPOINT_SERVICE_SECRET": "your-proofpoint-service-secret"
}
}
}
}
使用 Claude Code(CLI)运行
claude mcp add proofpoint-mcp \
-e PROOFPOINT_SERVICE_PRINCIPAL=your-value \
-e PROOFPOINT_SERVICE_SECRET=your-value \
-- npx -y @wyre-ai/proofpoint-mcp
Docker
该镜像在容器内监听 0.0.0.0(MCP_HTTP_HOST),默认使用 AUTH_MODE=gateway。请将端口发布到环回地址,并传入真实的 S2S 密钥。在网关模式下,Proofpoint 凭据会随每个请求通过请求头传入;不会从环境变量中读取。
docker build -t proofpoint-mcp .
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-p 127.0.0.1:8080:8080 \
proofpoint-mcp
未设置 CONDUIT_S2S_SECRET 时,Compose 会拒绝启动。网关服务不会设置 PROOFPOINT_SERVICE_PRINCIPAL 或 PROOFPOINT_SERVICE_SECRET,也不使用 env_file,因此项目 .env 文件无法注入静态供应商凭据。不过,Compose 仍会从该文件插值获取 CONDUIT_S2S_SECRET。该服务会发布 127.0.0.1:8080:8080:
CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" docker compose up
单租户 HTTP(AUTH_MODE=env)仍需要 S2S 密钥,然后使用 PROOFPOINT_SERVICE_PRINCIPAL 和 PROOFPOINT_SERVICE_SECRET。它与上方的网关 Compose 服务相互独立。
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-e AUTH_MODE=env \
-e PROOFPOINT_SERVICE_PRINCIPAL=your-value \
-e PROOFPOINT_SERVICE_SECRET=your-value \
-p 127.0.0.1:8080:8080 \
proofpoint-mcp
不带密钥的本地 HTTP 仅供开发使用。它会绑定到 127.0.0.1 并记录警告,即使 MCP_HTTP_HOST 为 0.0.0.0 也是如此:
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
功能
交互式威胁卡片(MCP Apps)
在 MCP Apps 宿主(Claude Desktop/web)中,proofpoint_threat_get_by_id 会呈现为交互式只读卡片,显示威胁名称、状态、类别、严重性,以及已解析的攻击者/恶意软件家族/活动名称;在其他宿主中,纯 JSON 行为保持不变。卡片默认采用中性色,也可通过注入 window.__BRAND__ 或设置 MCP_BRAND_* 环境变量(MCP_BRAND_NAME、MCP_BRAND_LOGO_URL、MCP_BRAND_PRIMARY_COLOR、MCP_BRAND_ACCENT_COLOR、MCP_BRAND_BG、MCP_BRAND_TEXT)进行品牌定制,无需重新构建。
可用领域
Dlp
数据丢失防护策略
Events
安全事件流和 SIEM 导出
Forensics
威胁取证分析
People
遭受攻击最多的人群(VAP)报告
Policy
电子邮件策略管理
Quarantine
电子邮件隔离管理
Reports
安全报告和摘要
Smart Search
高级电子邮件搜索
Tap
定向攻击防护事件和活动
Threat Intel
威胁情报和入侵指标
Url Defense
URL 重写和点击防护
开发
# Clone the repository
git clone https://github.com/WYRE-AI/proofpoint-mcp.git
cd proofpoint-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# HTTP refuses to start until CONDUIT_S2S_SECRET is a real secret
CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" MCP_TRANSPORT=http npm start
# Local HTTP only, without a service-to-service secret (always binds 127.0.0.1)
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
贡献
欢迎贡献!如果存在 CONTRIBUTING.md,请参阅该文件;也可以提交 issue 讨论更改。
许可证
本项目依据 Apache License, Version 2.0 许可。详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。