Skip to main content
Glama
README.md
# Bunny.net MCP Server

Custom MCP server for Bunny.net APIs — Stream/Video, Storage, CDN Pull Zones, and DNS.

## Tools (35 total)

### Stream/Video API (13 tools)
- `stream_list_videos` — List videos in a library
- `stream_get_video` — Get video details
- `stream_create_video` — Create video object
- `stream_update_video` — Update video properties
- `stream_delete_video` — Delete video
- `stream_get_heatmap` — Viewer engagement heatmap
- `stream_add_caption` — Add subtitle track
- `stream_delete_caption` — Remove subtitle track
- `stream_set_thumbnail` — Set video thumbnail
- `stream_reencode_video` — Re-encode video
- `stream_list_collections` — List collections
- `stream_create_collection` — Create collection
- `stream_delete_collection` — Delete collection

### Storage API (4 tools)
- `storage_list_files` — List files/directories
- `storage_download_file` — Download file content
- `storage_upload_file` — Upload file (base64)
- `storage_delete_file` — Delete file/directory

### CDN Pull Zone API (10 tools)
- `cdn_list_pullzones` — List pull zones
- `cdn_get_pullzone` — Get pull zone details
- `cdn_create_pullzone` — Create pull zone
- `cdn_update_pullzone` — Update pull zone
- `cdn_delete_pullzone` — Delete pull zone
- `cdn_purge_cache` — Purge cached content
- `cdn_add_allowed_referer` — Add allowed referer
- `cdn_remove_allowed_referer` — Remove allowed referer
- `cdn_add_blocked_referer` — Add blocked referer
- `cdn_remove_blocked_referer` — Remove blocked referer

### DNS API (8 tools)
- `dns_list_zones` — List DNS zones
- `dns_get_zone` — Get zone details
- `dns_create_zone` — Create DNS zone
- `dns_update_zone` — Update zone settings
- `dns_delete_zone` — Delete DNS zone
- `dns_add_record` — Add DNS record
- `dns_update_record` — Update DNS record
- `dns_delete_record` — Delete DNS record
- `dns_enable_dnssec` — Enable DNSSEC
- `dns_disable_dnssec` — Disable DNSSEC

## Setup

### 1. Build

```bash
cd /Volumes/taufik/Kerjaan/custom-MCP/bunny-mcp
npm install
npm run build
```

### 2. Add to Claude Code

Add to `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "bunny": {
      "command": "node",
      "args": ["/Volumes/taufik/Kerjaan/custom-MCP/bunny-mcp/dist/index.js"],
      "env": {
        "BUNNY_API_KEY": "your-account-api-key",
        "BUNNY_STREAM_API_KEY": "your-stream-library-api-key"
      }
    }
  }
}
```

### 3. Environment Variables

| Variable | Description | Where to find |
|----------|-------------|---------------|
| `BUNNY_API_KEY` | Account API key | bunny.net Dashboard > Account > API Key |
| `BUNNY_STREAM_API_KEY` | Stream library API key | bunny.net > Stream > Library > API Key |

Storage API uses per-zone passwords passed as tool parameters (`storagePassword`).

TDQS

B3.3/5.0

Scored across 37 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. The tools are organized by service domains (CDN, DNS, Storage, Stream), and within each domain, they target specific resources and actions with clear boundaries (e.g., cdn_add_allowed_referer vs. cdn_add_blocked_referer, or stream_create_video vs. stream_update_video).

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, with a clear prefix for each service domain (cdn_, dns_, storage_, stream_). All tools use snake_case uniformly, and verbs like add, create, delete, get, list, update, etc., are applied predictably across resources.

Tool Count3/5

With 37 tools, the count is borderline high for a single server, potentially feeling heavy. However, given that it covers four distinct service domains (CDN, DNS, Storage, Stream), each with comprehensive operations, it is reasonable but may overwhelm agents due to the volume.

Completeness5/5

The tool surface provides complete CRUD/lifecycle coverage for each domain. For example, CDN has create, get, list, update, delete for pull zones, plus referrer management and cache purging; DNS has full zone and record management with DNSSEC; Storage has upload, download, list, delete; Stream has video and collection management with additional features like captions, heatmaps, and re-encoding. No obvious gaps are present.

Maintenance

ActivityInactive
ResponsivenessNo issues