Manage BlazingCDN from AI agents: CDN zones, cache, metrics, domains, cloud storage and video CDN
Official Model Context Protocol server for BlazingCDN. Lets AI agents (Claude, Cursor, Windsurf and any other MCP client) manage your CDN: list and configure resources, purge and warm up cache, query traffic metrics, manage custom domains, cloud storage and the Video CDN.
BlazingCDN is a CDN for video, software & sports media — best for videos, streaming (HLS/DASH), software distribution, games and updates, images, audio, archives and other large files. Built for high-volume projects pushing 5 TB+ per month.
npxwapi.blazingcdn.com) with your API token; nothing else sits in betweenPOST /api/v1/access_tokens).After the trial you are on the pay-as-you-go Flex plan with a $25/month minimum, which covers your first 5 TB. Traffic is billed on a progressive scale:
| Monthly traffic | Price per TB |
|---|---|
| First 5 TB | $5.00 |
| 5–25 TB | $4.50 |
| 25–100 TB | $4.00 |
| 100–500 TB | $3.50 |
| 500–1000 TB | $3.00 |
| 1000–1500 TB | $2.50 |
All plans include custom domains, unlimited requests, origin shield, URL signatures, free SSL and geo allow/block lists — no per-feature surcharges. Pushing more than 100 TB/month? Contact BlazingCDN to request custom volume pricing.
Download the latest .mcpb bundle from Releases and double-click it — Claude Desktop asks for your API token and shows two checkboxes: Allow changes (create and change CDN settings) and Allow deleting (custom domains and Video CDN resources). Both are off by default, so the server starts read-only. Node.js is not required.
claude mcp add blazingcdn --env BLAZINGCDN_API_TOKEN=your-token -- npx -y @blazingcdn/mcp
Add to your MCP configuration (claude_desktop_config.json, .cursor/mcp.json, etc.):
{
"mcpServers": {
"blazingcdn": {
"command": "npx",
"args": ["-y", "@blazingcdn/mcp"],
"env": {
"BLAZINGCDN_API_TOKEN": "your-token"
}
}
}
}
Running from GitHub instead of npm also works: replace "args" with ["-y", "github:BlazingCDN/BlazingCDN-MCP"].
| Environment variable | Required | Description |
|---|---|---|
BLAZINGCDN_API_TOKEN | yes | API access token (Bearer) |
BLAZINGCDN_API_URL | no | API base URL, default https://wapi.blazingcdn.com |
BLAZINGCDN_ALLOW_WRITE | no | 1 enables create/update tools |
BLAZINGCDN_ALLOW_DELETE | no | 1 enables delete tools (delete_custom_domain, delete_vcdn_resource) |
| Mode | Tools | What agents can do |
|---|---|---|
| default | 29 | Read everything + purge/warm up cache |
BLAZINGCDN_ALLOW_WRITE=1 | 50 | …plus create/update CDN resources, domains, buckets, Video CDN |
…+ BLAZINGCDN_ALLOW_DELETE=1 | 52 | …plus delete custom domains and vCDN resources |
Deleting CDN resources (pull zones), buckets, external storages, accounts or users is not implemented at all — those operations cannot be triggered through this server in any mode.
Every setting this server can change is also a switch in the customer panel. If you ask for something that is off on your resource — image processing, HLS/DASH support, origin shield — the agent tells you exactly where to flip it (client.blazingcdn.com/anycast_cdn/<resource_id>/<tab>), or, with BLAZINGCDN_ALLOW_WRITE=1, offers to turn it on for you and waits for your confirmation.
| Tool | Description |
|---|---|
list_cdn_resources | List all CDN resources (pull zones) |
get_cdn_resource | Full settings of one resource |
purge_cache | Purge everything or specific URLs; works per-resource or across resources by URL |
warmup_cache | Pre-fetch paths into the cache (per compression method) |
get_cdn_metrics | Bandwidth, cache hit, requests, HTTP codes, traffic — by day/hour/minute, filter by region/domain |
get_prometheus_metrics | Prometheus-format metrics for monitoring |
create_cdn_resource ✏️ | Create a pull zone (origin, bucket or external storage) |
update_cdn_resource ✏️ | TTLs, compression, origin shield, HTTPS, access protection, HLS/DASH, image processing, Locations Mode, … |
bulk_update_cdn_resources ✏️ | Same settings on several resources |
update_cdn_locations ✏️ | Per-path cache rules and image presets (needs Locations Mode extended) |
| Tool | Description |
|---|---|
list_custom_domains / search_custom_domains | Domains of a resource / match domains account-wide |
list_system_dns_zones | System DNS zones for CDN hostnames |
add_custom_domain ✏️ / update_custom_domain ✏️ | Attach domains, manage SSL (auto SSL / certificate) |
delete_custom_domain 🗑️ | Remove a custom domain |
list_buckets, get_bucket, get_bucket_metrics, get_storage_info, create_bucket ✏️, update_bucket ✏️, list_external_storages, get_external_storage, create_external_storage ✏️, update_external_storage ✏️, test_external_storage_connection ✏️
A bucket used as a CDN resource origin must be of type cdn — create_bucket creates that type by default (private buckets cannot be attached to a pull zone). Pass protocol: "s3" for an S3-compatible bucket; the protocol cannot be changed after creation.
list_vcdn_resources, get_vcdn_resource, get_vcdn_statistics (totals, timeseries, by domain, top domains, HTTP codes, bandwidth, cache/storage), list_vcdn_domains, get_vcdn_domain, list_vcdn_files, get_vcdn_files_total, list_ftp_logins, list_auto_imports, get_vcdn_proxy, get_vcdn_ftp_settings, get_vcdn_settings, create_vcdn_resource ✏️, update_vcdn_resource ✏️, create_vcdn_domain ✏️, update_vcdn_domain ✏️, upload_vcdn_file ✏️, manage_auto_import ✏️, update_vcdn_proxy ✏️, update_vcdn_ftp_settings ✏️, manage_ftp_login ✏️, update_vcdn_settings ✏️, delete_vcdn_resource 🗑️
search_docs — search BlazingCDN documentation and product pages.
estimate_traffic_cost — calculate the monthly Flex-plan cost for a given traffic volume (progressive tiers, offline).
✏️ requires BLAZINGCDN_ALLOW_WRITE=1 · 🗑️ requires BLAZINGCDN_ALLOW_DELETE=1
/images/* on the blazingcdn.com resource"The server also speaks Streamable HTTP for remote deployments:
BLAZINGCDN_ALLOW_WRITE=1 npx -y @blazingcdn/mcp --transport http --port 8462
In HTTP mode the server is stateless and each request must carry the caller's BlazingCDN API token as Authorization: Bearer <token> (an env BLAZINGCDN_API_TOKEN acts as fallback). Put it behind TLS (reverse proxy) before exposing it anywhere.
npm install
npm test # vitest
npm run build # tsc -> dist/
npx @modelcontextprotocol/inspector node dist/index.js # interactive inspector
The server collects nothing: no telemetry, no analytics, no third-party calls. Your API token stays in process memory and is sent only to the BlazingCDN API over HTTPS. Full policy: PRIVACY.md · service-level data handling: BlazingCDN Legal Information.
BLAZINGCDN_API_URL; it is never logged. No middleman, no telemetry.Full threat model, limitations and recommendations: SECURITY.md.
MIT © BlazingCDN
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @blazingcdn/mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-blazingcdn-blazingcdn-mcp": {
"command": "npx",
"args": [
"-y",
"@blazingcdn/mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@blazingcdn/mcpnpmio.github.BlazingCDN/blazingcdn-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.