关于 bunny.net CDN and Shield
bunny.net CDN and Shield 是用于排查 bunny.net CDN 站点并管理 Shield WAF 的 MCP 服务,适合负责 CDN 和 Web 安全配置的团队。它涵盖缓存、边缘规则、统计数据、源站错误及 WAF,并在更新时提供变更对比。
主要功能
- 01查看拉取区域与 CDN 统计
- 02检查源站错误和边缘规则
- 03管理缓存清除与区域设置
- 04配置 WAF、自定义规则和限速
- 05查看 WAF 事件日志与机器人检测
- 06更新结果提供前后差异并隐藏凭据
适用场景
- 01排查 CDN 请求错误和缓存表现
- 02清除 URL 或整个区域的缓存
- 03调整 WAF 规则和限速设置
- 04检查近期被拦截、质询或记录的请求
MCP 相关
该 MCP 服务向客户端提供 bunny.net 拉取区域、边缘规则、缓存、统计数据和 Shield WAF 的读取与管理工具。设置 BUNNY_READONLY=1 后只注册读取工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
16收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | 否 | |
| search | string | 否 | 按名称或主机名筛选 |
| perPage | integer | 否 |
详细介绍
bunny-mcp
用于调试 bunny.net CDN 站点和管理 bunny Shield(bunny.net Web 应用防火墙,WAF)的 MCP 服务。
这是一个非官方项目,与 bunny.net 无关,也未获得其认可。
该项目涵盖拉取区域(CDN 站点)、边缘规则、缓存清除、CDN 统计数据、源站错误日志以及 Shield:WAF 设置、自定义 WAF 规则、速率限制、机器人检测和 WAF 事件日志。不涵盖 DNS、存储、Stream 或边缘脚本。有关这些功能,请参阅 anvme/bunnycdn-mcp 或 Digitizers/bunny-mcp。
与众不同之处
- 说明规则的实际效果。
get_shield_zone会返回notes,例如提醒你:当区域的 WAF 执行模式为 Log 时,Block 规则只会记录日志。 - 读取 WAF 事件日志。
shield_event_logs会显示过去 72 小时内 WAF 拦截、质询或记录的内容,并按规则、IP、JA4 指纹等分组。 - 报告变更内容。 更新工具会返回变更前后的差异。
update_pull_zone还会列出 bunny.net 更改但你并未要求更改的设置。 - 保持响应简洁。 拉取区域、边缘规则、源站错误和事件日志均会经过摘要处理。传入
detail: true可获取原始响应。 - 隐藏凭据。 Token 身份验证密钥、AWS 签名密钥、TLS 证书和私钥、日志转发 Token,以及边缘规则触发条件中的 Cookie 或
Authorization值都会替换为<hidden>,原始响应中也会如此处理。
要求
- Node.js 20 或更高版本
- bunny.net 账户 API 密钥,可在 bunny.net 控制面板的 账户设置 > API 密钥 中获取。此密钥可完全访问账户。
安装
Claude Code:
claude mcp add bunny --env BUNNY_API_KEY=your-key -- npx -y @fullfatthings/bunny-mcp
其他 MCP 客户端(例如 Claude Desktop):
{
"mcpServers": {
"bunny": {
"command": "npx",
"args": ["-y", "@fullfatthings/bunny-mcp"],
"env": { "BUNNY_API_KEY": "your-key" }
}
}
}
配置
| 变量 | 含义 |
|---|---|
BUNNY_API_KEY | 必填。你的 bunny.net 账户 API 密钥。 |
BUNNY_READONLY | 设为 1 时,仅注册读取工具。届时,工具列表中不会包含写入工具,因此助手无法调用这些工具。 |
工具
读取工具:
| 工具 | 用途 |
|---|---|
list_pull_zones | 列出拉取区域及其 ID、源站和主机名。 |
get_pull_zone | 获取单个拉取区域的信息:主机名、易读的边缘规则,以及缓存、源站和安全设置。 |
cdn_statistics | 带宽、请求数、缓存命中率和错误响应。 |
origin_errors | 某一天 bunny.net 向你的源站发送请求时发生的失败请求,按错误类型统计。 |
get_shield_zone | WAF 设置、自定义规则、速率限制和机器人检测,并附带 notes。 |
shield_event_logs | 查看过去 72 小时内 WAF 拦截、质询或记录的请求。 |
写入工具(当 BUNNY_READONLY=1 时不会注册):
| 工具 | 用途 |
|---|---|
update_pull_zone | 更改拉取区域设置。 |
purge_cache | 清除某个 URL 或整个拉取区域的缓存。 |
save_edge_rule | 创建或更新边缘规则。 |
set_edge_rule_enabled | 启用或停用边缘规则。 |
delete_edge_rule | 删除边缘规则。 |
update_shield_zone | 更改 WAF 设置,包括从列表中添加或移除单个规则 ID。 |
update_bot_detection | 更改机器人检测模式和灵敏度。 |
save_waf_rule | 创建或更新自定义 WAF 规则。 |
save_rate_limit | 创建或更新速率限制。 |
delete_shield_rule | 删除自定义 WAF 规则或速率限制。 |
若要安全地测试新的 WAF 规则,请将其操作设为 Log 并保存,检查 shield_event_logs,然后再次保存并将操作改为 Block。
开发
npm install
npm test
要发布,请运行 npm version patch(或 minor、major)。该命令会更新 package.json 和 server.json,然后提交、更改标签并推送;该标签会触发 GitHub Action,将项目发布到 npm 和 MCP 注册表。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。