About bunny.net CDN and Shield
bunny.net CDN and Shield is an MCP server for diagnosing bunny.net CDN sites and managing Shield WAF. It is intended for teams handling CDN and web security settings, and covers cache, edge rules, statistics, origin errors, and WAF, with diffs for updates.
Key features
- 01Inspect pull zones and CDN statistics
- 02Review origin errors and edge rules
- 03Manage cache purges and zone settings
- 04Configure WAF, custom rules, and rate limits
- 05View WAF event logs and bot detection
- 06Show before-and-after update diffs and hide credentials
Use cases
- 01Diagnose CDN request errors and cache performance
- 02Purge a URL or an entire pull zone
- 03Adjust WAF rules and rate limits
- 04Review recently blocked, challenged, or logged requests
MCP support
The MCP server exposes tools to read and manage bunny.net pull zones, edge rules, cache, statistics, and Shield WAF. Setting BUNNY_READONLY=1 registers only read tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @fullfatthings/bunny-mcpBUNNY_API_KEYSecretbunny.net account API key (full account access)BUNNY_READONLYSet to 1 to register only read toolsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
16Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | No | |
| search | string | No | Filter by name or hostname |
| perPage | integer | No |
Details
From the project READMEbunny-mcp
An MCP server for debugging bunny.net CDN sites and managing bunny Shield, the bunny.net web application firewall (WAF).
This is an unofficial project. It is not affiliated with or endorsed by bunny.net.
It covers pull zones (CDN sites), edge rules, cache purges, CDN statistics, origin error logs, and Shield: WAF settings, custom WAF rules, rate limits, bot detection and WAF event logs. It does not cover DNS, storage, Stream or edge scripts. For those, see anvme/bunnycdn-mcp or Digitizers/bunny-mcp.
What it does differently
- Explains what rules will really do.
get_shield_zonereturnsnotesthat warn, for example, when Block rules only log because the zone's WAF execution mode is Log. - Reads WAF event logs.
shield_event_logsshows what the WAF blocked, challenged or logged in the last 72 hours, grouped by rule, IP, JA4 fingerprint and more. - Reports what changed. Update tools return a before-and-after diff.
update_pull_zonealso lists settings bunny.net changed that you did not ask for. - Keeps responses small. Pull zones, edge rules, origin errors and event logs are summarised. Pass
detail: truefor the raw response. - Hides credentials. Token authentication keys, AWS signing keys, TLS certificates and private keys, log forwarding tokens, and cookie or
Authorizationvalues in edge rule triggers are replaced with<hidden>, also in raw responses.
Requirements
- Node.js 20 or later
- A bunny.net account API key, from Account settings > API key in the bunny.net dashboard. This key gives full access to the account.
Install
Claude Code:
claude mcp add bunny --env BUNNY_API_KEY=your-key -- npx -y @fullfatthings/bunny-mcp
Other MCP clients (for example Claude Desktop):
{
"mcpServers": {
"bunny": {
"command": "npx",
"args": ["-y", "@fullfatthings/bunny-mcp"],
"env": { "BUNNY_API_KEY": "your-key" }
}
}
}
Configuration
| Variable | Meaning |
|---|---|
BUNNY_API_KEY | Required. Your bunny.net account API key. |
BUNNY_READONLY | Set to 1 to register only the read tools. Write tools are then absent from the tool list, so the assistant cannot call them. |
Tools
Read tools:
| Tool | Purpose |
|---|---|
list_pull_zones | List pull zones with IDs, origins and hostnames. |
get_pull_zone | One pull zone: hostnames, readable edge rules, and caching, origin and security settings. |
cdn_statistics | Bandwidth, requests, cache hit rate and error responses. |
origin_errors | Failed requests from bunny.net to your origin on one day, with counts by error. |
get_shield_zone | WAF settings, custom rules, rate limits and bot detection, with notes. |
shield_event_logs | Requests the WAF blocked, challenged or logged in the last 72 hours. |
Write tools (not registered when BUNNY_READONLY=1):
| Tool | Purpose |
|---|---|
update_pull_zone | Change pull zone settings. |
purge_cache | Purge one URL or a whole pull zone. |
save_edge_rule | Create or update an edge rule. |
set_edge_rule_enabled | Switch an edge rule on or off. |
delete_edge_rule | Delete an edge rule. |
update_shield_zone | Change WAF settings, including adding or removing single rule IDs from lists. |
update_bot_detection | Change bot detection mode and sensitivity. |
save_waf_rule | Create or update a custom WAF rule. |
save_rate_limit | Create or update a rate limit. |
delete_shield_rule | Delete a custom WAF rule or rate limit. |
To test a new WAF rule safely, save it with action Log, check shield_event_logs, then save it again with action Block.
Development
npm install
npm test
To release, run npm version patch (or minor or major). It updates package.json and server.json, commits, tags and pushes; the tag starts a GitHub Action that publishes to npm and the MCP registry.
Licence
MIT. See LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.