bunnycdn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BUNNY_API_KEY | Yes | Your bunny.net API key. Required for all core tools. | |
| BUNNY_STREAM_KEY | No | Video library API key — enables Stream video and collection tools | |
| BUNNY_STORAGE_KEY | No | Storage zone password — enables Storage file tools | |
| BUNNY_STORAGE_ZONE | No | Default storage zone name | |
| BUNNY_STORAGE_REGION | No | Storage region code (default: empty for Falkenstein) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bunny_get_accountA | Retrieve the current bunny.net account details: email, name, balance, billing type, enabled features, and feature flags. Use this to check account status or remaining balance before provisioning resources. |
| bunny_get_billing_summaryA | Retrieve the billing summary for the account: current balance, this month's charges, and per-service usage breakdown (CDN, Storage, DNS, Stream, etc.). |
| bunny_get_statisticsA | Retrieve account-wide or per-pull-zone CDN statistics over a date range. Returns time-series data for bandwidth, requests, cache hit rate, status codes (3xx/4xx/5xx), and geographic distribution. Use hourly=true for granular data. |
| bunny_global_searchA | Search across all bunny.net resources by keyword. Returns matching pull zones, DNS zones, storage zones, video libraries, and edge scripts. Use this to find a resource when you only know part of its name. |
| bunny_purge_urlA | Purge a specific URL from the global CDN cache so the next request fetches fresh content from the origin. Append a wildcard () to purge all files under a path (e.g. https://example.b-cdn.net/css/). Does not delete origin files. |
| bunny_list_regionsA | List all bunny.net CDN edge server regions with their IDs, names, pricing tiers, and geographic coordinates. Useful for choosing routing filters or understanding geo-distribution. |
| bunny_list_countriesA | List all countries with their ISO 2-letter codes. Reference data for configuring geo-blocking, routing filters, and allowed/blocked country lists on pull zones. |
| bunny_list_pull_zonesA | List all CDN pull zones in the account with optional search and pagination. Each pull zone represents a CDN distribution endpoint (name.b-cdn.net) connected to an origin URL or storage zone. |
| bunny_get_pull_zoneA | Retrieve full configuration of a CDN pull zone by ID, including origin URL, hostnames, caching settings, security options, edge rules, and optimizer config. |
| bunny_create_pull_zoneA | Create a new CDN pull zone. The pull zone gets a default hostname (name.b-cdn.net) and caches content from the specified origin_url. Alternatively, set storage_zone_id to use a bunny.net storage zone as origin. |
| bunny_update_pull_zoneA | Update pull zone settings. Pass a settings object with BunnyCDN API field names (PascalCase). Common fields: OriginUrl, AllowedReferrers, BlockedReferrers, BlockedIps, EnableGeoZoneUS, EnableGeoZoneEU, EnableGeoZoneASIA, CacheControlMaxAgeOverride, EnableQueryStringSort, EnableWebpVary, EnableAvifVary, EnableCacheSlice, EnableOriginShield, OriginShieldZoneCode. |
| bunny_delete_pull_zoneA | Permanently delete a CDN pull zone and all its configuration (hostnames, edge rules, cache). This action is irreversible and immediately stops content delivery on all associated hostnames. |
| bunny_purge_pull_zone_cacheA | Purge the entire CDN cache for a pull zone, forcing all edge servers to fetch fresh content from the origin on the next request. Does not delete origin files. For single-URL purge, use bunny_purge_url instead. |
| bunny_manage_pull_zone_hostnamesA | Add or remove a custom hostname (e.g. cdn.example.com) on a CDN pull zone. After adding, point a CNAME record to the pull zone's b-cdn.net hostname. A free SSL certificate is provisioned automatically. |
| bunny_manage_edge_rulesA | Manage edge rules on a CDN pull zone. Edge rules let you control redirects, headers, caching, and origin routing at the edge. Actions: 'upsert' creates or updates a rule, 'delete' removes it, 'enable'/'disable' toggles it. For upsert, provide edge_rule with: ActionType (number), TriggerMatchingType (0=MatchAny, 1=MatchAll), Triggers (array), ActionParameter1, ActionParameter2, Description, Enabled. ActionTypes: 0=ForceSSL, 1=Redirect, 2=OriginUrl, 3=OverrideCacheTime, 4=BlockRequest, 5=SetResponseHeader, 6=SetRequestHeader, 7=ForceDownload, 8=DisableTokenAuth, 9=EnableTokenAuth, 10=OverrideCacheTimePublic, 11=IgnoreQueryString, 14=DisableOptimizer, 15=ForceCompression, 16=SetStatusCode, 17=OriginStorage, 18=SetNetworkRateLimit, 19=SetConnectionLimit, 20=SetRequestsPerSecondLimit. |
| bunny_list_dns_zonesA | List all Bunny DNS zones in the account with optional search and pagination. Each DNS zone corresponds to a domain managed by bunny.net nameservers. |
| bunny_get_dns_zoneA | Retrieve a DNS zone by ID, including all its DNS records, nameserver configuration, SOA settings, and DNSSEC status. |
| bunny_create_dns_zoneA | Create a new DNS zone for a domain. After creation, update the domain's nameservers at your registrar to point to the bunny.net nameservers returned in the response. |
| bunny_update_dns_zoneB | Update DNS zone settings. Common fields (PascalCase): CustomNameserversEnabled, Nameserver1, Nameserver2, SoaEmail, LoggingEnabled, LoggingIPAnonymizationEnabled. |
| bunny_delete_dns_zoneA | Permanently delete a DNS zone and all its records. This action is irreversible and will stop DNS resolution for the domain if bunny.net nameservers are still active. |
| bunny_manage_dns_recordA | Add, update, or delete a DNS record within a zone. Record types: 0=A, 1=AAAA, 2=CNAME, 3=TXT, 4=MX, 5=Redirect, 6=Flatten, 7=PullZone, 8=SRV, 9=CAA, 10=PTR, 11=Script, 12=NS. For add/update, provide a record object with fields: Type (number), Value, Name (subdomain or empty string for root), Ttl (seconds), Priority (for MX/SRV), Weight, Port. |
| bunny_get_dns_statisticsA | Retrieve DNS query statistics for a zone over a date range, including total queries, queries by record type, and response code distribution. |
| bunny_list_storage_zonesA | List all Edge Storage zones in the account. Each storage zone is a file storage container with a primary region and optional replication. Storage zones can serve as origins for pull zones. |
| bunny_get_storage_zoneA | Retrieve storage zone details by ID, including primary region, replication regions, connected pull zones, storage used, and file count. |
| bunny_create_storage_zoneA | Create a new Edge Storage zone. Choose a primary region and optional replication regions for geo-redundancy. Region codes: DE (Falkenstein), UK (London), NY (New York), LA (Los Angeles), SG (Singapore), SYD (Sydney), BR (Sao Paulo), JH (Johannesburg). Default primary region is DE. |
| bunny_get_storage_zone_statisticsA | Retrieve storage zone usage statistics over a date range: storage space used, file count, and bandwidth consumed. |
| bunny_list_video_librariesA | List all Bunny Stream video libraries in the account. Each library is an isolated container for videos with its own player settings, encoding config, API keys, and DRM/watermark options. |
| bunny_get_video_libraryA | Retrieve video library details by ID, including player configuration, security settings (token auth, allowed/blocked referrers), encoding config (resolutions, bitrates), DRM, watermark, and transcribing settings. |
| bunny_create_video_libraryA | Create a new Bunny Stream video library for hosting, encoding, and delivering videos. Optionally specify replication regions for geo-redundant storage. |
| bunny_update_video_libraryA | Update video library settings. Common fields (PascalCase): Name, CustomHTML, PlayerKeyColor, EnableTokenAuthentication, EnableTokenIPVerification, AllowedReferrers, BlockedReferrers, EnableMP4Fallback, KeepOriginalFiles, EnableDRM, Bitrate240p through Bitrate4K, WatermarkPositionLeft, WatermarkPositionTop, WatermarkWidth, WatermarkHeight, EnabledResolutions, EnableTranscribing, EnableTranscribingTitleGeneration, EnableTranscribingDescriptionGeneration, TranscribingCaptionLanguages. |
| bunny_list_edge_scriptsA | List all Bunny Edge Scripts in the account. Edge scripts are serverless JavaScript functions that run on bunny.net's edge network, used for custom request/response handling. |
| bunny_get_edge_scriptA | Retrieve edge script details by ID, including configuration, linked pull zones, deployment status, integration type, and release history. |
| bunny_get_edge_script_codeA | Retrieve the JavaScript source code of an edge script. |
| bunny_set_edge_script_codeA | Upload or replace the JavaScript source code for an edge script. The new code is saved as a draft — use bunny_publish_edge_script to deploy it live. |
| bunny_manage_edge_scriptA | Create, update, or delete an edge script. Script types: 0=Standalone (handles full requests), 1=Middleware (runs before pull zone origin). For create, provide name and type. For update, provide settings with BunnyCDN PascalCase field names. |
| bunny_publish_edge_scriptA | Publish a release for an edge script, deploying the current (or specified) code version to all edge servers globally. Optionally provide a release note. |
| bunny_manage_edge_script_variablesA | Manage environment variables or encrypted secrets for an edge script. Variables are plaintext key-value pairs accessible at runtime. Secrets are encrypted and never returned in plaintext after creation. Actions: list, add, update, delete, upsert (create or update by name). |
| bunny_list_shield_zonesA | List all Bunny Shield security zones. Each shield zone provides WAF, rate limiting, bot detection, and DDoS protection for one or more associated pull zones. |
| bunny_get_shield_zoneA | Retrieve shield zone configuration by shield zone ID or by the associated pull zone ID. Returns WAF settings, rate limit rules, bot detection config, and DDoS protection status. |
| bunny_get_waf_rulesA | Retrieve all WAF rules and profiles configured for a shield zone, including managed rulesets (OWASP, etc.) and custom rules. |
| bunny_manage_waf_custom_ruleA | Create, update, or delete a custom WAF rule on a shield zone. Rule object fields: ruleName, ruleDescription, ruleConfiguration (with phases, variables, operators, transformations, actionType). Custom WAF rules let you block or allow traffic based on request attributes. |
| bunny_list_rate_limit_rulesA | List all rate limiting rules configured for a shield zone. Rate limit rules restrict the number of requests per second from matching clients. |
| bunny_manage_rate_limit_ruleA | Create, update, or delete a rate limit rule. Rule object fields: shieldZoneId, name, requestsPerSecond, blockTime, matchExpression, matchVariable, transformations, operator, matchValue. Rate limits block clients exceeding the configured request threshold. |
| bunny_get_shield_metricsA | Retrieve security metrics overview for a shield zone over a date range: WAF blocks, rate limit triggers, bot detections, and DDoS mitigation events. |
| bunny_get_bot_detectionA | Retrieve or update bot detection settings for a shield zone. If settings are provided, updates them (e.g. enable/disable bot categories, adjust thresholds); otherwise returns current configuration. |
| bunny_list_mc_appsA | List all Magic Container applications in the account. Magic Containers are bunny.net's serverless container platform for deploying Docker images to the edge. |
| bunny_get_mc_appB | Retrieve Magic Container application details including container configuration, endpoints, deployment status, environment variables, volumes, and region settings. |
| bunny_get_mc_app_overviewA | Retrieve application overview with real-time metrics: latency, CPU/RAM usage, active instance count across regions, and estimated cost breakdown. |
| bunny_manage_mc_appA | Create, update, or delete a Magic Container application. Config object fields: name, dockerImage, port, environmentVariables, regions, autoscaling settings. For create use PascalCase, for update use camelCase. Deleting removes the application and all associated resources. |
| bunny_mc_app_lifecycleA | Control the lifecycle of a Magic Container application. 'deploy' starts the application across configured regions, 'undeploy' stops all running instances, 'restart' triggers a rolling restart of all pods. |
| bunny_list_mc_registriesA | List container registries configured for pulling Docker images (Docker Hub, GHCR, custom registries). Registry credentials are used when deploying private container images. |
| bunny_list_mc_regionsA | List available Magic Container deployment regions with their anycast support and capacity status. Use this to choose where to deploy applications. |
| bunny_get_mc_app_statisticsA | Retrieve historical application statistics over a date range: CPU usage, RAM usage, network traffic (inbound/outbound), request latency, and volume storage usage. |
| bunny_get_origin_errorsA | Retrieve origin error logs for a pull zone on a specific date. Shows exactly why origin requests failed, including error codes: dns_lookup, http_timeout, http_request_exception, http_request_failure, http_invalid_range, http_loop_detected, http_invalid_compression, network_socket_exception, network_io_error, notfound_localdb. Essential for debugging 502/504 errors. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Digitizers/bunny-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server