{"_id":"@blazingcdn/mcp","_rev":"7-13a483fca209e537883a8cb694d9cd73","name":"@blazingcdn/mcp","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@blazingcdn/mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","blazingcdn","cdn","cache","ai","claude","llm"],"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","_id":"@blazingcdn/mcp@0.1.0","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"homepage":"https://github.com/BlazingCDN/BlazingCDN-MCP#readme","bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"bin":{"blazingcdn-mcp":"dist/index.js"},"dist":{"shasum":"a660d2ae6721185a7d54ba7ac85609f47f0ba1d2","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.0.tgz","fileCount":17,"integrity":"sha512-FL+7iayGtRwzOEkHqNW637zMKDojSBbrpRlKE1u4P1Y5OfbeAccdKyPWL0cdbzRwblluaOSKzSp8SY9vdrg56A==","signatures":[{"sig":"MEUCICCDjXQC2t9a+Q53JHatUXMlF1tZYFF0s7TlR9RoJQP0AiEA4MgsztmuFJDDSRBCClfd9k4CIUwyQ3dSSFcgT75tw9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78011},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"e14eae4696eaf3a45c342994c1e93c38de795e40","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.0_1786539753186_0.8714628481906719","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@blazingcdn/mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","blazingcdn","cdn","cache","ai","claude","llm"],"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","_id":"@blazingcdn/mcp@0.1.1","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"homepage":"https://github.com/BlazingCDN/BlazingCDN-MCP#readme","bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"bin":{"blazingcdn-mcp":"dist/index.js"},"dist":{"shasum":"b394629dc14f62e819dc88f32c6a3cf29e729a69","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.1.tgz","fileCount":17,"integrity":"sha512-MogUWnweydsqn9ay2MAXQca0SGmGvGN7F3NVMHrM4SZrphT/sGafZx+Vh/Ipj/Y7mwY4getx43UwOc7Z4LUANw==","signatures":[{"sig":"MEYCIQCH5s59fsX/x2P1JS+uK3uVofVNPRlPubXa/TvTmhqLvwIhAMhqxjSOpp7lvFAYNc2Awh6I3kdbvp7NnWBGdH+yk0at","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78065},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"f43e21a2d545a4c42ab3ccb48d9a30f8a24194e4","mcpName":"io.github.blazingcdn/blazingcdn-mcp","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.1_1786542518394_0.5034570875072748","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@blazingcdn/mcp","version":"0.1.2","keywords":["mcp","mcp-server","modelcontextprotocol","model-context-protocol","cdn","blazingcdn","video-cdn","cache","ai-agents","claude"],"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","_id":"@blazingcdn/mcp@0.1.2","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"homepage":"https://blazingcdn.com","bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"bin":{"blazingcdn-mcp":"dist/index.js"},"dist":{"shasum":"32d8d0d3c0b145c46a9acf52e819daeb2fa7b3a1","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.2.tgz","fileCount":17,"integrity":"sha512-BZj7AEoRcycMInuAD+HAst1DTjrFBgGg43Ia93uAw3aG7xdKs3zEbAMPbT45z8ei2rWq2ofET2ZAlzqceNxDng==","signatures":[{"sig":"MEUCIDq2flLpDbrS50eiaMVEZ7MlcXbGZd87DXOyZNVVgQuZAiEAiD/44Fzq6Sxorvj2rNkCn1o6W5rXPgRCfJFbfocALww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78095},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"36be6e5099e07c47bf3f187a098a12b98b8bb82e","mcpName":"io.github.blazingcdn/blazingcdn-mcp","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.2_1786616282019_0.7866378646734604","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@blazingcdn/mcp","version":"0.1.3","keywords":["mcp","mcp-server","modelcontextprotocol","model-context-protocol","cdn","blazingcdn","video-cdn","cache","ai-agents","claude"],"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","_id":"@blazingcdn/mcp@0.1.3","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"homepage":"https://blazingcdn.com","bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"bin":{"blazingcdn-mcp":"dist/index.js"},"dist":{"shasum":"b51d77911452ca0d8720d9da7a32aa612a9e53e8","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.3.tgz","fileCount":17,"integrity":"sha512-GyKmU23v4r120e03zoZs+S3kz/n+qxcRtYhuEQZktjH5SziaFC+vdx3D2W/dg4qclfuGCO+naNwBtIwcuPjWyQ==","signatures":[{"sig":"MEQCIBjUsj7NZwha37lrLxJHVRqrErdcjMQjtCkfKJ7osRs3AiBoSoHG4XCP8ssQL6AWViOJv/LdHSBX8IOUnzbQGRR+CA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78095},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"012e45f32a2b228f030faddb71ea6ceb3cdb5c33","mcpName":"io.github.BlazingCDN/blazingcdn-mcp","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.3_1786617688526_0.31454207047282945","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@blazingcdn/mcp","version":"0.1.4","keywords":["mcp","mcp-server","modelcontextprotocol","model-context-protocol","cdn","blazingcdn","video-cdn","cache","ai-agents","claude"],"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","_id":"@blazingcdn/mcp@0.1.4","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"homepage":"https://blazingcdn.com","bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"bin":{"blazingcdn-mcp":"dist/index.js"},"dist":{"shasum":"1ce64d7706abb86d0363841e95406768294b6cec","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.4.tgz","fileCount":17,"integrity":"sha512-+cnrR7OZvA7+HcufEW06K5vzDStL/pUf4aw/1QWVPK/7bUHvw9/G6zslaMPt+GDd4PSrj8RiCkL7d2XFpGLY6A==","signatures":[{"sig":"MEQCIBgnUuRDmncXnBRBr0H9w+l7CDgoTNVZlHuMU7spQkOsAiB3yrAz50qmpYAYnqIse+vYTjyR/g06I14/aONrf9Rg+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79001},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"6ff06dbe1aab07ef8dd29b69e960ccda87449236","mcpName":"io.github.BlazingCDN/blazingcdn-mcp","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.4_1786722110266_0.9687397450657151","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@blazingcdn/mcp","version":"0.1.5","keywords":["mcp","mcp-server","modelcontextprotocol","model-context-protocol","cdn","blazingcdn","video-cdn","cache","ai-agents","claude"],"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","_id":"@blazingcdn/mcp@0.1.5","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"homepage":"https://blazingcdn.com","bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"bin":{"blazingcdn-mcp":"dist/index.js"},"dist":{"shasum":"d63fba4eb61a656be1c3b3fee07c0f89c6cb569a","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.5.tgz","fileCount":17,"integrity":"sha512-h3MDZNH7rLhlZSYwYXKUe1HtpYdfswK2tCUwz5rY6fhoFoFW+CH/TR7W7Yk09DD/RyLnG3UeB+FRRH97iE3gbw==","signatures":[{"sig":"MEUCIQCeVtQoK2vGh7S6WUubdgVx4lziACDbHT27oZa58HgGugIgHCx9k3cXkwOF/tyIEnluYQScMB3W4dhPUHtYVWKCSMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80176},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"804912ad16c4832b51e0094eaee466063f6abc21","mcpName":"io.github.BlazingCDN/blazingcdn-mcp","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.5_1787321934447_0.08592851206563501","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"_id":"@blazingcdn/mcp@0.1.6","bin":{"blazingcdn-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"dist":{"shasum":"ad513c8cd29f2167db02500e06dd7ee40514f429","tarball":"https://registry.npmjs.org/@blazingcdn/mcp/-/mcp-0.1.6.tgz","fileCount":17,"integrity":"sha512-4xkwIWfRluXcfnQJsGLZf+ZXhbECqMZ79ba+r5kryQapOKHbHDXkS4tqT976bFeKJlejEd0E2yWQ3ZLNilVuPg==","signatures":[{"sig":"MEUCIQD2QSLlVLby940UjQWvf7+zJZhG+q7nZR/JPpwIO5St5AIgfzKQfSSCG9mi4MqjYC53oUTorazrR8kleUQIYoExUNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCrErLClsqm4lCctCFQ9UsvGPZVyaIaCpJ/ub0frsZk6QIhAKga67WwGa+0l2eMw21xXWofo43myXP4lL0kZa1iJzKU"}],"unpackedSize":87522},"main":"dist/index.js","name":"@blazingcdn/mcp","type":"module","author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"engines":{"node":">=20"},"gitHead":"f57976832d0786bf3f83a0219e176937083e9f4b","license":"MIT","mcpName":"io.github.BlazingCDN/blazingcdn-mcp","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node scripts/postbuild.mjs","prepare":"npm run build","typecheck":"tsc --noEmit"},"version":"0.1.6","_npmUser":{"name":"blazing-cdn","email":"marketing@blazingcdn.com"},"homepage":"https://blazingcdn.com","keywords":["mcp","mcp-server","modelcontextprotocol","model-context-protocol","cdn","blazingcdn","video-cdn","cache","ai-agents","claude"],"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"_npmVersion":"11.17.0","description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","directories":{},"maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.17.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.6_1789403538829_0.5717227612558793"}}},"time":{"created":"2026-08-12T13:02:32.920Z","modified":"2026-09-14T16:32:19.112Z","0.1.0":"2026-08-12T13:02:33.355Z","0.1.1":"2026-08-12T13:48:38.541Z","0.1.2":"2026-08-13T10:18:02.180Z","0.1.3":"2026-08-13T10:41:28.677Z","0.1.4":"2026-08-14T15:41:50.398Z","0.1.5":"2026-08-21T14:18:54.596Z","0.1.6":"2026-09-14T16:32:18.924Z"},"bugs":{"url":"https://github.com/BlazingCDN/BlazingCDN-MCP/issues"},"author":{"name":"BlazingCDN","email":"support@blazingcdn.com"},"license":"MIT","homepage":"https://blazingcdn.com","keywords":["mcp","mcp-server","modelcontextprotocol","model-context-protocol","cdn","blazingcdn","video-cdn","cache","ai-agents","claude"],"repository":{"url":"git+https://github.com/BlazingCDN/BlazingCDN-MCP.git","type":"git"},"description":"Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents","maintainers":[{"name":"blazing-cdn","email":"marketing@blazingcdn.com"}],"readme":"# BlazingCDN MCP Server\n\nOfficial [Model Context Protocol](https://modelcontextprotocol.io) server for [BlazingCDN](https://blazingcdn.com). 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.\n\nBlazingCDN 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**.\n\n## Highlights\n\n- **52 tools** covering Anycast CDN, cache operations, metrics, custom domains, Cloud Storage and Video CDN\n- **Safe by default** — starts in read-only mode (plus cache purge/warmup); create/update and delete operations are opt-in via environment flags\n- **No install required** — runs with `npx`\n- Talks directly to the BlazingCDN API (`wapi.blazingcdn.com`) with your API token; nothing else sits in between\n\n## Getting an account and API token\n\n1. **Sign up at [blazingcdn.com](https://blazingcdn.com/)** — every new account starts with a **14-day trial**. The trial is time-limited only: there is no free traffic included, traffic used during the trial is billed at the regular **$5/TB** rate.\n2. **Top up your balance** with at least **$10** right after signing up so your account doesn't go negative while you test.\n3. **Create an API access token**: in the [BlazingCDN panel](https://client.blazingcdn.com/api) open **API** → *create new API credentials* (or `POST /api/v1/access_tokens`).\n\n### Pricing (Flex plan)\n\nAfter 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:\n\n| Monthly traffic | Price per TB |\n|---|---|\n| First 5 TB | $5.00 |\n| 5–25 TB | $4.50 |\n| 25–100 TB | $4.00 |\n| 100–500 TB | $3.50 |\n| 500–1000 TB | $3.00 |\n| 1000–1500 TB | $2.50 |\n\nAll 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](https://blazingcdn.com/sign-up-contact-form/) to request custom volume pricing.\n\n## Quick start\n\n### Claude Desktop — one-click install (no terminal needed)\n\nDownload the latest `.mcpb` bundle from [Releases](https://github.com/BlazingCDN/BlazingCDN-MCP/releases/latest) 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.\n\n### Claude Code\n\n```bash\nclaude mcp add blazingcdn --env BLAZINGCDN_API_TOKEN=your-token -- npx -y @blazingcdn/mcp\n```\n\n### Claude Desktop / Cursor / Windsurf\n\nAdd to your MCP configuration (`claude_desktop_config.json`, `.cursor/mcp.json`, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"blazingcdn\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@blazingcdn/mcp\"],\n      \"env\": {\n        \"BLAZINGCDN_API_TOKEN\": \"your-token\"\n      }\n    }\n  }\n}\n```\n\nRunning from GitHub instead of npm also works: replace `\"args\"` with `[\"-y\", \"github:BlazingCDN/BlazingCDN-MCP\"]`.\n\n## Configuration\n\n| Environment variable | Required | Description |\n|---|---|---|\n| `BLAZINGCDN_API_TOKEN` | yes | API access token (Bearer) |\n| `BLAZINGCDN_API_URL` | no | API base URL, default `https://wapi.blazingcdn.com` |\n| `BLAZINGCDN_ALLOW_WRITE` | no | `1` enables create/update tools |\n| `BLAZINGCDN_ALLOW_DELETE` | no | `1` enables delete tools (`delete_custom_domain`, `delete_vcdn_resource`) |\n\n### Permission model\n\n| Mode | Tools | What agents can do |\n|---|---|---|\n| default | 29 | Read everything + purge/warm up cache |\n| `BLAZINGCDN_ALLOW_WRITE=1` | 50 | …plus create/update CDN resources, domains, buckets, Video CDN |\n| …`+ BLAZINGCDN_ALLOW_DELETE=1` | 52 | …plus delete custom domains and vCDN resources |\n\nDeleting 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.\n\n### When a feature is switched off\n\nEvery setting this server can change is also a switch in the [customer panel](https://client.blazingcdn.com). 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.\n\n## Tools\n\n### Anycast CDN\n| Tool | Description |\n|---|---|\n| `list_cdn_resources` | List all CDN resources (pull zones) |\n| `get_cdn_resource` | Full settings of one resource |\n| `purge_cache` | Purge everything or specific URLs; works per-resource or across resources by URL |\n| `warmup_cache` | Pre-fetch paths into the cache (per compression method) |\n| `get_cdn_metrics` | Bandwidth, cache hit, requests, HTTP codes, traffic — by day/hour/minute, filter by region/domain |\n| `get_prometheus_metrics` | Prometheus-format metrics for monitoring |\n| `create_cdn_resource` ✏️ | Create a pull zone (origin, bucket or external storage) |\n| `update_cdn_resource` ✏️ | TTLs, compression, origin shield, HTTPS, access protection, HLS/DASH, image processing, Locations Mode, … |\n| `bulk_update_cdn_resources` ✏️ | Same settings on several resources |\n| `update_cdn_locations` ✏️ | Per-path cache rules and image presets (needs Locations Mode `extended`) |\n\n### Domains & DNS\n| Tool | Description |\n|---|---|\n| `list_custom_domains` / `search_custom_domains` | Domains of a resource / match domains account-wide |\n| `list_system_dns_zones` | System DNS zones for CDN hostnames |\n| `add_custom_domain` ✏️ / `update_custom_domain` ✏️ | Attach domains, manage SSL (auto SSL / certificate) |\n| `delete_custom_domain` 🗑️ | Remove a custom domain |\n\n### Cloud Storage\n`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` ✏️\n\nA 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.\n\n### Video CDN\n`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` 🗑️\n\n### Docs & pricing\n`search_docs` — search BlazingCDN documentation and product pages.\n`estimate_traffic_cost` — calculate the monthly Flex-plan cost for a given traffic volume (progressive tiers, offline).\n\n✏️ requires `BLAZINGCDN_ALLOW_WRITE=1` · 🗑️ requires `BLAZINGCDN_ALLOW_DELETE=1`\n\n## Example prompts\n\n- *\"What's my CDN bandwidth this month, broken down by day?\"*\n- *\"Purge `/images/*` on the blazingcdn.com resource\"*\n- *\"Create a CDN resource for origin https://example.com and attach cdn.example.com with auto SSL\"*\n- *\"Show HTTP 5xx rates for the last 24 hours per region\"*\n- *\"Warm up /video/intro.mp4 with brotli compression\"*\n- *\"How much would 190 TB/month cost on BlazingCDN?\"*\n- *\"Turn on image processing for the shop-images resource and give me a 200×200 thumbnail URL for /images/iphone.jpg\"*\n\n## HTTP transport (self-hosting)\n\nThe server also speaks Streamable HTTP for remote deployments:\n\n```bash\nBLAZINGCDN_ALLOW_WRITE=1 npx -y @blazingcdn/mcp --transport http --port 8462\n```\n\nIn 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.\n\n## Development\n\n```bash\nnpm install\nnpm test        # vitest\nnpm run build   # tsc -> dist/\nnpx @modelcontextprotocol/inspector node dist/index.js   # interactive inspector\n```\n\n## Privacy Policy\n\nThe 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](PRIVACY.md) · service-level data handling: [BlazingCDN Legal Information](https://blazingcdn.com/legal-information/).\n\n## Security notes\n\n- The API token is read from the environment and sent only to `BLAZINGCDN_API_URL`; it is never logged. No middleman, no telemetry.\n- Read-only by default; destructive operations (zone/bucket/account deletion) are not implemented in any mode.\n- Tool output is truncated at 60 KB to keep agent contexts healthy.\n- API requests time out after 30 s (file uploads: 5 min).\n\nFull threat model, limitations and recommendations: [SECURITY.md](SECURITY.md).\n\n## License\n\n[MIT](LICENSE) © BlazingCDN\n","readmeFilename":"README.md"}