Official BlazingCDN MCP server — manage CDN resources, purge cache, query metrics, cloud storage and video CDN from AI agents
BlazingCDN MCP demonstrates solid definition quality with 27 well-named tools covering a coherent domain (CDN management, storage, metrics). All tools have descriptions and explicit input schemas with parameter descriptions. Naming follows verb_noun convention consistently (list_, get_, create_, update_, delete_, search_). However, several gaps prevent a higher score: (1) Some descriptions are verbose and could be tightened for LLM efficiency, e.g., list_cdn_resources at ~350 chars when 150-200 is ideal. (2) Parameter descriptions in some tools lack concrete validation rules (min/max, format specifics). (3) Output schemas are not explicitly documented in the tool metadata, LLMs see no formal schema for response structure, forcing them to infer field names from examples in descriptions. (4) Error handling guidance is minimal, no tools document retryability, categorization (user-fixable vs fatal), or recovery suggestions. (5) Some tools expose complex interdependencies (e.g., create_cdn_resource with 10 optional/conditional parameters) without clear guidance on which combinations are valid. (6) A few descriptions use example values ('e.g. 2026-08-01') that LLMs might replicate literally. Strengths: all tools are single-responsibility, names are unambiguous, parameter descriptions exist throughout, and the instruction text compensates for tool-level gaps by explaining provisioning delays and polling behavior.
Attach one or more custom domains to an aCDN resource.
Create a new cloud storage bucket. Defaults to type 'cdn', which is REQUIRED for a bucket that will serve as a pull-zone origin (the API's own default, 'private', cannot be attached to a CDN resource). Pass type 'private' only for storage that is never served by the CDN.
Create a new Anycast CDN resource (pull zone). Requires name, source and origin_url. Optionally attach a cloud storage bucket or external storage as the origin, and create a custom domain in one call. Provisioning: a new zone typically becomes fully live (DNS + serving) in ~10-11 minutes (sometimes 2-6, rarely hours) — poll the zone's cdn_domain rather than assuming failure. If a zone is still not serving after ~20 minutes, treat it as stuck: create a replacement zone with a new name and use that one instead (this server cannot delete zones — ask the user to remove the stuck zone in the panel and mention it to support). When creating SEVERAL zones, create them SEQUENTIALLY — wait until each zone serves before creating the next; parallel batches queue up and push individual zones to 30-45+ minutes.
Connect an external S3-compatible storage to use as a CDN origin.
Output schemas not documented in tool metadata. LLMs cannot see the structure of response fields, they must infer them from descriptions alone. This increases hallucination risk and prevents confident downstream tool chaining.
create_cdn_resource has 10 optional parameters with complex interdependencies (source='origin' vs 'storage', bucket_id vs external_storage_id, folder_name only valid with bucket, etc.) but these constraints are not explicitly stated in a single location. LLMs may construct invalid parameter combinations.
Descriptions for list_cdn_resources (~350 chars), create_cdn_resource (~450 chars), and update_cdn_resource (~280 chars) exceed the recommended 150-200 char range for LLM efficiency. Token waste and reduced clarity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | 2026-07-28+ | v2 |
Detach and delete a custom domain from an aCDN resource. This cannot be undone.
Estimate the monthly cost of CDN traffic on the pay-as-you-go Flex plan (progressive tiers from $5.00/TB down to $2.50/TB, $25/month minimum covering the first 5 TB). Runs locally without network access. Public pricing as of August 2026 — for current rates see https://blazingcdn.com/pricing/. Volumes over 100 TB/month qualify for custom pricing: https://blazingcdn.com/sign-up-contact-form/
Get details of one cloud storage bucket.
Get usage statistics for cloud storage buckets over a period.
Get Anycast CDN metrics for the whole account or a single resource. Select a period either with period+date (e.g. period='month', date='2026-08-01') or with from+to timestamps. Metric types: bandwidth, cache, cache_requests, responses (HTTP codes), traffic, hybrid, cloud_storage.
Get full details of one Anycast CDN resource (pull zone): origin, TTLs, compression, origin shield, domains, locations. Check here whether a feature is on before proposing changes — e.g. image_processing_enabled (+ image_processing_extensions), location_mode ('basic'|'extended'), hls_support_enabled, mpeg_dash_support_enabled, origin_shield_enabled, edge_compression. The same settings are switches in the customer panel at https://client.blazingcdn.com/anycast_cdn/<resource_id>/<tab>.
Get details of one external storage connection.
Fetch Prometheus-format metrics for monitoring dashboards: source 'cdn' for Anycast CDN, 'cloud_storage' for Cloud Store.
Get cloud storage account info (endpoints, usage).
List all cloud storage buckets in the account.
List Anycast CDN resources (pull zones) in the account with their settings, domains and state. The API paginates (its own default is 25 per page, undocumented) — this tool requests up to 100 per call. ALWAYS check meta.total in the response: if it exceeds the number of returned zones, fetch the remaining pages with the page parameter before reporting the account's zones.
List custom domains attached to an aCDN resource, including SSL status.
List configured external (S3-compatible) storages used as CDN origins.
List system DNS zones available for CDN domain names (used when creating aCDN resources).
Purge cached content. With resource_id: purge that aCDN resource — everything (clear_all=true) or specific URLs. Without resource_id: purge by full URLs across all resources (the zone is matched by domain automatically).
Match domain names against all custom domains in the account (which resource serves which domain).
Search BlazingCDN documentation, how-to guides and product pages by keyword — e.g. 'image processing' returns the preset guide with the URL format and every parameter. Returns matching pages with URLs and summaries — fetch a URL for full details.
Test connectivity and credentials of an external storage configuration before saving it.
Update a cloud storage bucket's type or web index.
Update settings of an Anycast CDN resource (pull zone): caching/TTLs, compression, origin shield, HTTPS, access protection (hotlink, country, IP, URL signing), HLS/DASH streaming, image processing (on-the-fly resize/crop), Locations Mode, origin. Send only the keys you change. Each setting is also a switch in the customer panel (https://client.blazingcdn.com/anycast_cdn/<resource_id>/<tab>), so the user can make the same change by hand.
Update a custom domain of an aCDN resource: attach an SSL certificate or enable auto SSL (Let's Encrypt).
Update an external storage connection.
Pre-fetch (warm up) content into the aCDN resource cache for the given paths, optionally per compression method.
Descriptions use example values (e.g., 'e.g. 2026-08-01', 'e.g. cdn.example.com') that LLMs may replicate literally in real API calls, causing failures. Replace with format constraints (ISO 8601, domain pattern) or enums.
No error handling guidance in tool descriptions. Destructive tools (delete_custom_domain) and long-running operations (create_cdn_resource ~10-20 min provisioning) lack recovery hints, retryability guidance, or timeout expectations. Agents don't know whether to retry, poll, or escalate.
Parameters lack numeric bounds. E.g., get_cdn_metrics 'page' has no min/max; create_external_storage 'port' has no range (what if agent passes port=999999?). Unbounded numeric params invite invalid input.
Some parameter descriptions are generic ('Filter by region ID', 'Filter by custom domain ID' in get_cdn_metrics) without stating how region_id and domain_id are obtained or their format (UUID? string?). Forces LLM guessing.