BlazingCDN-MCP
OfficialBlazingCDN-MCP is an MCP server that lets AI agents manage BlazingCDN (Anycast CDN, Cloud Storage, and Video CDN) through 52 tools, read-only by default with opt-in write/delete modes.
Anycast CDN: list/get CDN resources (pull zones), purge or warm up cache, fetch bandwidth/hit/request/HTTP-code/traffic metrics, get Prometheus metrics, create/update resources and per-path cache rules.
Domains & DNS: list/search custom domains, list system DNS zones, add/update custom domains with SSL management, delete custom domains (delete mode).
Cloud Storage: list/get buckets and bucket metrics, get storage account info, manage external S3-compatible storages, create/update buckets and external storages, test external storage connections.
Video CDN: list/get vCDN resources, domains, files, FTP logins, auto imports, proxy/import/default settings; get statistics (totals, timeseries, by domain, top domains, HTTP codes, bandwidth, cache/storage); create/update resources and domains, upload files, manage imports/FTP/proxy/settings, delete vCDN resources (delete mode).
Docs & pricing: search BlazingCDN documentation and estimate Flex-plan traffic costs offline.
Safe by default: read-only plus cache purge/warmup; create/update tools require BLAZINGCDN_ALLOW_WRITE=1 and delete tools additionally require BLAZINGCDN_ALLOW_DELETE=1; destructive zone/bucket/account deletion is not implemented.
Provides a tool to retrieve BlazingCDN metrics in Prometheus format, enabling monitoring and alerting with Prometheus.
BlazingCDN MCP Server
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.
Highlights
52 tools covering Anycast CDN, cache operations, metrics, custom domains, Cloud Storage and Video CDN
Safe by default — starts in read-only mode (plus cache purge/warmup); create/update and delete operations are opt-in via environment flags
No install required — runs with
npxTalks directly to the BlazingCDN API (
wapi.blazingcdn.com) with your API token; nothing else sits in between
Related MCP server: Semantic Pen MCP Server
Getting an account and API token
Sign up at 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.
Top up your balance with at least $10 right after signing up so your account doesn't go negative while you test.
Create an API access token: BlazingCDN panel → Account → API tokens (or
POST /api/v1/access_tokens).
Pricing (Flex plan)
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.
Quick start
Claude Desktop — one-click install (no terminal needed)
Download the latest .mcpb bundle from Releases and double-click it — Claude Desktop will ask for your API token and install the server. Node.js is not required.
Claude Code
claude mcp add blazingcdn --env BLAZINGCDN_API_TOKEN=your-token -- npx -y @blazingcdn/mcpClaude Desktop / Cursor / Windsurf
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"].
Configuration
Environment variable | Required | Description |
| yes | API access token (Bearer) |
| no | API base URL, default |
| no |
|
| no |
|
Permission model
Mode | Tools | What agents can do |
default | 29 | Read everything + purge/warm up cache |
| 50 | …plus create/update CDN resources, domains, buckets, Video CDN |
… | 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.
Tools
Anycast CDN
Tool | Description |
| List all CDN resources (pull zones) |
| Full settings of one resource |
| Purge everything or specific URLs; works per-resource or across resources by URL |
| Pre-fetch paths into the cache (per compression method) |
| Bandwidth, cache hit, requests, HTTP codes, traffic — by day/hour/minute, filter by region/domain |
| Prometheus-format metrics for monitoring |
| Create a pull zone (origin, bucket or external storage) |
| TTLs, compression, origin shield, HTTPS redirect, … |
| Same settings on several resources |
| Per-path cache rules |
Domains & DNS
Tool | Description |
| Domains of a resource / match domains account-wide |
| System DNS zones for CDN hostnames |
| Attach domains, manage SSL (auto SSL / certificate) |
| Remove a custom domain |
Cloud Storage
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.
Video CDN
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 🗑️
Docs & pricing
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
Example prompts
"What's my CDN bandwidth this month, broken down by day?"
"Purge
/images/*on the blazingcdn.com resource""Create a CDN resource for origin https://example.com and attach cdn.example.com with auto SSL"
"Show HTTP 5xx rates for the last 24 hours per region"
"Warm up /video/intro.mp4 with brotli compression"
"How much would 190 TB/month cost on BlazingCDN?"
HTTP transport (self-hosting)
The server also speaks Streamable HTTP for remote deployments:
BLAZINGCDN_ALLOW_WRITE=1 npx -y @blazingcdn/mcp --transport http --port 8462In 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.
Development
npm install
npm test # vitest
npm run build # tsc -> dist/
npx @modelcontextprotocol/inspector node dist/index.js # interactive inspectorPrivacy Policy
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.
Security notes
The API token is read from the environment and sent only to
BLAZINGCDN_API_URL; it is never logged. No middleman, no telemetry.Read-only by default; destructive operations (zone/bucket/account deletion) are not implemented in any mode.
Tool output is truncated at 60 KB to keep agent contexts healthy.
API requests time out after 30 s (file uploads: 5 min).
Full threat model, limitations and recommendations: SECURITY.md.
License
MIT © BlazingCDN
Available Tools
29 toolsestimate_traffic_costEstimate traffic costARead-only
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/
| Name | Required | Description | Default |
|---|---|---|---|
| tb_per_month | Yes | Expected monthly traffic in TB, e.g. 190 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=false. The description adds that it 'runs locally without network access' and crucially states that pricing is 'as of August 2026,' meaning results rely on a static snapshot and could be outdated. This is valuable beyond annotation metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loaded with the main purpose. Each sentence adds necessary information: the estimate scope, execution mode, and pricing caveats/contact link. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool, the description covers the plan, pricing tiers, minimums, data source date, execution mode, and custom-pricing path. It does not describe the output format, but since no output schema exists, this omission is not a major deficiency for tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the parameter fully with type, description, and example. The description enriches this by explaining how the parameter value maps to progressive tiers ($5/TB down to $2.50/TB) and the $25 minimum covering the first 5 TB, giving the single input meaningful context for how it affects the estimate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Estimate the monthly cost of CDN traffic on the pay-as-you-go Flex plan' – a specific verb (estimate), resource (monthly CDN traffic cost), and plan, clearly distinguishing it from sibling CDN management tools that list, get, purge, or warm up. It also includes pricing tier details that reinforce its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when the estimate applies (Flex plan, progressive tiers, minimum fee) and notes an exclusion: volumes over 100 TB/month qualify for custom pricing, implying the estimate may not be accurate there. It also points to current rates for up-to-date pricing, but does not explicitly name alternative tools (none exist), so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bucketGet storage bucketARead-only
Get details of one cloud storage bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket_id | Yes | Bucket ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description is consistent but adds minimal behavioral context. It provides no additional details about authentication, rate limits, or what 'details' are returned. The scope ('one') is more about purpose than behavior, so the description meets the baseline without adding extra disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. It is front-loaded with the action and resource, and every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, read-only, no output schema), and the description sufficiently explains what it does for an agent to select it. It could be slightly more complete by specifying what 'details' include or when to use it over siblings like get_bucket_metrics, but the current level is adequate for a straightforward get operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the bucket_id parameter described as 'Bucket ID'. The description does not add additional parameter semantics beyond the schema, but it aligns with the parameter by implying the bucket is identified by ID. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get'), a specific resource ('cloud storage bucket'), and a scope ('one'), which clearly distinguishes it from list_buckets and other sibling tools. This is a precise verb+resource+scope construction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that it is for retrieving a single bucket by ID, while list_buckets is for enumerating multiple buckets, nor does it reference any other related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bucket_metricsGet bucket metricsARead-only
Get usage statistics for cloud storage buckets over a period.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date inside the period, e.g. '2026-08-01' | |
| period | Yes | Period length | |
| bucket_id | No | Filter by bucket ID | |
| external_storage_id | No | Filter by external storage ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool is known to be a safe read operation. The description adds the 'over a period' scope, but does not disclose further behavior such as how filtering works, whether statistics are aggregated, or what the response format is. It provides some added context but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states its purpose. No unnecessary words or repetition, and it is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only metrics tool with full schema coverage and readOnlyHint, the description is adequate, but it lacks specifics about what 'usage statistics' includes (e.g., bandwidth, operations count) and the response shape. There is no output schema, so the description could provide more detail on expected results to fully compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters, including period, date, bucket_id, and external_storage_id. The description adds only high-level meaning ('usage statistics'), which is somewhat helpful but does not enhance the already well-documented parameter semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('usage statistics for cloud storage buckets'), and the scope ('over a period'). It distinguishes itself from sibling metrics tools like get_cdn_metrics and get_prometheus_metrics by explicitly targeting cloud storage buckets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (for cloud storage bucket usage statistics over a period), but does not provide explicit exclusions or alternatives. With many sibling metrics tools, it would benefit from stating 'Use this for bucket metrics, not CDN or Prometheus metrics' to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cdn_metricsGet CDN metricsARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Period end (use with from) | |
| date | No | Date inside the period, e.g. '2026-08-01' | |
| from | No | Period start, e.g. '2026-08-01 00:00:00 UTC' (use with to) | |
| type | No | Metrics type | |
| scale | No | Data point granularity. minute: period <= day; hour: period <= month. | |
| period | No | Period length (use with date) | |
| domain_id | No | Filter by custom domain ID | |
| region_id | No | Filter by region ID | |
| resource_id | No | aCDN resource ID. Omit for account-wide metrics. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and openWorldHint=true. The description adds behavioral detail beyond annotations by explaining the two time-selection modes, the ability to scope to the whole account or a single resource, and clarifying that 'responses' refers to HTTP codes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the purpose and then provide essential usage details. Every sentence contributes valuable information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and 9 parameters, the description covers the main scope, time-selection options, and metric types, which is sufficient for invoking the tool. It does not explain output structure, but the schema covers parameter constraints (like scale limits), so the description adequately complements the structured information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the mutually exclusive time-selection modes (period+date vs from+to) and clarifying the 'responses' metric type as HTTP codes, which is not obvious from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves Anycast CDN metrics for the whole account or a single resource, giving a specific verb, resource, and scope. Listing metric types further distinguishes it from sibling tools like get_prometheus_metrics and get_bucket_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining the two time-range selection methods (period+date or from+to) and enumerating metric types. It does not explicitly contrast with alternatives, but it gives enough context for when to use this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cdn_resourceGet CDN resourceARead-only
Get full details of one Anycast CDN resource (pull zone): origin, TTLs, compression, origin shield, domains, locations.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | aCDN resource (pull zone) ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds beyond annotations by enumerating the specific fields returned (origin, TTLs, compression, etc.), which is useful behavioral context about the response. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the main action (Get full details), and every word earns its place. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only get tool with one well-documented parameter and no output schema, the description is complete. It lists the expected return details, making the tool's scope fully understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (resource_id has a description and format). The tool description doesn't add extra meaning to the parameter, but the schema fully documents it. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (get) and resource (Anycast CDN resource) with explicit details of what's included (origin, TTLs, compression, origin shield, domains, locations). It clearly distinguishes from siblings like list_cdn_resources and get_vcdn_resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage: when you need full details of a single Anycast CDN resource by ID. It does not explicitly name alternatives or exclusions, but the single-parameter design and list of returned fields make the context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_external_storageGet external storageARead-only
Get details of one external storage connection.
| Name | Required | Description | Default |
|---|---|---|---|
| external_storage_id | Yes | External storage ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is clear. The description adds minimal behavioral context beyond the resource being fetched, such as 'details' but does not disclose potential errors, permissions, or return format. This is adequate but not rich, given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of nine words, with no filler or redundancy. It directly states the action and target, earning a perfect score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-ID retrieval tool with a readOnlyHint and no output schema, the description is nearly sufficient. However, it could be improved by referencing the sibling list_external_storages to help discover IDs or clarify what 'details' include. The low complexity makes it workable, but a bit more context would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—the only parameter 'external_storage_id' is documented with its type and description. The tool description adds little beyond echoing the parameter, saying 'one external storage connection,' which does not provide additional syntax or format details. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get details of one external storage connection.' The verb 'Get details' and the specific resource 'external storage connection' make the purpose unambiguous. It also distinguishes itself from the sibling 'list_external_storages' by explicitly focusing on a single connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one external storage connection' implies it should be used for a specific external storage ID, but it does not explicitly mention when to use this tool versus alternatives like list_external_storages. No when-not-to-use or alternatives are provided, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_prometheus_metricsGet Prometheus metricsARead-only
Fetch Prometheus-format metrics for monitoring dashboards: source 'cdn' for Anycast CDN, 'cloud_storage' for Cloud Store.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Metrics source |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, covering safety. The description adds meaningful context about the output format (Prometheus) and source semantics, but does not disclose details like response size, pagination, or rate limits. This is acceptable for a read-only fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero redundant words. It immediately states the action, format, and purpose, then efficiently explains the parameter options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description fully covers what it does, when to use it, and how to select the source. 'Prometheus-format' implies a standard output structure, compensating for the absence of an output schema. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema alone lists enum values 'cdn' and 'cloud_storage' with minimal description. The tool description enriches these by explaining what each value represents ('Anycast CDN' and 'Cloud Store'), which goes beyond the schema and aids correct parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Fetch') and resource ('Prometheus-format metrics'), and explicitly maps the two source values to distinct services. This distinguishes it from sibling metrics tools like get_cdn_metrics and get_bucket_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear use context ('monitoring dashboards') and explains how to choose the source parameter. It does not explicitly compare against alternative metrics tools, but the intended scenarios are evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_infoGet storage infoARead-only
Get cloud storage account info (endpoints, usage).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe, read-only operation. The description adds the specific data returned (endpoints, usage), which is helpful context beyond the annotations. However, it does not disclose any additional behavioral traits such as authentication requirements or rate limits, which the annotations also do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately conveys the tool's purpose. It uses no unnecessary words and is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is sufficient: it names the resource and the key data fields (endpoints, usage). The annotations provide safety context. While it could name the return format or distinguish from siblings, the simplicity of the tool makes this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines zero parameters, so schema coverage is 100% and the baseline is 4. The description adds context that the tool returns account-level endpoints and usage, which clarifies the tool's scope even though no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get cloud storage account info (endpoints, usage).' This clearly identifies the verb 'get' and the resource 'cloud storage account info,' making the tool's purpose obvious. It distinguishes from sibling tools that target buckets, CDN resources, or external storages, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for retrieving account-level storage endpoints and usage, but it provides no explicit guidance on when to prefer this tool over alternatives like get_bucket or get_external_storage. There is no mention of excluded scenarios or alternative tools, so the agent must rely on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_domainGet vCDN domainBRead-only
Get details of one Video CDN domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain_id | Yes | vCDN domain ID (numeric) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description merely restates the tool's function without adding behavioral details beyond the readOnlyHint annotation. It does not mention error handling, permissions, or any side effects, and openWorldHint is not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. It is efficiently front-loaded with the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool has a simple one-parameter schema and read-only annotation, the description lacks detail on what 'details' are returned or errors. It is minimally viable but leaves the agent without full context, especially given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents domain_id with a description, and the tool description adds no parameter semantics. With 100% schema coverage, the description need not repeat this information, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation ('Get') and the resource ('details of one Video CDN domain'), specifying singularity. It distinguishes from list_vcdn_domains which lists multiple domains, though it doesn't name alternative tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_vcdn_resource or list_vcdn_domains. The description is purely functional and lacks context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_files_totalGet vCDN files totalsARead-only
Get total count and size of files stored on the Video CDN.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only safety profile. The description adds that the tool returns total count and size, which is slightly more specific than the title, but it does not disclose additional behavior such as whether the totals are aggregated globally, response format, or performance implications. With annotations present, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence: 'Get total count and size of files stored on the Video CDN.' It contains no fluff or repetition, and every word contributes meaning. It is front-loaded with the verb and object, making it instantly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters, no output schema, and annotations already indicate read-only/open-world behavior, the description is sufficient to understand the tool's core function. It clearly states the tool returns total count and size for files on the Video CDN. However, it could explicitly mention that it returns a single aggregated result (rather than a list), though this is reasonable inferred from 'total'. The absence of advanced features keeps the description complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100% (empty properties). The baseline for 0 params is 4, and the description does not need to explain parameters. The description 'Get total count and size' already indicates the return value matches the tool's purpose, so no further param semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('get') and resource ('total count and size of files stored on the Video CDN'). It is specific enough to distinguish from siblings like list_vcdn_files (which likely lists individual files) and get_vcdn_statistics (which may cover broader metrics). The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need aggregate file totals), but it does not explicitly mention alternatives or exclusions. Sibling tools like list_vcdn_files suggest different use cases, but the description itself does not guide the agent to choose this over other tools. No direct when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_ftp_settingsGet vCDN FTP settingsBRead-only
Get FTP import settings of a Video CDN resource.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | vCDN resource ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds no additional behavioral context. There is no mention of response behavior, error handling, or any side effects, which is a gap given the low annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant or unnecessary words. It is appropriately sized for a simple getter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only tool with a single well-documented parameter and no output schema, the description is complete enough. It could have elaborated on what 'FTP import settings' entails, but the combination of name, title, and sentence covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full documentation for the single parameter (resource_id as a vCDN resource ID) with 100% coverage. The description adds no extra semantic value beyond what the schema already states, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Get') and resource ('FTP import settings of a Video CDN resource'), which precisely identifies the tool's function. It also differentiates from siblings like get_vcdn_settings (general settings) and list_ftp_logins (login list) by specifying the FTP import aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention related tools or any conditions for use, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_proxyGet vCDN proxy settingsARead-only
Get proxy (origin fetch) settings of a Video CDN resource.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | vCDN resource ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true, establishing this as a safe, read-only operation. The description adds the semantic clarification 'origin fetch' but does not disclose additional behavioral traits such as error handling, response format, or rate limits. Given the annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that clearly communicates the tool's purpose without unnecessary words. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only getter with one parameter and no output schema. The description adequately conveys the tool's function and the resource it operates on. It lacks explicit mention of the return value or potential error conditions, but the low complexity means the description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the only parameter, resource_id, with a description and format ('vCDN resource ID'). The tool description does not add any further context about parameters, but since schema coverage is 100%, the baseline score of 3 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the specific resource ('proxy (origin fetch) settings') of a Video CDN resource. It distinguishes this tool from sibling tools like get_vcdn_resource and get_vcdn_settings by focusing on the proxy configuration aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a straightforward purpose but does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. Usage is implied by the tool's name and description, which is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_resourceGet vCDN resourceBRead-only
Get details of one Video CDN resource.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | vCDN resource ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds no extra behavioral context such as response format, permissions, or error behavior. It does not go beyond what the structured data conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It communicates exactly what the tool does without redundancy, making it an exemplary model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID tool with one parameter and readOnlyHint, the description is minimally adequate. However, it does not specify what details are returned or clarify its relationship to the similarly named get_cdn_resource sibling, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema includes one required parameter (resource_id) with a clear description, achieving 100% schema description coverage. The tool description adds no semantic content beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Video CDN resource'), clearly distinguishing it from list_vcdn_resources and other sibling tools. Though it doesn't explicitly differentiate from get_cdn_resource, the 'Video' qualifier makes the target resource unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like get_cdn_resource or when not to use it. The description simply restates the function without any contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_settingsGet vCDN default settingsARead-only
Get account-wide default Video CDN settings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the scoping detail 'account-wide default,' which provides context beyond the readOnlyHint annotation. It does not disclose other behavioral traits, but annotations already cover safety, so the description is not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately communicates the tool's purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, zero-parameter tool, the description fully covers the necessary context. The 'account-wide default' scope clarifies the tool's position among siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description carries no parameter burden. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and clearly identifies the resource as 'account-wide default Video CDN settings.' This distinguishes it from sibling tools that target specific resources (get_vcdn_resource) or domains (get_vcdn_domain).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided about when to use this tool versus alternatives like get_vcdn_resource or get_vcdn_statistics. The description implies a getter for defaults, but lacks any comparison or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vcdn_statisticsGet vCDN statisticsARead-only
Get Video CDN statistics. Reports: 'monthly_totals' — totals for the current month (requires resource_id); 'timeseries' — per-resource stats over start_date..end_date (requires resource_id); 'by_domains' — per-domain stats (requires resource_id and domains); 'top_domains' — top rated domains of a resource (requires resource_id); 'http_codes' — per-resource HTTP code stats (requires resource_id); 'bandwidth' — account bandwidth (optional resource_id filter); 'cache_storage' — cache and storage usage; 'global_http_codes' — account-wide HTTP code stats. Dates in ISO format, e.g. '2026-08-01T00:00:00Z'. start_date and end_date are REQUIRED for every report except monthly_totals.
| Name | Required | Description | Default |
|---|---|---|---|
| report | Yes | ||
| domains | No | Domain names (for by_domains / http_codes reports) | |
| end_date | No | Period end, e.g. '2026-08-07T23:59:59Z' | |
| start_date | No | Period start, e.g. '2026-08-01T00:00:00Z' | |
| resource_id | No | vCDN resource ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds valuable behavioral context by clarifying that date parameters are mandatory for most reports and providing an ISO date format example. It does not contradict annotations and goes beyond the schema by tying parameter requirements to each report type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient; each clause carries informative content. It front-loads the primary verb and resource, then lists reports in a structured sentence. It is longer than ideal, but every detail earns its place, covering all report types and requirements without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 report types, 5 parameters, no output schema), the description covers parameter constraints and date formatting effectively. It does not describe the response structure or return values, but the report names are self-explanatory, and with annotations covering safety, the description is sufficiently complete for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema already documents each parameter, the description significantly enhances semantics by mapping specific parameters to each report type. For instance, it specifies that 'by_domains' requires resource_id and domains, and that 'bandwidth' is optional. This mapping is not evident from the schema alone and directly aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Video CDN statistics and enumerates eight specific report types (monthly_totals, timeseries, by_domains, etc.), each with distinct scopes. This specific verb+resource pairing and the detailed report list distinguish it from sibling tools like get_cdn_metrics or list_vcdn_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical context by specifying which parameters each report requires (e.g., 'monthly_totals' requires resource_id; 'by_domains' requires resource_id and domains) and notes that start_date/end_date are required for all reports except monthly_totals. It does not explicitly name alternatives, but the report-specific guidance serves as clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_auto_importsList auto importsARead-only
List content auto-import jobs of a Video CDN resource.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | vCDN resource ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds minimal extra behavior context, such as that it lists jobs tied to a resource, but does not disclose any further details like pagination or return format. This meets the lower bar set by the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential purpose without any wasted words. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is mostly complete. It identifies the resource type and the object being listed, but it does not clarify what a 'content auto-import job' comprises or what the response list contains. This leaves a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with resource_id described as 'vCDN resource ID'. The description adds no additional parameter meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List content auto-import jobs of a Video CDN resource' uses a specific verb and resource, clearly distinguishing it from sibling tools like list_vcdn_files or list_vcdn_domains. The scope is explicit: content auto-import jobs tied to a Video CDN resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool or how it compares to alternatives. No exclusions, prerequisites, or scenario-specific instructions are given, leaving the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bucketsList storage bucketsARead-only
List all cloud storage buckets in the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. Description adds the scope 'all ... in the account' but provides no additional behavioral details such as result format or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the verb and resource, contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with no parameters and no output schema, the description states the essential purpose. It does not describe the return shape, but the tool's simplicity makes that a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so there is nothing for the description to explain beyond the schema; baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'List' and identifies the exact resource 'cloud storage buckets in the account', distinguishing from sibling tools like get_bucket or list_external_storages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. The purpose is obvious from the name/description, but it doesn't mention when to prefer get_bucket or other list variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_cdn_resourcesList CDN resourcesARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| per_page | No | Zones per page (default 100, max 100) | |
| traffic_distribution | No | Include traffic distribution data for each resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint and openWorldHint annotations, the description adds critical behavior: the API paginates with an undocumented default of 25, the tool requests up to 100 per call, and the agent MUST check meta.total and fetch remaining pages before reporting. This transparently disclosers a non-obvious pitfall and gives explicit instruction on how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: purpose, pagination nuanced behavior, hard instruction to paginate. It is front-loaded with the most important information and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 3-parameter tool with no output schema, the description provides sufficient context by naming exactly what is returned (settings, domains, state), explaining pagination, and warning about the meta.total pitfall. The input schema documents the parameters and additionalProperties false, and the annotations add the open-world/read-only context. Together this is a complete picture for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% with descriptions for page, per_page, and traffic_distribution, so the bar for adding value is partly satisfied. The description goes beyond the schema by explaining why pagination parameters matter ('API paginates, its own default is 25 per page, undocumented') and why the agent needs to use page, effectively clarifying the purpose behind page/per_page behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List Anycast CDN resources (pull zones) in the account with their settings, domains and state.' It clearly distinguishes this as the account-level listing tool, contrasting with siblings like get_cdn_resource and get_cdn_metrics by focusing on the enumeration of CDN resources themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this is for listing all Anycast CDN resources in the account, and it instructs the agent to paginate through meta.total until all resources are retrieved. However, it does not explicitly call out when to prefer get_cdn_resource for a single zone or mention any exclusions, so it falls short of full explicit alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_custom_domainsList custom domainsARead-only
List custom domains attached to an aCDN resource, including SSL status.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | aCDN resource (pull zone) ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation. The description adds value beyond annotations by specifying that the result includes SSL status and that the domains are scoped to an aCDN resource. This is useful context, though it does not describe pagination or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the core purpose and an additional detail (SSL status) with no wasted words. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one parameter, strong annotations (readOnlyHint, openWorldHint), and no output schema, the description covers the essential scope and return detail. It is complete enough for an agent to select and invoke the tool correctly without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a 100% description coverage for the single parameter, resource_id, as 'aCDN resource (pull zone) ID'. The description does not add syntax or format details beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('List') and resource scope ('custom domains attached to an aCDN resource'), and adds useful detail ('including SSL status'). This clearly distinguishes it from sibling tools like list_vcdn_domains or search_custom_domains, which target different resource types or purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is used to list custom domains for a specific aCDN resource. However, it does not explicitly mention when not to use it or name alternatives (e.g., search_custom_domains). The scope is clear enough to infer the primary use case, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_external_storagesList external storagesARead-only
List configured external (S3-compatible) storages used as CDN origins.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the contextual detail that storages are 'configured' and 'used as CDN origins,' which is helpful but does not disclose any additional behavioral aspects such as return format, pagination, or limitations. This meets the lowered bar but does not exceed it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise, front-loaded with the verb and resource, and contains no extraneous information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is complete. It clearly identifies what the tool returns (configured external storages) and their purpose (CDN origins), which is sufficient for an agent to invoke correctly. Annotations cover the read-only behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is 100%. According to the rubric, 0 parameters merits a baseline of 4. The description does not need to explain parameters, and no additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists configured external (S3-compatible) storages used as CDN origins, specifying both the verb (list) and the resource (external storages). This distinguishes it from sibling tools like list_buckets or get_external_storage by clarifying the scope (external S3-compatible, CDN origins).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear usage context by specifying the type of storages (external S3-compatible CDN origins), which helps the agent decide when to use this tool versus listing internal buckets or retrieving a single storage. It does not explicitly mention alternatives or exclusions, but the context is strong enough for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ftp_loginsList FTP loginsARead-only
List FTP/SFTP logins of a Video CDN resource.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | vCDN resource ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, so the agent knows this is a safe read operation. The description adds the FTP/SFTP scope but does not disclose any behavioral traits beyond that, such as whether passwords are returned or any permission requirements. This is adequate given the annotation coverage, but lacking extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that effectively communicates the tool's purpose without redundancy. It is appropriately front-loaded and contains no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is sufficiently complete. It identifies the resource type and the nature of the data returned. However, it could optionally mention that it specifically targets FTP/SFTP logins and possibly note the distinction from FTP settings, but this is not a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers 100% of parameters, with resource_id described as 'vCDN resource ID'. The description's mention of 'Video CDN resource' reinforces but does not add new meaning beyond the schema. With full schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List FTP/SFTP logins of a Video CDN resource,' specifying a specific verb (list), resource type (FTP/SFTP logins), and scope (Video CDN resource). This distinguishes it from sibling tools like get_vcdn_ftp_settings, which deals with settings rather than logins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when FTP/SFTP login details are needed for a Video CDN resource, but it does not explicitly state when to use it versus alternatives or mention any exclusions. Sibling tools such as get_vcdn_ftp_settings are not referenced, so guidance is only implicit, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_system_dns_zonesList system DNS zonesARead-only
List system DNS zones available for CDN domain names (used when creating aCDN resources).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide readOnlyHint and openWorldHint. The description adds that these are system-provided zones for CDN, but doesn't disclose additional behavioral traits like return format or ordering. Given the annotations, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource, and contains no filler. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only list tool with annotations covering safety, the description is sufficient. It clearly explains what the tool does and why it would be used, and no output schema is needed for such a simple operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies. The description does not need to explain any parameter semantics, as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List) and the specific resource (system DNS zones), and adds the scope 'available for CDN domain names' and 'used when creating aCDN resources'. This distinguishes it from sibling tools like list_custom_domains or list_vcdn_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly identifies the usage context: these zones are used when creating CDN resources. This gives the agent clear guidance on when to call this tool, though it does not mention exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vcdn_domainsList vCDN domainsBRead-only
List Video CDN domains, optionally filtered by name or SSL certificate.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | No | Filter by domain names | |
| ssl_certificate_ids | No | Filter by SSL certificate IDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe read operation. The description adds that filtering is possible, but this is already evident from the schema. No additional behavioral traits such as pagination, default limits, or return format are disclosed. This is adequate but not enriching beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the verb, resource, and optional filters without any fluff. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional filter parameters and no required fields, the description covers the core function. The absence of an output schema is acceptable because the name and annotations suggest it returns a list of domains. However, it could be slightly more complete by hinting at the return structure or any limitations, but overall it is sufficient for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('domains', 'ssl_certificate_ids') documented. The description's mention of 'filtered by name or SSL certificate' restates what the schema already provides, adding no new meaning. Baseline 3 is appropriate because the schema carries the full parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('Video CDN domains'), which distinguishes it from sibling tools like get_vcdn_domain (singular) or list_cdn_resources (a different resource type). It also mentions optional filters, adding clarity. However, it does not explicitly differentiate from list_vcdn_resources, which could be similar in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are many sibling tools (e.g., list_vcdn_resources, list_custom_domains), but the description does not mention any exclusions or specific scenarios. The openWorldHint annotation is present but not leveraged to explain when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vcdn_filesList vCDN filesARead-only
List files stored on the Video CDN, with filtering, sorting and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| type | No | Filter by file type | |
| status | No | Filter by file status | |
| end_date | No | ||
| per_page | No | ||
| data_type | No | Response verbosity (default full) | |
| sort_order | No | ||
| start_date | No | ||
| sort_field_name | No | ||
| vcdn_resource_id | No | Filter by vCDN resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds minimal behavioral context by noting filtering/sorting/pagination, but does not disclose response format, pagination defaults, or any additional constraints. With annotations handling the key safety traits, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action, resource, and key capabilities without any fluff. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, 60% lacking schema descriptions, and no output schema, the description is too sparse. It does not explain the expected response structure, default pagination behavior, date formats, or which fields are sortable/filterable. This leaves significant gaps for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, leaving six parameters undocumented. The description mentions filtering, sorting, and pagination at a high level but does not map them to specific fields like page, per_page, sort_order, sort_field_name, start_date, or end_date. The agent would need to infer parameter meaning from names alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('files stored on the Video CDN'), clearly distinguishing it from siblings like list_vcdn_resources (which lists resources) and get_vcdn_files_total (which likely returns a count). The mention of filtering, sorting, and pagination further clarifies the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the primary use case: to retrieve files from the Video CDN with the ability to filter, sort, and paginate. While it does not explicitly name alternatives or exclusion criteria, the context is clear enough for an agent to choose this over sibling tools like list_vcdn_resources or get_vcdn_files_total.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vcdn_resourcesList vCDN resourcesBRead-only
List all Video CDN resources in the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds no behavioral details such as response format, pagination, ordering, or any caveats. It adds little beyond the scope, thus not contributing additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence: 'List all Video CDN resources in the account.' It is front-loaded with the action and resource, contains no extraneous words, and is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a parameterless list tool with no output schema, so the description must carry the burden of explaining what the tool returns. It states the core function but does not describe what a vCDN resource is, the response structure, or any limitations. It is minimally viable but lacks detail to fully orient the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. According to the rubric, 0 params earns a baseline of 4. The description correctly innuates a simple list call with no inputs, aligning with schema coverage of 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource type ('Video CDN resources'), and the scope ('in the account'). It distinguishes from sibling tools like list_vcdn_domains and list_vcdn_files, though it doesn't explicitly define what a 'resource' is. A clear verb+resource+scope is present, earning a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as list_cdn_resources or get_vcdn_resource. There are no explicit conditions, exclusions, or alternative tools mentioned, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purge_cachePurge CDN cacheAIdempotent
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).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | URLs/paths to purge. Required unless clear_all is true. | |
| clear_all | No | Purge the entire cache of the resource (requires resource_id) | |
| resource_id | No | aCDN resource (pull zone) ID. Omit to purge by URL across all resources. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral context beyond the annotations: the automatic domain-based zone matching when resource_id is omitted, and the distinction between full-URL and resource-scoped purging. Annotations already indicate idempotent, non-destructive behavior, so the bar is lower, but this description still contributes meaningful details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences efficiently pack all essential information. The structure clearly separates the two modes, making it easy to parse. Zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema, the description fully covers the key scenarios and edge cases (resource_id vs no resource_id, clear_all vs specific URLs). It is complete for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description enhances parameter understanding by explaining the interplay between resource_id, clear_all, and urls: how resource_id changes the scope and meaning of the other parameters. This adds value beyond the individual field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool purges cached content, using a specific verb+resource structure. It also distinguishes the two primary usage modes (with and without resource_id), which differentiates it from sibling tools like warmup_cache (which pre-loads rather than purges).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use each mode: with resource_id for resource-scoped purges (all or specific URLs), and without resource_id for URL-based purges across all resources. It does not explicitly name alternatives like warmup_cache for the inverse operation, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_custom_domainsSearch custom domainsARead-only
Match domain names against all custom domains in the account (which resource serves which domain).
| Name | Required | Description | Default |
|---|---|---|---|
| domains | No | Domain names to match |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With Annotations readOnlyHint=true and openWorldHint=true, the safe, read-only nature is already declared. The description adds meaningful behavioral context beyond annotations: it states that the tool searches all custom domains in the account and returns the resource assignment for matches, which is useful for understanding the tool's full reach and result semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that leads with the action and resource, followed by a clarifying parenthetical. No wasted words or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description gives enough context: it clarifies the matching scope and the kind of result ('which resource serves which domain'). The lack of an output schema is partially compensated by the parenthetical. Minor gaps include what happens when no domains are provided, but overall it is sufficiently complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the only parameter 'domains' as 'Domain names to match' (100% coverage). The description reinforces this connection but does not add new syntactic or formatting details beyond what the schema provides. The parenthetical is about output behavior, not parameter semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Match' and identifies the resource 'custom domains' and the scope 'in the account', clearly distinguishing it from sibling tools like list_custom_domains. The parenthetical '(which resource serves which domain)' clarifies the output purpose, leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear usage scenario: when you have domain names and need to find the corresponding serving resource, rather than merely listing all custom domains. However, it does not explicitly mention alternatives or when not to use the tool, so it stops short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsSearch BlazingCDN docsARead-only
Search BlazingCDN public documentation and product pages by keyword. Returns matching pages with URLs — fetch a URL for full details.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query, e.g. 'purge cache API' or 'video streaming pricing' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds a critical behavioral detail: the tool returns matching pages with URLs, and users must fetch a URL for full details. This clarifies that the tool does not return page content, exceeding annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every word earns its place. It includes the essential behavior (returns URLs) and a pointer for full details without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema, read-only annotation), the description provides enough context for a user to understand what to expect: a list of pages with URLs. It could be slightly more explicit about the result format, but for this low complexity, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'query' parameter, with concrete examples provided. The description's mention of 'keyword' aligns with the schema but adds no new semantic information beyond what the schema already offers, so the baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Search') and resource ('BlazingCDN public documentation and product pages'), and the keyword-based search behavior. It distinguishes from sibling tool 'search_custom_domains' which focuses on custom domains, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes it clear when to use this tool (searching public docs/product pages), and the context signals include sibling search_custom_domains, implying a distinction for domain-specific searches. However, it does not explicitly state exclusions or alternatives, only implying them through resource specificity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
warmup_cacheWarm up CDN cacheAIdempotent
Pre-fetch (warm up) content into the aCDN resource cache for the given paths, optionally per compression method.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | Paths to warm up, e.g. ['/video/intro.mp4'] | |
| resource_id | Yes | aCDN resource (pull zone) ID | |
| compression_methods | No | Compression variant to warm (must be enabled on the resource) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, covering the safety profile. The description adds that it warms the cache for given paths and optionally per compression method, but it does not disclose additional behavioral traits such as origin fetch side effects, rate limits, or whether the operation is asynchronous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the tool's purpose and optional parameter. No fluff or repetition, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with three well-documented parameters, strong annotations (idempotent, non-destructive), and no output schema or nested objects, the description is largely complete. The only minor gap is that it does not mention the return value or whether the operation is asynchronous, but this is not critical given how well the schema and annotations cover the details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already having a descriptive definition (paths, resource_id, compression_methods). The description only summarizes these, adding no new semantic detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Pre-fetch/warm up), the target resource (aCDN resource cache), and the scope (given paths, optionally per compression method). This distinguishes it from sibling tools like purge_cache (which invalidates cache) and list/get tools (which read).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the term 'pre-fetch' (i.e., use when you want to proactively populate the cache), but it does not explicitly state when to use this tool versus alternatives like purge_cache, nor does it mention prerequisites (e.g., compression method must be enabled on the resource).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are mostly distinct, with clear prefixes like cdn, vcdn, bucket, and external_storage. Some potential ambiguity exists between list_cdn_resources and list_vcdn_resources, but descriptions clarify the difference. Overall, each tool targets a unique resource and action.
All tools follow a consistent snake_case verb_noun pattern, using list_ for collections and get_ for single items. No mixed styles or inconsistent verbs, making the naming highly predictable.
With 29 tools, the server exceeds the typical well-scoped range (3-15) and even the heavy range (16-25). The broad coverage of Anycast CDN, Video CDN, storage, and auxiliary functions suggests it could be split into multiple focused servers, reducing cognitive overload.
The tool surface is heavily read-focused, with list and get operations dominating. Only purge_cache and warmup_cache provide actions, and there are no create, update, or delete operations for any resource. This leaves significant lifecycle gaps for a CDN management server.
Maintenance
Related MCP Connectors
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Official MCP server for subfeed.app — the cloud for agents. 15+ tools for AI agents to register, build, and deploy other agents. Zero human required. Start here: subfeed.app/skill.md
Official MCP server for Lovable, the AI-powered full-stack app builder.
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceOfficial MCP server for the s2.dev serverless stream platform13535MIT
- AlicenseBqualityDmaintenanceThe official MCP server for Semantic Pen - an advanced AI article generator and SEO content writer. Create, manage, and optimize SEO-friendly articles directly from Claude Code and Cursor Windsurf with powerful AI automation.5502MIT
- AlicenseNot gradedqualityCmaintenancePublic MCP server for integrating Cuprice pricing widgets from AI tools like Cursor, Claude Desktop, and Claude Code.1MIT
- AlicenseAqualityDmaintenanceOfficial MCP server for FormaCV, enabling AI-powered CV formatting, anonymization, tailoring, and ATS push-back from AI agents like Claude Desktop and Cursor.8551MIT
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/BlazingCDN/BlazingCDN-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server