mcpField
B
bunny.net CDN and Shield

bunny.net CDN and Shield

本地服务
github.com/fullfatthings云与基础设施01 周前更新

关于 bunny.net CDN and Shield

bunny.net CDN and Shield 是用于排查 bunny.net CDN 站点并管理 Shield WAF 的 MCP 服务,适合负责 CDN 和 Web 安全配置的团队。它涵盖缓存、边缘规则、统计数据、源站错误及 WAF,并在更新时提供变更对比。

主要功能

  1. 01查看拉取区域与 CDN 统计
  2. 02检查源站错误和边缘规则
  3. 03管理缓存清除与区域设置
  4. 04配置 WAF、自定义规则和限速
  5. 05查看 WAF 事件日志与机器人检测
  6. 06更新结果提供前后差异并隐藏凭据

适用场景

  1. 01排查 CDN 请求错误和缓存表现
  2. 02清除 URL 或整个区域的缓存
  3. 03调整 WAF 规则和限速设置
  4. 04检查近期被拦截、质询或记录的请求

MCP 相关

该 MCP 服务向客户端提供 bunny.net 拉取区域、边缘规则、缓存、统计数据和 Shield WAF 的读取与管理工具。设置 BUNNY_READONLY=1 后只注册读取工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"fullfatthings-bunny": {
"command": "npx",
"args": [
"-y",
"@fullfatthings/bunny-mcp"
],
"env": {
"BUNNY_API_KEY": "<BUNNY_API_KEY>",
"BUNNY_READONLY": "<BUNNY_READONLY>"
}
}
}
}
启动命令npx -y @fullfatthings/bunny-mcp
需要配置的环境变量
BUNNY_API_KEY密钥bunny.net account API key (full account access)
BUNNY_READONLYSet to 1 to register only read tools

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@fullfatthings/bunny-mcp1.0.1

工具

16

收录的工具列表 · 更新于 1 周前

参数类型必填说明
pageinteger否
searchstring否按名称或主机名筛选
perPageinteger否

详细介绍

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_zoneWAF 设置、自定义规则、速率限制和机器人检测,并附带 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。