Skip to main content
Glama
DWGFAKER

chrome-downloader

by DWGFAKER

提交下载(字节由 Chrome 取)

chrome_download

Submit one or more HTTP(S) URLs to Chrome's native download engine, inheriting browser cookies, sessions, and proxy settings; optionally wait for completion, set filename, or verify SHA-256.

Instructions

提交一个或一批 URL 给浏览器下载。服务端不取任何字节,只把任务交给扩展。注意:插件冷启动最长约 30 秒才醒(官方定时器下限),所以提交后进度不立刻动是正常的;要等结果请带 wait=true 或改用 chrome_download_wait。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYes要下载的 URL 列表(http/https;服务端会拒非 http(s))
waitNo是否阻塞到终态(默认 false,与 v0.2 SDK 一致)
sha256No期望的 sha256;给了才会做完整性校验
filenameNo落盘文件名(可省,缺省由 URL 推)
stateDirNo
timeout_secNowait=true 时的超时秒(上限 600)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the annotations: the server is a non-fetching dispatcher, the extension cold-start delay can reach 30 seconds due to the official timer floor, and stalled progress right after submission is expected. None of this is derivable from readOnlyHint=false / idempotentHint=false and it directly prevents premature retries or misdiagnosis.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and the no-bytes guarantee, then the latency caveat and the escape hatch. Three dense sentences with no filler; slightly crowded by bold emphasis but still efficient and well ordered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a submission tool with no output schema, the description covers the essential unknowns: where bytes come from, expected latency, and how to await results. It omits any mention of the sha256 verification path or what happens to previously queued tasks, minor gaps given the rich sibling toolset for status.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already explains urls, wait, sha256, filename, and timeout_sec. The description reinforces wait's blocking semantics in context, but adds no syntax or format detail beyond the schema, and stateDir remains undocumented in both places. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('提交一个或一批 URL 给浏览器下载') and immediately clarifies the critical scope boundary: the server fetches no bytes and only hands the task to the extension. This cleanly separates it from siblings like chrome_download_status/progress/list, which report on rather than create downloads.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational context (cold start up to ~30s, progress may not move immediately) and routes the agent: pass wait=true or use chrome_download_wait to obtain results. It does not state when NOT to submit (e.g., duplicate URLs) or other exclusions, so it falls short of a full when/when-not treatment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.