Dataify MCP
Server Details
Dataify 数据采集 MCP 服务,覆盖 Amazon、Google、YouTube、TikTok 等平台的采集与搜索
- Status
- Healthy
- Uptime
- 70.8% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 81 tools
Many near-duplicate tool pairs have unclear boundaries: amazon_product vs amazon_global_product vs amazon_product_list, google_shopping vs google_shopping_info, google_play vs google_play_store_information vs google_play_store_reviews, and google_maps vs google_map_details vs google_map_comment. The 'Builder task' naming versus the plain search-API naming makes it hard to know which family a request belongs to, even though descriptions name different sources.
Everything is snake_case, but conventions are otherwise mixed: singular/plural varies (facebook_profile vs instagram_profiles, tiktok_profiles, youtube_profiles), and suffixes are inconsistent (product / info / information / details / _by-*). Some tools carry verb prefixes (query_user_*, scraper_task_*, request_web_unlocker) while most are bare resource names.
81 tools is far beyond a well-scoped surface, with dozens of source-specific variants that differ only by underlying collector (e.g. separate facebook_post, facebook_comment, facebook_profile, facebook_event tools). Much of this should collapse into a generic submit-task tool parameterized by collector.
The lifecycle is largely present: task submission per source, scraper_task_status/result/list, statistics, product/tool catalogs, account and balance queries, and a generic web unlocker. Minor gaps like task cancellation or a single generic submit tool exist, but core workflows are covered.
Available Tools
81 toolsairbnb_productADestructiveInspect
当用户需要 Airbnb房产信息、Airbnb房源信息、Airbnb房源搜索、Airbnb product、Airbnb homes,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Airbnb房产信息采集 Builder 任务,采集器标识固定为 airbnb_product_by-searchurl。
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | 国家,该参数用于指定采集 Airbnb 中的房源所属国家。非必填,默认值为 HK,参数值取国家列表中的 typeValue 列。 | HK |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| searchurl | Yes | 网址,该参数用于指定采集 Airbnb 中的房源搜索网址。用于 airbnb_product_by-searchurl。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description's 'submit a Builder task' matches the annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false), so no contradiction, and it adds the fixed collector identifier. However it does not elaborate on what the destructive write actually does (creates a task record), what authentication is required, or that execution is asynchronous, leaving most behavioral detail to the annotations alone.
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?
It is front-loaded and only two sentences, but the first sentence is padded with near-synonym keyword lists ('Airbnb房产信息、Airbnb房源信息、Airbnb房源搜索、Airbnb product、Airbnb homes') that repeat the same concept and add length without new 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?
For a non-idempotent, destructive task-submission tool with no output schema, the description conveys the essential purpose but omits what the call returns (e.g., a task id) and how it relates to the task-status/result siblings (scraper_task_status, scraper_task_result), which the agent needs to complete the workflow.
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%, so the schema already fully documents country, file_name, and searchurl. The description adds only the fixed collector id tying searchurl to 'airbnb_product_by-searchurl', which is marginal value over the structured fields; 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 second sentence gives a specific verb+resource: '提交 Airbnb房产信息采集 Builder 任务' (submit an Airbnb property-collection Builder task) with a fixed collector id, which clearly distinguishes it from data-returning product siblings like zillow_product or amazon_product. The first sentence, however, is largely a keyword/trigger list rather than a statement of purpose, diluting the clarity.
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 states trigger conditions ('当用户需要 Airbnb房产信息…与采集、抓取、爬取、获取、提取等动词组合时触发'), giving the agent a clear selection context. It names no alternatives or exclusions, so it stops short of the 5 tier, but the when-to-use guidance is concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_global_productBDestructiveInspect
当用户需要 Amazon 全球产品详情、Amazon 全球商品详情、Amazon 全球产品信息、全球商品信息、Amazon 全球产品 URL、类别 URL、关键词搜索、关键词品牌搜索,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Amazon 全球产品详情采集 Builder 任务,支持 amazon_global-product_by-url、amazon_global-product_by-category-url、amazon_global-product_by-keywords、amazon_global-product_by-keywords-brand。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URLs,该参数用于指定待采集的访问 URL 地址。用于 amazon_global-product_by-url、amazon_global-product_by-category-url;未传时按采集器使用文档默认 URL。调用方必须提供非空值,不使用默认值。 | |
| brands | No | 品牌,该参数用于指定采集的品牌信息,请输入 Amazon 平台有的品牌名称,如果找不到该品牌选项,则采集字段将为空。用于 amazon_global-product_by-keywords-brand,默认值为 Adidas。 | Adidas |
| domain | No | 域名,请输入需要搜索关键词的主域名,例如:https://www.amazon.com。用于 amazon_global-product_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | 关键词,搜索产品的关键词。amazon_global-product_by-keywords 默认 coffee;amazon_global-product_by-keywords-brand 默认 shirts。调用方必须提供非空值,不使用默认值。 | |
| maximum | No | 最大数量,该参数用于指定采集的最大数量。用于 amazon_global-product_by-category-url,默认值为 5。 | 5 |
| sort_by | No | 排序方式。用于 amazon_global-product_by-category-url,仅传 cn 列:畅销排行、最新上架、平均评价、价格:从高到低、价格:从低到高、精选推荐。默认畅销排行。 | 畅销排行 |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:amazon_global-product_by-url、amazon_global-product_by-category-url、amazon_global-product_by-keywords、amazon_global-product_by-keywords-brand。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| lowest_price | No | 最低价格,该参数用于指定要筛选的最低商品价格。用于 amazon_global-product_by-keywords,默认值为 20。 | 20 |
| page_turning | No | 采集页数,请输入要采集多少页的产品。用于 amazon_global-product_by-keywords、amazon_global-product_by-keywords-brand,默认值为 2。 | 2 |
| get_sponsored | No | 获取赞助商品。用于 amazon_global-product_by-category-url,参数值为 true 或 false,默认值为 true。 | true |
| highest_price | No | 最高价格,该参数用于指定要筛选的最高商品价格。用于 amazon_global-product_by-keywords,默认值为 50。 | 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds almost nothing beyond them: it does not explain that this is an asynchronous job submission requiring later polling via scraper_task_status/scraper_task_result, nor what side effects or costs the destructive write entails.
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 first sentence is a long, repetitive keyword-stuffing block ('Amazon 全球产品详情、Amazon 全球商品详情、Amazon 全球产品信息、全球商品信息...') that duplicates concepts and buries the actual purpose. The useful statement about submitting a Builder task and the four modes is deferred to the second sentence instead of being front-loaded.
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?
There is no output schema, and with 12 parameters and 4 operating modes this is a fairly complex tool. The description covers purpose and modes adequately and the schema carries all parameter detail, but it omits the async task workflow (submit here, then check scraper_task_status / scraper_task_result), which is the key context an agent needs to use the tool end-to-end.
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% and the per-parameter descriptions are rich (documenting which spider_id each param applies to, defaults, formats). The description adds no parameter-level meaning beyond what the schema already provides, so the baseline of 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 second sentence states a concrete verb+resource: submit an Amazon global product-detail collection Builder task, and enumerates the four supported spider modes (by-url, by-category-url, by-keywords, by-keywords-brand). It is clear what the tool does, but it never differentiates itself from the sibling amazon_product / amazon_product_list tools, so the 'global' scope is left for the agent to infer.
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 first sentence provides trigger conditions (product detail/info, URL, category URL, keyword search combined with verbs like collect/scrape/crawl/fetch), which is a form of when-to-use guidance. However, it is essentially a keyword-matching list with no exclusions and no mention of alternatives (e.g. when to prefer amazon_product or the scraper_task_* follow-ups), so usage is only implied rather than decided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_productBDestructiveInspect
当用户需要 Amazon 产品详情、商品详情、商品信息、产品信息、ASIN、产品 URL、关键词搜索、类别 URL 或畅销商品 URL 加采集、抓取、爬取、获取、提取时触发。复用一个工具提交 Amazon 产品详情采集 Builder 任务,支持 amazon_product_by-asin、amazon_product_by-url、amazon_product_by-keywords、amazon_product_by-category-url、amazon_product_by-best-sellers。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URLs,该参数用于指定待采集的访问 URL 地址。用于 amazon_product_by-url、amazon_product_by-category-url;也可用于 amazon_product_by-best-sellers。调用方必须提供非空值,不使用默认值。 | |
| asin | No | ASIN,该参数用于指定采集 Amazon 产品的唯一标识符。ASIN 通常是一个 10 位字母和数字的组合,比如 B0BZYCJK89。用于 amazon_product_by-asin。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | 关键词,搜索产品的关键词。用于 amazon_product_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| sort_by | No | 排序方式。用于 amazon_product_by-category-url,仅传 cn 列:畅销排行、最新上架、平均评价、价格:从高到低、价格:从低到高、精选推荐。默认畅销排行。 | 畅销排行 |
| zip_code | No | 邮政编码,该参数用于指定采集页面中配送区域的邮政编码。用于 amazon_product_by-url,默认 94107。 | 94107 |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:amazon_product_by-asin、amazon_product_by-url、amazon_product_by-keywords、amazon_product_by-category-url、amazon_product_by-best-sellers。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| category_url | No | 类别 URL,畅销书类别网站。用于 amazon_product_by-best-sellers;未传 url 时会作为 url 提交。调用方必须提供非空值,不使用默认值。 | |
| lowest_price | No | 最低价格,该参数用于指定要筛选的最低商品价格。用于 amazon_product_by-keywords。 | 20 |
| page_turning | No | 采集页数,请输入要采集多少页的产品。用于 amazon_product_by-keywords、amazon_product_by-category-url、amazon_product_by-best-sellers。关键词采集默认 2,其它列表采集默认 1。 | |
| highest_price | No | 最高价格,该参数用于指定要筛选的最高商品价格。用于 amazon_product_by-keywords。 | 50 |
| collect_subcategories | No | 收集子类别,该参数用于指定在主类别下要采集的子类别商品范围。仅在传入非空值时提交。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the agent knows this is a state-changing submission. The description adds that it submits a Builder task and reuses one tool for five modes, but says nothing about cost, rate limits, or what the submission produces beyond that. No contradiction with the 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?
Two sentences, front-loading the trigger keywords before the actual function statement. The opening trigger-keyword list is heavily redundant and buries the concrete 'submits an Amazon product-detail Builder task' statement in second position.
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 12-parameter, mode-switching tool with no output schema, the description covers the enumeration of modes but does not explain the required spider_id-driven dispatch or how parameters couple to each mode. The 100%-covered input schema compensates substantially, so the description is adequate but not self-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%, so the schema already documents all 12 parameters including the enum and mode mappings. The description names the same five modes as the schema enum, adding no syntax, format, or dependency detail beyond what is structured. Baseline 3 is correct when the schema does the heavy lifting.
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+resource: submitting an Amazon product-detail collection (Builder) task, and enumerates the five supported collection modes (by-asin, by-url, by-keywords, by-category-url, by-best-sellers). This lets an agent identify it as the Amazon product scraper, though it never distinguishes it from siblings like amazon_product_list, amazon_global_product, or amazon_seller.
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 offers trigger conditions ('when the user needs Amazon product details, ASIN, product URL, keyword search...'), which is implied usage context. However there is no explicit when-to-use-this-vs-alternatives guidance and no exclusions against the many sibling product scrapers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_product_listBDestructiveInspect
当用户需要 Amazon 产品列表、Amazon 商品列表、Amazon 搜索结果列表、Amazon 关键词商品列表,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Amazon 产品列表采集 Builder 任务,采集器标识固定为 amazon_product-list_by-keywords-domain。
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | 域名,请输入需要搜索关键词的主域名,例如:https://www.amazon.com。用于 amazon_product-list_by-keywords-domain。调用方必须提供非空值,不使用默认值。 | |
| keyword | Yes | 关键词,搜索产品的关键词。用于 amazon_product-list_by-keywords-domain。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| page_turning | No | 采集页数,请输入要采集多少页的产品。即如果输入 2,就是需要把搜索结果页的第一页、第二页的所有产品都采集过来。默认值为 1。 | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, but the description adds almost no behavioral context on top of them. It states a Builder task is submitted yet never explains the async nature, what is returned (task id?), that repeated calls are non-idempotent, or why the operation is flagged destructive for what is just data collection.
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?
It is front-loaded with the trigger phrase, but the opening sentence is keyword-stuffed with near-synonymous phrases (Amazon 产品列表 / 商品列表 / 搜索结果列表 / 关键词商品列表) rather than stating the purpose once cleanly. The second sentence is efficient.
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 an asynchronous task-submission tool with no output schema, the description should say that a task is created and results are retrieved later (e.g., via scraper_task_status / scraper_task_result). It implies a Builder task but omits the follow-up workflow, leaving an agent unsure what comes back.
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%, so every parameter (keyword, domain, file_name, page_turning) is already documented in the schema, including defaults and the page-turning semantics. The description adds no meaning beyond that, so the 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+resource: it submits an Amazon product-list collection Builder task with a fixed collector identifier. However, it does not differentiate itself from the very similar siblings amazon_product, amazon_global_product, and amazon_product_list, so an agent cannot easily tell which one applies.
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 gives explicit trigger conditions (product-list / search-result / keyword-product-list requests combined with collect/scrape/crawl/fetch verbs), which is clear usage context. It stops short of naming when-not conditions or an alternative sibling to prefer in edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_sellerBDestructiveInspect
当用户需要 Amazon 卖家信息、Amazon 店铺信息、Amazon 商家信息、卖家资料、seller 信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Amazon 卖家信息采集 Builder 任务,采集器标识固定为 amazon_seller_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URLs,该参数用于指定待采集的访问 URL 地址。用于 amazon_seller_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds that this is an asynchronous Builder task submission with a fixed collector ID, which is useful beyond the annotations, but it never says what the task produces or how results are retrieved.
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 sentence about submitting the Builder task is front-loadable and clear, but the first sentence is a long enumeration of synonyms (采集、抓取、爬取、获取、提取) that inflates size without adding routing precision beyond a couple of keywords.
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 task-submission tool with no output schema, the description omits the crucial workflow fact that it only enqueues work and that results must be fetched via siblings such as scraper_task_status / scraper_task_result. With destructiveHint=true and no output schema, this leaves the agent without the follow-up path it needs.
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% (url and file_name both documented inline with required/default notes), so the schema carries the parameter meaning. The description adds nothing about parameters except the fixed collector identifier, 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?
States a specific verb+resource: submits a collection Builder task for Amazon seller info, with the collector fixed as amazon_seller_by-url. It is clearly distinguishable from siblings like amazon_product or amazon_comment by resource, though it spends much of its length on trigger-word enumeration rather than the action itself.
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 gives explicit trigger conditions (user needs Amazon seller info combined with collection verbs such as 采集/抓取/获取), which is usable context. However, it names no alternatives and no when-not conditions, so the agent still has to infer why it would pick this over the other amazon_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bing_imagesBDestructiveInspect
当用户需要通过 Bing Images 搜索图片结果,或按图片尺寸、颜色、类型、比例、人脸、年龄、版权等条件筛选图片时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义爬取时的搜索结果。您可以输入任意想要查询的关键词,也可以是任意语言。调用方必须提供非空值,不使用默认值。 | |
| cc | No | 该参数定义了爬取时可以指定搜索结果按照国家/地区用户的习惯展示。它是一个由两个字母组成的国家/地区代码,例如:us、ru、uk。 | |
| age | No | 该参数用于按日期过滤图片。可用值:lt1440 - 过去 24 小时,lt10080 - 过去一周,lt43200 - 过去一个月,lt525600 - 过去一年。 | |
| mkt | No | 参数定义了爬取时搜索结果的界面显示语言。该参数采用 <语言代码>-<国家/地区代码> 的形式。例如:en-US。 | |
| face | No | 该参数用于按人物类型过滤图片。可用值:face - 仅限面部,portrait - 头肩。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| count | No | 该参数控制每页的结果数量。此参数仅为建议值,可能无法反映返回的结果数。 | |
| first | No | 该参数控制自然结果的偏移量。此参数默认为 0。例如 first=10 会将第 10 个自然结果移动到第一个位置。 | 0 |
| photo | No | 该参数用于按图片类型过滤图片。可用值:photo - 照片,clipart - 剪贴画,linedrawing - 线条画,animatedgif - 动图,animatedgifhttps - HTTPS 动图,transparent - 透明,shopping - 购物。 | |
| aspect | No | 该参数用于按布局过滤图片。可用值:square - 方形,wide - 宽,tall - 高。 | |
| color2 | No | 该参数用于按颜色过滤图片。可用值:color - 仅彩色,bw - 黑白,FGcls_RED - 红色,FGcls_ORGANGE - 橙色,FGcls_YELLOW - 黄色,FGcls_GREEN - 绿色,FGcls_TEAL - 青色,FGcls_BLUE - 蓝色,FGcls_PURPLE - 紫色,FGcls_PINK - 粉色,FGcls_BROWN - 棕色,FGcls_BLACK - 黑色,FGcls_GRAY - 灰色,FGcls_WHITE - 白色。 | |
| license | No | 该参数用于按使用许可过滤图片。可用值:Type-Any - 所有 Creative Commons,L1 - Public Domain,L2_L3_L4_L5_L6_L7 - 免费共享和使用,L2_L3_L4 - 免费共享和商业使用,L2_L3_L5_L6 - 免费修改、共享和使用,L2_L3 - 免费修改、共享和商业使用。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| imagesize | No | 该参数用于按尺寸过滤图片。可用值:small - 小,medium - 中,large - 大,wallpaper - 超大。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), so the description is not the sole carrier of behavior. Still, it adds nothing beyond the trigger — no mention of caching semantics, rate limits, quotas, or what the scrape actually returns, all of which matter for a 14-parameter open-world scraper.
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?
One front-loaded sentence that leads with the core action and then enumerates filter capabilities. No filler, though the long condition list borders on restating parameter names from the schema.
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 14-parameter scraping tool with no output schema, the description omits operational context an agent would want: pagination behavior via first/count, the json output modes, and caching/statistics implications of no_cache. The schema carries these, but the description does not tie them into a usable mental model.
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 rich per-parameter documentation (age presets, color enum values, license codes, json output modes). The description only lists filter categories that the schema already explains in more detail, so it adds no semantic value beyond the baseline.
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+resource combination: search image results via Bing Images, plus the filter dimensions supported (size, color, type, aspect, face, age, license). However, it makes no attempt to distinguish itself from obvious siblings such as google_images or bing_search, which is a notable omission in this tool set.
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 gives trigger conditions ('when the user needs to search images or filter them'), which is implied usage guidance. But it never says when to prefer this over google_images, nor when Bing Images is inappropriate, and no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bing_mapsBDestructiveInspect
当用户需要查询 Bing Maps 地图结果、地点搜索、地图位置、place_id 或分页地图数据时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义搜索查询。您可以使用常规必应地图搜索中使用的任何内容。调用方必须提供非空值,不使用默认值。 | |
| cp | No | 该参数定义您希望 q(查询)应用到的位置的 GPS 坐标。它必须按纬度 + ~ + 经度的顺序构建。例如:40.7455096~-74.0083012。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| count | No | 该参数控制每页的结果数量。此参数仅为建议值,可能无法反映返回的结果数。每页最大结果为 10。 | |
| first | No | 该参数控制本地结果的偏移量。此参数默认为 0。例如,当 count=10 时,第二页结果从 first=10 开始。 | 0 |
| setlang | No | 该参数定义搜索使用的语言。它遵循 ISO_3166-1 格式,例如 us 代表美国,de 代表德国,gb 代表英国等。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| place_id | No | 该参数定义必应地图上地点的唯一引用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false, so the safety profile is carried by structured fields. The description adds nothing about caching caveats (no_cache), quota/rate limits, auth needs, or that destructiveHint=true despite a read-looking search. Big gap for a tool whose annotations flag it as destructive.
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 efficient trigger sentence with no padding, front-loaded with the resource keywords. It is appropriately sized, though it is one long enumeration rather than structured guidance.
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 8 parameters, 100% schema coverage, no output schema, and no-annotations gap on behavior, the description should at least explain pagination and place_id lookup interplay or when not to use it. It is far too thin for a tool of this complexity.
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%, so the burden is already met by the schema. The description only echoes parameter names (place_id, pagination) without adding syntax or format details, so it is baseline 3.
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?
Description states a specific resource (Bing Maps results, place search, locations, place_id, paginated data) with a clear trigger verb, so an agent knows roughly what it fetches. It does not differentiate from the sibling google_maps, which the same style of query would also serve.
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 trigger clause '当用户需要查询...时触发' implies usage context, but gives no explicit when-to-use versus google_maps/google_local, and no exclusions. Usage is only implied, which is the minimum viable level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bing_newsBDestructiveInspect
当用户需要通过 Bing News 查询新闻搜索结果,或按关键词、地区、语言、日期排序、安全过滤等条件获取新闻内容时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义爬取时的搜索结果。您可以输入任意想要查询的关键词,也可以是任意语言。调用方必须提供非空值,不使用默认值。 | |
| cc | No | 该参数定义了爬取时可以指定搜索结果按照国家/地区用户的习惯展示。它是一个由两个字母组成的国家/地区代码,例如:us、ru、uk。 | |
| mkt | No | 参数定义了爬取时搜索结果的界面显示语言。该参数采用 <语言代码>-<国家/地区代码> 的形式。例如:en-US。 | |
| qft | No | 该参数定义按日期排序的结果。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| count | No | 该参数控制每页的结果数量。此参数仅为建议值,可能无法反映返回的结果数。 | |
| first | No | 该参数控制自然结果的偏移量。此参数默认为 0。例如 first=10 会将第 10 个自然结果移动到第一个位置。 | 0 |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| safeSearch | No | 该参数定义成人内容的过滤级别。可用值:Off、Moderate、Strict。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=true, and the description adds nothing behavioral on top of them. It says nothing about caching (the schema exposes no_cache), output format, auth needs, or why a news query carries a destructive hint. Silence is not contradiction, but the description contributes no behavioral value.
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?
It is a single sentence with no filler, but it is somewhat run-on and redundant ('查询新闻搜索结果' restated as '获取新闻内容'). It is adequately compact but not tight or well front-loaded.
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 nine-parameter tool with no output schema, the description is thin: it should at least sketch what news content is returned (fields, structure, pagination via first/count). The schema itself is fully documented, so the core calling mechanics are covered, but the description leaves the return contract unexplained.
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%, so the schema already documents all nine parameters thoroughly. The description loosely echoes the categories (keyword, region, language, date sort, safe filter) that map to q, cc, mkt, qft and safeSearch but adds no syntax, format, or default information beyond the schema, which is the baseline 3.
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 names a specific verb (查询/query) and resource (Bing News 新闻搜索结果), and lists the dimensions it covers (keyword, region, language, date sorting, safe filtering). This is clear enough that the agent knows it is a Bing news search, but it offers no differentiation from siblings like bing_search or google_news.
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 is framed as a trigger clause (当用户需要...时触发), which supplies context for when to use it, but there are no when-not conditions and no named alternatives. The 'when' is essentially 'when you need news,' which is redundant with the tool name and does not route between competing news/search siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bing_searchBDestructiveInspect
当用户需要通过 Bing 搜索公开网页信息,或按位置、经纬度、国家/地区、语言、安全过滤、分页和高级过滤条件获取网页搜索结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义爬取时的搜索结果。您可以输入任意想要查询的关键词,也可以是任意语言。调用方必须提供非空值,不使用默认值。 | |
| cc | No | 该参数定义爬取时可以指定搜索结果按照国家/地区用户的习惯展示。它是一个由两个字母组成的国家/地区代码,例如:us、ru、uk。 | |
| lat | No | 定义搜索起点的 GPS 纬度。 | |
| lon | No | 定义搜索起点的 GPS 经度。 | |
| mkt | No | 该参数定义爬取时搜索结果的界面显示语言。该参数采用 <语言代码>-<国家/地区代码> 的形式。例如:en-US。该字符串不区分大小写。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| first | No | 该参数控制自然结果的偏移量。此参数默认为 0。例如 first=10 会将第 10 个自然结果移动到第一个位置。 | 0 |
| filters | No | 该参数允许使用更复杂的过滤选项,例如按日期范围过滤(例如:ez5_18169_18230)或使用特定的显示过滤器(例如:ufn:"Wunderman+Thompson"+sid:"5bede9a2-1bda-9887-e6eb-30b1b8b6b513"+catguid:"5bede9a2-1bda-9887-e6eb-30b1b8b6b513_cfb02057"+segment:"generic.carousel"+entitysegment:"Organization")。 | |
| location | No | 该参数定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| safeSearch | No | 该参数定义成人内容的过滤级别。可设置为:Off - 返回包含成人文本、图片或视频的网页;Moderate - 返回包含成人文本但不包含成人图片或视频的网页;Strict - 不返回包含成人文本、图片或视频的网页。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations exist (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), but the description adds no behavioral context beyond the trigger. It does not explain the non-read-only/destructive annotation, the 5-minute cache behavior (only in the schema), auth requirements, or rate limits, leaving the surprising 'destructive' flag unexplained for what reads like a read-only search.
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?
It is a single sentence, so it is compact and front-loads the core purpose. However, the trailing facet list largely duplicates the parameter schema and reads as a run-on, so not every clause 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?
With 11 parameters, 100% schema coverage, and annotations present, the structured fields carry most of the burden. The description is minimally adequate but omits anything about output format (the json parameter), pagination semantics, or the nature of results, leaving it thin for a tool with this many knobs and 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?
Schema description coverage is 100%, so the baseline is 3. The description lists facets that loosely map to several of the 11 parameters (location, lat/lon, cc, mkt, safeSearch, first, filters), but adds no syntax, format, or default information beyond what the schema already documents.
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 names a specific verb and resource ('通过 Bing 搜索公开网页信息' / search public web information via Bing) and enumerates the facets it supports (location, lat/lon, country, language, safe filtering, pagination, advanced filters). It is clear about what the tool does, but it offers no differentiation from siblings such as google_search, duckduckgo_search, or yandex_search.
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 whole statement is framed as a trigger condition ('当用户需要...时触发'), which gives explicit when-to-use context. However, it names no exclusions and no alternative engines, so an agent cannot tell from the text why it should choose this over google_search or duckduckgo_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bing_shoppingBDestructiveInspect
当用户需要通过 Bing Shopping 查询商品、购物搜索结果、商品列表,或按购物偏移量和过滤条件获取购物数据时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义爬取时的搜索结果。您可以输入任意想要查询的关键词,也可以是任意语言。调用方必须提供非空值,不使用默认值。 | |
| cc | No | 该参数定义了爬取时可以指定搜索结果按照国家/地区用户的习惯展示。它是一个由两个字母组成的国家/地区代码,例如:us、ru、uk。 | |
| mkt | No | 参数定义了爬取时搜索结果的界面显示语言。该参数采用 <语言代码>-<国家/地区代码> 的形式。例如:en-US。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| efirst | No | 该参数控制购物结果的偏移量。例如 efirst=10 会将第 10 个购物结果移动到第一个位置。 | |
| filters | No | 该参数允许使用更复杂的过滤选项,例如按日期范围过滤(例如:ez5_18169_18230)或使用特定的显示过滤器(例如:ufn:"Wunderman+Thompson"+sid:"5bede9a2-1bda-9887-e6eb-30b1b8b6b513"+catguid:"5bede9a2-1bda-9887-e6eb-30b1b8b6b513_cfb02057"+segment:"generic.carousel"+entitysegment:"Organization")。可以通过使用必应搜索并复制 filters 查询参数来构造精确的值。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, but the description describes a read-only query operation ('查询商品...'), directly contradicting the destructive annotation. The description also omits any mention of caching, authentication, or side effects, leaving a major behavioral gap.
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 gets to the point quickly. However, it lists several overlapping concepts ('查询商品、购物搜索结果、商品列表'), which is somewhat redundant.
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 seven parameters, no output schema, and annotations that suggest destructive behavior, the description is far too thin. It does not explain return values, caching implications, or why it is marked destructive, leaving the agent without crucial 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?
Schema description coverage is 100%, so all seven parameters are fully documented in the schema. The description only mentions offset and filters generically, adding no new semantic detail beyond what the schema already provides.
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 (查询) and resource (Bing Shopping 商品/购物数据), making the tool's function clear. It distinguishes itself from general search tools by naming Bing Shopping, though it does not explicitly contrast with sibling shopping tools like google_shopping.
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 trigger condition ('当用户需要...时触发'), which indicates when to use the tool. However, it offers no guidance on when not to use it or how it compares to alternatives like bing_search or google_shopping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bing_videosBDestructiveInspect
当用户需要通过 Bing Videos 搜索视频结果,或按时长、日期、分辨率、来源网站、价格、国家/地区和语言筛选视频时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义爬取时的搜索结果。您可以输入任意想要查询的关键词,也可以是任意语言。调用方必须提供非空值,不使用默认值。 | |
| cc | No | 该参数定义了爬取时可以指定搜索结果按照国家/地区用户的习惯展示。它是一个由两个字母组成的国家/地区代码,例如:us、ru、uk。 | |
| mkt | No | 参数定义了爬取时搜索结果的界面显示语言。该参数采用 <语言代码>-<国家/地区代码> 的形式。例如:en-US。 | |
| date | No | 该参数用于按日期过滤视频。可用值:lt1440(过去 24 小时)、lt10080(过去一周)、lt43200(过去一个月)、lt525600(过去一年)。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML。 | 1 |
| first | No | 该参数控制自然结果的偏移量。此参数默认 0。例如 first=10 会将第 10 个自然结果移动到第一个位置。 | 0 |
| price | No | 该参数用于按价格过滤视频。可用值:free(免费)、paid(付费)。 | |
| length | No | 该参数用于按时长过滤视频。可用值:short(少于 5 分钟)、medium(5-20 分钟)、long(超过 20 分钟)。 | |
| setlang | No | 该参数定义搜索使用的语言。它遵循 2 字符的 ISO_3166-1 格式,例如:us 代表美国,de 代表德国,gb 代表英国。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| resolution | No | 该参数用于按分辨率类型过滤视频。可用值:lowerthan_360p、360p、480p、720p、1080p。 | |
| source_site | No | 该参数用于按来源过滤视频。可用值包括:dailymotion.com、vimeo.com、metacafe.com、hulu.com、vevo.com、myspace.com、mtv.com、cbsnews.com、foxnews.com、cnn.com、msn.com。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=false and destructiveHint=true, yet the description describes a pure retrieval operation (搜索视频结果 / 筛选视频) with no destructive semantics. The description also omits anything beyond the schema — cost/credits, the 5-minute cache behavior, output format, pagination — so the behavioral profile is left contradictory rather than clarified.
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 sentence, front-loaded with the primary action (searching Bing Videos) followed by the filter facets; nothing is padded or redundant. The facet list is dense but each item earns its place by mapping to real parameters.
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 12 parameters but a fully-documented schema and existing annotations, most calling information is carried by structured fields, so the terse trigger sentence is minimally adequate. However, for a scraper tool with no output schema, the description says nothing about the returned result shape, credit consumption, or caching, leaving real gaps.
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 all 12 parameters (q, cc, mkt, date, json, first, price, length, setlang, no_cache, resolution, source_site) documented including allowed values in the schema itself. The description only restates the filter categories at a high level, adding no syntax or default information beyond the schema, so the baseline of 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?
States a specific verb (搜索) and resource (Bing Videos 的视频结果) and enumerates the filterable facets, so an agent can tell it apart from bing_images/bing_news/google_videos at a glance. It is framed as a trigger condition rather than an action statement, and it never names a sibling to differentiate against, which keeps it short of a 5.
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 entire sentence is a when-to-use clause: use this when the user wants video results from Bing Videos or wants to constrain results by duration, date, resolution, source site, price, country or language. There is no when-not guidance and no explicit alternative (e.g. youtube_video, google_videos), which is what separates it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_hotellistADestructiveInspect
当用户需要 Booking 酒店信息、Booking 酒店详情、Booking hotel information、Booking hotel list,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Booking 酒店信息采集 Builder 任务,采集器标识固定为 booking_hotellist_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Booking URL,该参数用于指定采集 Booking 酒店信息链接。用于 booking_hotellist_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, so the bar is lowered. The description adds that it submits an async Builder task with a fixed collector ID, which is consistent with the write annotation. It does not explain what is destructive, auth requirements, rate limits, or how results are later retrieved (sibling scraper_task_result/status), leaving meaningful behavioral gaps.
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 trigger list is verbose and redundant — 酒店信息, 酒店详情, hotel information, hotel list and five near-synonymous action verbs all express the same intent. The action statement is front-loaded enough, but the keyword padding dilutes the signal.
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?
There is no output schema, and this is an async task-submission tool with destructive/idempotent-false annotations. The description states the task and collector ID but omits the workflow an agent needs (that results come from a separate task-result tool) and any caution about the destructive write. Adequate but incomplete.
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%, so both parameters are already documented, making 3 the baseline. The description only echoes the collector identifier tied to the url parameter and adds no format or validation nuance beyond the schema.
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 second sentence names a specific verb+resource: submitting a Booking hotel information collection Builder task with a fixed collector identifier. It distinguishes the tool as Booking-specific against siblings like google_hotels. It falls short of 5 because the primary action is buried behind a trigger-phrase list and it doesn't clarify list-vs-detail 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 first sentence explicitly states the triggering condition — when the user needs Booking hotel information/detail/list paired with verbs like 采集/抓取/爬取/获取/提取. This gives clear context for when to use it. However, it names no alternatives (e.g., google_hotels or other scraper tools) and offers no exclusion criteria, so it stops at 'when' without 'when not'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_answerBDestructiveInspect
当用户需要 ChatGPT 答案、ChatGPT 回答内容、ChatGPT 提问结果、AI 回答文本、引用来源链接、相关推荐问题、答案生成时间、模型版本,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 ChatGPT 答案采集 Builder 任务,支持 chatgpt_answer_by-keywords(通过搜索关键词采集)和 chatgpt_answer_by-url(通过 URL 采集)。
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:chatgpt_answer_by-keywords、chatgpt_answer_by-url。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| chatgpt_url | No | ChatGPT 页面 URL,该参数用于指定待采集答案的 ChatGPT 访问 URL。用于 chatgpt_answer_by-url。调用方必须提供非空值,不使用默认值。 | |
| search_terms | No | 搜索关键词,该参数用于指定向 ChatGPT 提问并采集答案的关键词。用于 chatgpt_answer_by-keywords。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotent, so the safety profile is partly covered. The description adds that this is a task-submission tool (Builder task), but does not explain what makes it destructive, cost/rate behavior, or that results must be retrieved asynchronously - gaps given the destructive flag.
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 first sentence is heavy keyword stuffing (a string of comma-separated 'ChatGPT 答案/回答内容/回答文本/引用来源链接' variants) that does not earn its length. The substantive purpose only appears in the second sentence, so the definition is not well front-loaded.
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 task-submission tool with four params, no output schema and a destructive annotation, the description explains modes but omits what happens after submission - e.g. that the task is queued and results are fetched via scraper_task_status/scraper_task_result. Adequate but incomplete.
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 schema already documents spider_id, chatgpt_url, search_terms and file_name, including which mode each maps to. The description mostly restates that same mode-to-parameter mapping, adding little beyond the schema.
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 gives a concrete verb+resource: it submits a ChatGPT-answer collection Builder task and names the two supported modes (chatgpt_answer_by-keywords, chatgpt_answer_by-url). It is distinguishable from siblings like google_ai_mode, though it never explicitly contrasts them.
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 opening trigger clause sets clear context for when to invoke (user wants ChatGPT answers/citation links/model version combined with collect/scrape/extract verbs), and it routes between the keyword vs URL modes. It offers no explicit when-not-to-use or sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crunchbase_companyADestructiveInspect
当用户需要 Crunchbase 信息、Crunchbase 公司信息、Crunchbase 企业信息、Crunchbase company,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Crunchbase 公司信息采集 Builder 任务,支持 crunchbase_company_by-url 和 crunchbase_company_by-keywords。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Crunchbase URL,该参数用于指定采集 Crunchbase 中的公司 URL。用于 crunchbase_company_by-url。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | 关键词,该参数用于指定采集 Crunchbase 中搜索公司的关键词。用于 crunchbase_company_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:crunchbase_company_by-url、crunchbase_company_by-keywords。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true, so the safety profile is covered. The description adds that this 'submits a Builder task,' which is consistent with a non-idempotent write rather than a synchronous read. It does not disclose what the task produces, whether credentials/keys are required, or any rate limits — meaningful gaps for a job-submission tool, but the annotation bar is lower here.
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 trigger enumeration is redundant ('Crunchbase 信息、Crunchbase 公司信息、Crunchbase 企业信息、Crunchbase company') and pads the front. The action statement follows, so it is reasonably front-loaded, but several near-synonymous phrases do not fully earn their 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?
With no output schema, the description should carry the return/lifecycle burden, but it only says a task is submitted. It never states that a task id is returned and that results are retrieved via sibling tools like scraper_task_status/scraper_task_result. For a task-submission tool this is an incomplete but not fatal 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?
Schema description coverage is 100%, so the schema already documents url, keyword, file_name and the spider_id enum mapping. The description reinforces the two modes (by-url vs by-keywords), matching spider_id, but adds no syntax or format meaning beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
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 second sentence states a specific verb and resource: '复用一个工具提交 Crunchbase 公司信息采集 Builder 任务' (submit a Crunchbase company-info collection Builder task). It also names the two supported modes (by-url, by-keywords), which pin down the scope. Differentiation from the many source-specific siblings is implicit through the Crunchbase/company naming rather than explicit.
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 first sentence gives an explicit trigger condition: use when the user needs Crunchbase company info combined with verbs like 采集/抓取/爬取/获取/提取. It also presents the two modes as the routing choice. There are no explicit 'do-not-use' exclusions or named alternative tools, 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.
duckduckgo_searchCDestructiveInspect
当用户需要通过 DuckDuckGo 搜索公开网页信息,或希望获取 DuckDuckGo 的隐私搜索结果、网页结果或搜索摘要时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| m | No | 该参数定义要返回的最大结果数量。默认值:10,最小值:1,最大值:50。当 start 设置为 0 或留空时,最多可返回 25 个自然结果。DuckDuckGo 可能返回重复结果或数量可变的结果,这在使用较大的 start 和 m 参数时更可能发生。m 和 search_assist 不能一起使用。 | 10 |
| q | Yes | 该参数定义爬取时的搜索结果。您可以输入任意想要查询的关键词,也可以是任意语言。调用方必须提供非空值,不使用默认值。 | |
| df | No | 该参数定义按日期过滤的结果。可设置为:d - 过去一天,w - 过去一周,m - 过去一月,y - 过去一年;也可以按 start_date..end_date 格式传递自定义日期,例如:2021-06-15..2024-06-16。 | |
| kl | No | 该参数定义 DuckDuckGo 搜索要使用的地区。地区代码示例:us-en 代表美国,uk-en 代表英国,fr-fr 代表法国。请访问 DuckDuckGo 地区页面查看支持的地区完整列表。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| safe | No | 该参数定义成人内容的过滤级别。可设置为:1 - 严格,-1 - 中等(默认),-2 - 关闭。 | -1 |
| start | No | 该参数定义结果偏移量,它跳过指定数量的结果。当 start 设置为 0 或留空时,最多可返回 25 个自然结果;当 start 大于 0 时,最多可返回 10 个自然结果。DuckDuckGo 可能返回重复结果或数量可变的结果,这在使用较大的 start 和 m 参数时更可能发生。 | 0 |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| search_assist | No | 该参数决定是否在响应中返回 DuckDuckGo 的 AI 搜索辅助。可设置为 true 或 false(默认)。search_assist 和 m 不能一起使用。 | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, yet the description frames the tool purely as a read/search operation ('搜索公开网页信息', '获取搜索结果'), creating an inconsistency with the destructive hint. Beyond that mismatch the description adds no behavioral context such as credit consumption, rate limits, or privacy-mode semantics despite the 'privacy search' mention.
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?
It is a single short sentence with the trigger front-loaded, but it lists overlapping concepts ('隐私搜索结果、网页结果或搜索摘要') that repeat the same idea rather than adding distinct 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 9-parameter tool with two enums, no output schema, and a large sibling set of competing search tools, the description leaves critical gaps: it never explains the output-format behavior controlled by 'json', the search_assist/m exclusivity, or how to choose it over sibling search tools.
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% and the schema richly documents all 9 parameters (date filter, region, output format, safe search, pagination, caching). The description contributes nothing beyond the schema, 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 states a specific verb+resource: searching public web information via DuckDuckGo and retrieving privacy/web results or search summaries. Naming DuckDuckGo implicitly distinguishes it from siblings like google_search, bing_search, and yandex_search, though it never makes that contrast explicit.
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 whole text is a 'trigger when the user needs...' phrasing but gives no conditions, prerequisites, or when-NOT-to-use guidance. It never tells the agent when to prefer DuckDuckGo over the many other search siblings (google_search, bing_search, yandex_search).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_infoADestructiveInspect
当用户需要 ebay 信息、eBay 商品信息、eBay 产品信息、eBay 类别商品、eBay 店铺商品,与采集、抓取、爬取、获取、提取等动词组合时触发。从 ebay.com 提取商品列表、售价区间、卖家详情、拍卖记录、库存状态、用户评价、物流配送信息等数据。复用一个工具提交 eBay 信息采集 Builder 任务,支持 ebay_ebay_by-url、ebay_ebay_by-category-url、ebay_ebay_by-keywords 和 ebay_ebay_by-listurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | eBay URL 或 Category URL。用于 ebay_ebay_by-url 时默认值为 https://www.ebay.com/itm/296197468977?itmmeta=01HRWJ04NFHYT9AX0XZB8F18G1&hash=item44f6beb331%3Ag%3ADEQAAOSw3CxlhTJ%7E&_trkparms=%2526rpp_cid%253D6523c97b0b7882040b9472b6;用于 ebay_ebay_by-category-url 时默认值为 https://www.ebay.com/b/Collectible-Japanese-Bells-1900-Now/165467/bn_3104829;用于 ebay_ebay_by-listurl 时默认值为 https://www.ebay.com/str/kptradingdeals?_trksid=p4429486.m145687.l149086。调用方必须提供非空值,不使用默认值。 | |
| count | No | 数量,该参数用于指定采集结果的最大数量。用于 ebay_ebay_by-category-url、ebay_ebay_by-keywords 和 ebay_ebay_by-listurl,默认值为 60。 | 60 |
| keywords | No | 关键词,该参数用于指定采集 eBay 产品的搜索关键词。用于 ebay_ebay_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:ebay_ebay_by-url、ebay_ebay_by-category-url、ebay_ebay_by-keywords、ebay_ebay_by-listurl。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, so the mutation profile is covered structurally. The description adds the useful fact that this submits an asynchronous 'Builder 任务' rather than returning data directly, which reconciles the non-read-only hint, but it omits task lifecycle, auth prerequisites, rate limits, and any side effects.
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?
Trigger conditions are front-loaded, which is good, but the opening enumerates near-synonyms ('ebay 信息、eBay 商品信息、eBay 产品信息、eBay 类别商品、eBay 店铺商品') that add bulk without information. The mode list duplicates the enum already in the schema.
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?
Without an output schema, the description should explain what the caller gets back (e.g., a task ID for later polling via scraper_task_status). It describes input modes and extraction targets but is silent on return values and follow-up task handling, leaving a gap for a task-submission tool.
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%, so the schema already documents url, count, keywords, file_name, and the spider_id enum with per-mode defaults. The description merely restates the four spider modes and extraction scope, adding no syntax, format, or default semantics beyond the schema; 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?
States a specific resource (eBay product/listing data) and the action (extract + submit a collection Builder task), listing concrete data types (price ranges, seller details, auction records, stock, reviews, shipping). It is clearly an eBay-specific scraper, but it never names or contrasts sibling scrapers (amazon_product, walmart_product, google_shopping_info), so differentiation is left to the domain name alone.
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?
Gives the trigger condition explicitly: eBay info combined with collect/scrape/crawl/get/extract verbs. This is solid when-to-use guidance, but it offers no when-not-to-use or alternative routing (e.g., when to prefer a search tool vs. this Builder task).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_commentCDestructiveInspect
当用户需要 Facebook 帖子评论、Facebook 评论、Facebook post comments、帖子回复信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Facebook 帖子评论采集 Builder 任务,采集器标识固定为 facebook_comment_by-comments-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 帖子 URL,该参数用于指定要采集的 Facebook 帖子 URL。用于 facebook_comment_by-comments-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| comments_sort | No | 评论排序方式。可选值:All comments、Most Relevent、Newest;默认值为 All comments。 | All comments |
| limit_records | No | 回复数量上限,该参数用于指定采集的最多回复数量。当值为空时,采集数量默认 1 页(最多 10 条)。默认值为 10。 | 10 |
| get_all_replies | No | 全部回复,该参数用于指定是否要采集全部回复。选择 True 则采集全部回复,优先级高于 limit_records。可选值:True、False,默认值为 True。 | True |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, openWorldHint=true, and readOnlyHint=false, but the description never explains that this launches a long-running Builder task, whether it returns a task id or immediate results, or what state it mutates. The one concrete fact offered, the fixed collector identifier, is the only behavioral context beyond the 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 long run-on sentence overloaded with synonym lists in two languages (评论, comments, 采集, 抓取, 爬取, 获取, 提取) intended for keyword matching rather than reading. It is verbose and not front-loaded with the core 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 destructive, non-idempotent task-submission tool with no output schema, the description omits what happens after submission, how results are retrieved (siblings scraper_task_status/result exist), and how it differs from the Facebook post scraper. The schema covers parameters, but the operational picture is incomplete.
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%, so every parameter including url, comments_sort, limit_records, and get_all_replies is already documented with defaults and enums. The description adds no parameter-level meaning of its own, which is the expected baseline when the schema does the heavy lifting.
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 it triggers on Facebook post comment scraping and submits a Builder task, so the resource (Facebook comments) is identifiable. But the phrasing is trigger-oriented and keyword-stuffed rather than a clean verb+resource statement, and it never distinguishes this tool from the sibling facebook_post or the other *_comment tools beyond the platform name.
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 implies when to invoke (user needs Facebook post comments combined with collect/scrape verbs) and names the fixed collector id, which is useful implementation detail. However, there is no explicit when-not-to-use or guidance against the sibling facebook_post scraper, so routing between them is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_eventADestructiveInspect
当用户需要 Facebook 活动、Facebook 活动信息、Facebook event、活动列表、活动搜索结果,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Facebook 活动采集 Builder 任务,支持 facebook_event_by-eventlist-url 和 facebook_event_by-search-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 活动列表 URL 或活动搜索 URL。用于 facebook_event_by-eventlist-url 时默认值为 https://www.facebook.com/nohoclub/events;用于 facebook_event_by-search-url 时默认值为 https://www.facebook.com/events/explore/us-atlanta/107991659233606。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:facebook_event_by-eventlist-url、facebook_event_by-search-url。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=true and openWorldHint=true, so the mutating, non-idempotent, open-world nature is covered. The description adds only that this is an asynchronous Builder task submission, without saying what side effects occur, whether auth/quota applies, or how the resulting task is tracked.
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?
Front-loaded with the trigger condition, but the first sentence is a stuffed keyword list (Facebook 活动 / Facebook 活动信息 / Facebook event / 活动列表 / 活动搜索结果) that largely repeats itself before the actionable 'submit a Builder task' statement appears.
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?
There is no output schema, so the description is the only place to explain that this returns a task handle rather than event data, and to link to scraper_task_status / scraper_task_result for polling. It implies async submission but leaves that essential follow-up workflow unstated.
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% – url, file_name default, and the spider_id enum are all documented in the schema itself. The description merely repeats the two spider_id values and adds no format or selection semantics beyond what is already there, so 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?
States a specific verb+resource: submits a Facebook event collection Builder task, and names the two supported spider modes. This clearly separates it from siblings like facebook_post, facebook_comment, and facebook_profile. It stops short of 5 only because the trigger-keyword enumeration adds length without sharpening the distinction further.
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?
Gives explicit trigger conditions (user wants Facebook events / event lists / event search results combined with collect/scrape/fetch verbs), which is real when-to-use guidance. It does not state when NOT to use it, nor how to choose between the two spider_id modes (the schema carries that instruction).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_postADestructiveInspect
当用户需要 Facebook 帖子、Facebook 帖子信息、Facebook post、帖子内容,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Facebook 帖子采集 Builder 任务,采集器标识固定为 facebook_post_by-posts-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 帖子 URL,该参数用于指定要采集的 Facebook 帖子 URL。用于 facebook_post_by-posts-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, readOnly=false, openWorld=true, and idempotent=false, so the safety profile is covered. The description adds that this submits a Builder task with a fixed collector ID, but it does not explain authentication needs, async behavior, rate limits, or what happens after submission.
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 sentences, front-loaded with trigger conditions followed by the action and fixed collector identifier. The synonym list aids routing, and there is no extraneous content.
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?
There is no output schema, so the description should explain what the tool returns. It states a Builder task is submitted but does not mention that a task ID or status result is returned, nor does it reference sibling tools such as scraper_task_status or scraper_task_result for retrieving results. This is a meaningful gap for a task-submission tool.
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%, so both url and file_name are fully documented in the schema. The description adds nothing about parameter syntax or format beyond naming the fixed collector ID, making the baseline 3 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 (submit a Facebook post collection Builder task) and resource (Facebook posts), and fixes the collector identifier to facebook_post_by-posts-url. It clearly distinguishes this from sibling tools like facebook_comment or facebook_profile by focusing on posts, though it does not explicitly name siblings.
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 gives explicit trigger conditions: when the user needs Facebook post information combined with collection/scraping/extraction verbs. This is clear usage context, but there is no guidance on when not to use it or which alternative tools to consider.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profileBDestructiveInspect
当用户需要 Facebook 个人主页、Facebook 个人资料、Facebook profile、个人主页信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Facebook 个人主页采集 Builder 任务,采集器标识固定为 facebook_profile_by-profiles-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 个人主页 URL,该参数用于指定要采集的个人主页 URL。用于 facebook_profile_by-profiles-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=true, idempotent=false, and openWorld=true, so the safety profile is covered. The description adds that this is an async Builder task submission (提交...任务), which is useful context, but it never explains the task lifecycle, that results must be fetched later, or what the destructive hint actually means in practice.
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?
It is only two sentences and front-loaded with a purpose statement, but the first sentence is a long keyword-enumeration block (个人主页/个人资料/profile/信息 + five verbs) that is repetitive rather than informative for an agent. The useful content is a single sentence; the rest is padding.
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?
No output schema exists, and the description does not say that this returns a task handle whose result must be retrieved via siblings such as scraper_task_result or scraper_task_status. For a task-submission tool with destructive/openWorld annotations, that missing lifecycle context is a meaningful 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% and both parameters are documented in the schema, including the url non-empty requirement and the file_name default. The description only restates the fixed collector identifier and adds no format or syntax detail beyond the schema, so 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 second sentence states a specific action (提交/submit) and resource (Facebook 个人主页采集 Builder 任务) with a fixed collector ID, which lets an agent identify it against siblings like facebook_post or facebook_comment. However, the first sentence is keyword-trigger routing text rather than a purpose statement, so the actual purpose is buried and requires the reader to parse past it.
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 gives a trigger condition (user needs FB profile info combined with collect/scrape/crawl/fetch verbs), which implies when to use it. But it names no alternatives and provides no when-not-to-use guidance, e.g. that it should not be used for posts, comments, or events, despite many facebook_* siblings existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repositoryBDestructiveInspect
当用户需要 Github仓库信息、GitHub 仓库信息、Github repository、GitHub 代码 URL、GitHub 搜索仓库,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Github仓库信息采集 Builder 任务,支持 github_repository_by-repo-url、github_repository_by-search-url 和 github_repository_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL,该参数用于指定要采集的代码URL。用于 github_repository_by-url。调用方必须提供非空值,不使用默认值。 | |
| max_num | No | 最大仓库数量,该参数用于指定采集的最大仓库数量。用于 github_repository_by-search-url,默认值为 15。 | 15 |
| repo_url | No | 仓库URL,该参数用于指定要采集的仓库 URL。用于 github_repository_by-repo-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:github_repository_by-repo-url、github_repository_by-search-url、github_repository_by-url。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| search_url | No | 搜索URL,该参数用于指定要采集的 Search URL。用于 github_repository_by-search-url。调用方必须提供非空值,不使用默认值。 | |
| page_turning | No | 页数限制,该参数用于指定采集结果数量的限制。用于 github_repository_by-search-url,默认值为 1。 | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the mutation profile is disclosed structurally. The description adds that it submits a Builder task (consistent with a write), but does not explain that results must be polled via the scraper_task_* siblings, nor what the task submission returns. The destructiveHint=true claim is not really clarified by the description either.
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 trigger clause is front-loaded, which helps selection, but the opening is a repetitive keyword dump ('Github仓库信息、GitHub 仓库信息、Github repository…'). The purpose ('复用一个工具提交…任务') is buried after a long trigger list, so structure is functional but not tight.
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 7-parameter scraper submission with 100% schema coverage and annotations that carry the safety profile, the description covers the essential purpose and mode selection, so an agent has what it needs to invoke it. The main omission is the downstream workflow (that the submitted task returns an ID and results are fetched via scraper_task_status/result), but no output schema exists to cover that either.
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%, so every parameter (url, repo_url, search_url, max_num, page_turning, file_name, spider_id) is already documented in the schema, including which spider mode each serves. The description echoes the three modes but adds no syntax, format, or constraint detail beyond what the schema provides, so 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 states that the tool submits a Github repository collection Builder task and names the three supported modes (by-repo-url, by-search-url, by-url), so the verb and resource are identifiable. It leans heavily on trigger keywords rather than crisp functional prose, but an agent still understands it is the GitHub-repo scraper entry point distinct from other site scrapers.
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 gives the condition that triggers the tool (user needs Github repository info combined with collect/scrape/fetch/extract verbs) and lists the three spider modes, which provides implied usage guidance. However, it never states when NOT to use it, offers no explicit alternative sibling, and gives no rule for choosing between the three spider_ids beyond naming them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glassdoor_joblistingsBDestructiveInspect
当用户需要 Glassdoor 招聘信息、Glassdoor 职位信息、Glassdoor job listings、Glassdoor 招聘搜索链接,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Glassdoor 招聘信息采集 Builder 任务,支持 glassdoor_joblistings_by-url、glassdoor_joblistings_by-keywords 和 glassdoor_joblistings_by-listurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 列表网址或招聘搜索链接,该参数用于指定采集 Glassdoor 职位列表网址或 Glassdoor 招聘信息的搜索链接。用于 glassdoor_joblistings_by-url 和 glassdoor_joblistings_by-listurl,默认值按文档为同一个 Glassdoor 职位 URL。调用方必须提供非空值,不使用默认值。 | |
| country | No | 国家,该参数用于指定采集招聘信息的国家。接口取 country 选项的 typeValue,默认按确认使用 US。 | US |
| keyword | No | 关键词,该参数是通过职位名称等关键字搜索进行采集招聘信息。用于 glassdoor_joblistings_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| location | No | 地点,该参数用于指定采集特定位置的招聘信息。用于 glassdoor_joblistings_by-keywords,默认值为 New York。 | New York |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:glassdoor_joblistings_by-url、glassdoor_joblistings_by-keywords、glassdoor_joblistings_by-listurl。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, and the description's 'submits a Builder task' is consistent with a non-read operation that creates state. It does not disclose the async task lifecycle (returned task id, need to poll scraper_task_status / fetch via scraper_task_result), nor auth or rate-limit behavior, which is the main added-context gap. 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 opening trigger sentence lists near-synonyms redundantly ('Glassdoor 招聘信息、职位信息、job listings、招聘搜索链接'), and the actual purpose only appears in the second sentence. The informative content is there but it is not front-loaded and contains avoidable repetition.
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 6-parameter task-submission tool with no output schema and 100% schema coverage, the description plus schema cover the inputs well, including which mode uses url vs keyword/location. The remaining omission is the post-submission lifecycle (how to retrieve results via the scraper_task_* siblings), which an agent would need to chain the call 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 100% and every parameter, including the spider_id enum and each mode's required fields, is fully documented in the schema. The description only restates the three mode names already present in the enum, adding no format or dependency detail beyond the schema, 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 second sentence gives a concrete verb+resource: it submits a Glassdoor job-listings Builder task and enumerates the three supported spider modes. An agent can distinguish it from generic search siblings, though the first sentence is mostly trigger-keyword padding rather than purpose. Clear but noisy.
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 states trigger conditions (user wants Glassdoor job listings plus verbs like collect/scrape/fetch) and the schema tells the caller to pick the spider_id mode that matches the user's intent. However, it never names alternatives such as google_jobs or linkedin_job_listings_information, nor when NOT to use this tool, so routing among siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ai_modeBDestructiveInspect
当用户需要通过 Google AI Mode 获取 AI 搜索结果,或需要按位置、国家/地区、语言控制 Google AI Mode 查询结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| uule | No | 希望用于搜索的 Google 编码位置。此参数不能与 location、lat、lon 和 radius 参数一起使用。 | |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。此参数不能与 uule、lat 和 lon 参数一起使用。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false, and the description adds no behavioral context on top of them. It says nothing about the caching behavior implied by no_cache, the output modes implied by json, rate limits, or auth. Notably it is silent on the destructiveHint=true annotation, which is surprising for a search tool and would benefit from explanation.
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, compact sentence with no filler or repetition. It is front-loaded with the trigger condition, though the trigger phrasing is slightly indirect compared to a direct 'this tool does X' statement.
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 7-parameter, open-world scraper tool with no output schema, the description does not convey what is returned, how Google AI Mode results differ from a plain google_search result, or how the json output modes affect the response. The schema documents inputs well, but the description leaves the agent without enough context to choose this tool confidently among ~80 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?
Schema description coverage is 100%, so every parameter (q, gl, hl, json, uule, location, no_cache) is already fully documented in the schema. The description only loosely gestures at location/country/language control, adding no syntax or constraint detail beyond what the schema provides. 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 names a specific verb and resource: obtaining AI search results via Google AI Mode, and controlling them by location/country/language. It is written as a trigger condition rather than a direct statement of function, and it never distinguishes itself from the many overlapping siblings (google_search, chatgpt_answer, bing_search, duckduckgo_search, yandex_search).
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 gives a when-to-trigger condition ('when the user needs AI search results via Google AI Mode'), which is implied usage guidance. However, the second clause about location/country/language applies to nearly every search sibling and does not tell the agent when to pick this tool over google_search or chatgpt_answer. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_financeBDestructiveInspect
当用户需要查询 Google Finance 股票、指数、基金、市场行情、金融资产或证券相关搜索结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义您想要搜索的查询内容。可以是股票、指数、共同基金、货币或期货。调用方必须提供非空值,不使用默认值。 | |
| hl | No | 该参数定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码,例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| json | No | 该参数定义采集结果的输出格式。可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| window | No | 该参数用于设置图表的时间范围。可设置为 1D - 1 天(默认),5D - 5 天,1M - 1 个月,6M - 6 个月,YTD - 年初至今,1Y - 1 年,5Y - 5 年,MAX - 最大值。 | 1D |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only retrieval of search results ('查询...搜索结果'), while the annotations declare readOnlyHint=false and destructiveHint=true. That is a direct conflict in the safety profile an agent would act on. Even setting the conflict aside, the description adds no behavioral context (caching, billing, rate limits, output shape) beyond what the schema already states.
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 front-loaded sentence with no padding. It is appropriately terse for a search-scraper tool, though it errs toward under-specification rather than rich structure.
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 100% schema coverage and no output schema, the description's main remaining job is to convey what comes back (scraped Google Finance data, format governed by the json parameter) and how it differs from sibling search tools. It covers only the trigger, leaving return semantics and sibling routing to inference.
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%, so the schema already documents all five parameters (q, hl, json, window, no_cache) in detail. The description adds nothing beyond the domain keywords, so the 3 baseline for schema-covered parameters 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 names a specific domain and resource set (Google Finance stocks, indices, funds, market quotes, financial assets, securities), so an agent can tell it apart from generic siblings like google_search or google_news. It is framed as a trigger condition rather than an action statement, but the verb+resource ('查询 ... 搜索结果') is still recoverable.
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 gives an explicit trigger ('当用户需要查询...时触发'), which is real usage context, but offers no exclusions or alternatives — nothing tells the agent when google_search, google_news, or a product scraper would be a better pick. Usage is implied by the finance keyword list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_flightsBDestructiveInspect
当用户需要查询 Google Flights 航班信息、机票价格、往返/单程/多城市航班、舱位、航空公司、经停、行李或排放过滤结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | 定义 Google Flights 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google Flights 搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| bags | No | 定义随身行李数量。默认为 0。此参数不应超过允许携带随身行李的乘客总数(成人、儿童和占座婴儿)。 | 0 |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| type | No | 定义航班类型。1 为往返(默认),2 为单程,3 为多城市。当此参数设置为 3 时,使用 multi_city_json 设置航班信息。 | 1 |
| stops | No | 定义航班经停次数。0 为任何经停次数(默认),1 为仅直飞,2 为 1 次或更少经停,3 为 2 次或更少经停。 | 0 |
| adults | No | 定义成人数量。默认为 1。 | 1 |
| sort_by | No | 定义结果的排序顺序。1 为优选航班(默认),2 为价格,3 为起飞时间,4 为到达时间,5 为飞行时长,6 为排放量。 | 1 |
| children | No | 定义儿童数量。默认为 0。 | 0 |
| currency | No | 定义返回价格的货币。默认为 USD。 | USD |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| emissions | No | 定义航班的排放水平。1 表示仅选择低碳排放航班。 | |
| max_price | No | 定义最高机票价格。默认为无限制。 | |
| arrival_id | No | 定义到达机场代码或地点 kgmid。例如 /m/0vzm 是德克萨斯州奥斯汀的地点 kgmid。可以通过逗号分隔指定多个到达机场。例如 CDG,ORY,/m/04jpl。 | |
| deep_search | No | 设置为 true 以启用深度搜索,这可能会产生更好的结果,但响应时间更长。深度搜索结果与浏览器中 Google Flights 页面上找到的结果相同。出于性能考虑,默认情况下此选项设置为 false。 | false |
| return_date | No | 定义返程日期,格式为 YYYY-MM-DD。例如 2026-03-19。如果 type 参数设置为 1(往返),则此参数为必填。 | |
| show_hidden | No | 设置为 true 以包含隐藏的航班结果。默认为 false。 | false |
| departure_id | No | 定义出发机场代码或地点 kgmid。可以通过逗号分隔指定多个出发机场。例如 CDG,ORY,/m/04jpl。 | |
| max_duration | No | 定义最长飞行时长(以分钟为单位)。例如 1500 表示 25 小时。 | |
| return_times | No | 定义返程时间范围。它是一个包含两个(仅起飞)或四个(起飞和到达)逗号分隔数字的字符串。每个数字代表一个小时的开始。 | |
| travel_class | No | 定义旅行舱位。1 为经济舱(默认),2 为高级经济舱,3 为商务舱,4 为头等舱。 | 1 |
| exclude_basic | No | 设置为 true 以排除基础经济舱结果。得到的票价将包含免费选座和随身行李。默认为 false。目前,此过滤器仅适用于美国国内航班,且只能在 gl 为 us 且 travel_class 为 1 时使用。 | false |
| exclude_conns | No | 定义要排除的中转机场代码。机场 ID 为大写 3 字母代码,可以在 Google Flights 或 IATA 上搜索。 | |
| outbound_date | No | 定义出发日期,格式为 YYYY-MM-DD。例如 2026-03-13。 | |
| infants_on_lap | No | 定义不占座婴儿数量。默认为 0。 | 0 |
| outbound_times | No | 定义出发时间范围。它是一个包含两个(仅起飞)或四个(起飞和到达)逗号分隔数字的字符串。 | |
| departure_token | No | 用于选择航班并获取返程航班(对于往返航班)或行程下一段的航班(对于多城市航班)。在出发航班结果中找到此令牌。它不能与 booking_token 一起使用。 | |
| infants_in_seat | No | 定义占座婴儿数量。默认为 0。 | 0 |
| multi_city_json | No | 定义多城市航班的航班信息。它是一个包含多个航班信息对象的 JSON 字符串。 | |
| exclude_airlines | No | 定义要排除的航空公司代码。多个航空公司用逗号分隔。不能与 include_airlines 一起使用。 | |
| include_airlines | No | 定义要包含的航空公司代码。多个航空公司用逗号分隔。不能与 exclude_airlines 一起使用。 | |
| layover_duration | No | 定义中转时长(以分钟为单位)。它是一个包含两个逗号分隔数字的字符串。例如 90,330 表示 1 小时 30 分钟到 5 小时 30 分钟。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true and destructiveHint=true, so the safety profile is partly covered externally. The description itself adds no behavioral context at all — nothing about caching (no_cache), the latency cost of deep_search, token-based multi-step flows, or credit consumption. For a 32-parameter scraper with non-trivial side effects, this is a meaningful gap.
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, front-loaded sentence with zero filler. It is efficient, though for a 32-parameter tool with a multi-step booking workflow the extreme brevity borders on under-specification rather than optimal 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?
This is a complex tool — 32 params, no output schema, round-trip/multi-city flows involving departure_token and multi_city_json — yet the description is one trigger clause. It omits the two-step selection workflow and cost/latency trade-offs that an agent needs to call it correctly, so it is not complete for the tool's complexity.
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% and every one of the 32 parameters carries its own inline description, so the schema does the heavy lifting. The tool description supplies no additional parameter meaning, which matches the baseline 3 for fully documented schemas.
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 names a specific verb and resource (查询 Google Flights 航班信息/机票价格) and enumerates the concrete query dimensions it supports (round-trip/one-way/multi-city, cabin, airlines, stops, baggage, emissions). It clearly distinguishes this from sibling search tools. However, it is framed as a trigger condition rather than a purpose statement and does not explicitly differentiate itself from e.g. google_hotels or google_search.
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 entire sentence is a when-to-trigger condition, so usage context is implied and reasonably clear. It never states when NOT to use it, nor names an alternative tool, and it omits key prerequisites such as needing a departure_id/outbound_date before it is useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_hotelsBDestructiveInspect
当用户需要查询 Google Hotels 酒店搜索结果、住宿价格、入住退房日期、评分、设施、酒店类型或住宿筛选条件时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 该参数定义 Google 酒店搜索要使用的国家/地区。它是一个两位数的国家/地区代码,例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 该参数定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码,例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| json | No | 该参数定义采集结果的输出格式。可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| adults | No | 该参数定义成人数量。默认为 2。 | 2 |
| brands | No | 该参数定义您希望搜索结果集中的品牌,多个品牌示例用逗号 , 分隔。 | |
| rating | No | 该参数用于将结果过滤到特定评分。可用选项:7 - 3.5+,8 - 4.0+,9 - 4.5+。 | |
| sort_by | No | 该参数用于对结果进行排序。默认按相关性排序。可用选项:3 - 最低价格,8 - 最高评分,13 - 评论最多。 | |
| bedrooms | No | 该参数定义最小卧室数量。默认为 0。此参数仅适用于度假租赁。 | 0 |
| children | No | 该参数定义儿童数量。默认为 0。 | 0 |
| currency | No | 该参数定义返回价格的货币。默认为 USD。 | USD |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| amenities | No | 该参数定义仅包含提供指定设施的结果。对于度假租赁,请访问 Google 度假租赁设施页面查看支持的度假租赁设施完整列表。单个设施示例:35。多个设施示例(用逗号 , 分隔):35,9,19。 | |
| bathrooms | No | 该参数定义最小浴室数量。默认为 0。此参数仅适用于度假租赁。 | 0 |
| max_price | No | 该参数定义价格范围的上限。 | |
| min_price | No | 该参数定义价格范围的下限。 | |
| hotel_class | No | 该参数定义仅在结果中包含特定酒店星级。多个星级示例用逗号 , 分隔。 | |
| check_in_date | Yes | 该参数定义入住日期。格式为 YYYY-MM-DD。例如:2026-03-13。 | |
| children_ages | No | 该参数定义儿童的年龄。年龄范围为 1 到 17,未满 1 岁的儿童视为 1 岁。单个儿童示例:5。多个儿童示例(用逗号 , 分隔):5,8,10。指定的儿童年龄数量必须与 children 参数匹配。 | |
| eco_certified | No | 该参数定义显示获得生态认证的结果。此参数不适用于度假租赁。可用值为 true 或 false。 | |
| check_out_date | Yes | 该参数定义退房日期。格式为 YYYY-MM-DD。例如:2026-03-14。 | |
| property_token | No | 该参数用于获取住宿详细信息,包括名称、地址、电话、价格、附近地点等。 | |
| property_types | No | 该参数定义仅在结果中包含特定类型的住宿。单个类型示例:17。多个类型示例(用逗号 , 分隔):17,12,18。 | |
| special_offers | No | 该参数定义显示有特惠的结果。此参数不适用于度假租赁。可用值为 true 或 false。 | |
| next_page_token | No | 该参数定义下一页令牌。它用于检索下一页结果。 | |
| vacation_rentals | No | 该参数定义搜索度假租赁结果。默认搜索的是酒店。可用值为 true 或 false。 | |
| free_cancellation | No | 该参数定义显示提供免费取消的结果。此参数不适用于度假租赁。可用值为 true 或 false。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the tool purely as a read/query operation, while the annotations declare readOnlyHint=false and destructiveHint=true. That is a direct conflict about the tool's side effects, and the description adds no compensating behavioral context (caching via no_cache, pagination via next_page_token, or result-shape info) that would clarify the real behavior.
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 front-loaded trigger sentence with no filler; the enumeration of facets is scannable. It is slightly redundant in re-listing concepts (dates, ratings, amenities) that the schema documents exhaustively, but nothing is wasted.
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 27-parameter search tool with no output schema, an agent can still call it correctly thanks to full schema documentation, but the description says nothing about pagination flow, caching semantics, or vacation-rental-vs-hotel mode switching. Adequate, not 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% across all 27 parameters, so the schema already explains q, dates, amenities, filters, no_cache, next_page_token, etc. in detail. The description contributes no parameter-level meaning beyond the general list of queryable facets, 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 names a specific resource (Google Hotels) and enumerates what the tool surfaces — search results, prices, check-in/check-out dates, ratings, amenities, property types and filters — so an agent knows this is the hotel-search scraper. It never contrasts itself with the neighboring lodging tools (booking_hotellist, airbnb_product), so differentiation must be inferred from the name alone.
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 supplies a trigger condition ('when the user needs to query...'), which is the minimum viable routing guidance. There is no when-not guidance, no mention of prerequisites (check-in/check-out dates are required), and no pointer to sibling lodging tools that might be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_imagesBDestructiveInspect
当用户需要通过 Google Images 搜索图片结果,或按图片尺寸、颜色、类型、版权、位置、语言等条件筛选图片时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| cr | No | 定义一个或多个将搜索限制在的国家/地区。它使用 country{两位大写国家/地区代码} 指定国家/地区,并使用 I 作为分隔符。例如 countryFRIcountryDE 将仅搜索法国和德国的页面。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| lr | No | 定义一个或多个将搜索限制在的语言。它使用 lang_{两位语言代码} 指定语言,并使用 I 作为分隔符。例如 lang_frIlang_de 将仅搜索法语和德语的页面。 | |
| si | No | 定义要抓取的 Google 搜索的缓存搜索参数。 | |
| ibp | No | 负责渲染某些元素的布局和扩展。例如 gwp;0,7 用于扩展使用 ludocid 的搜索,以显示扩展的知识图谱。 | |
| lat | No | 定义搜索起点的 GPS 纬度。使用 lon 参数时必须同时提供此参数。 | |
| lon | No | 定义搜索起点的 GPS 经度。使用 lat 参数时必须同时提供此参数。 | |
| tbm | No | 定义要执行的搜索类型。isch 为 Google 图片,lcl 为 Google 本地,vid 为 Google 视频,nws 为 Google 新闻,shop 为 Google 购物,pts 为 Google 专利。 | isch |
| tbs | No | 定义常规查询字段中无法实现的高级搜索参数。例如专利、日期、新闻、视频、图片、应用或文本内容的高级搜索。 | |
| uds | No | 启用搜索过滤。它是 Google 提供的一个字符串作为过滤器。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| lsig | No | 用于强制显示知识图谱地图视图。可以通过本地包 API 或 Google 本地 API 查找 lsig ID。 | |
| nfpr | No | 当原始查询拼写错误时,定义是否排除来自自动更正查询的结果。设置为 1 排除这些结果,设置为 0 包含它们(默认)。 | |
| safe | No | 定义成人内容的过滤级别。可以设置为 active 或 off,默认情况下 Google 会模糊处理露骨内容。 | |
| uule | No | 希望用于搜索的 Google 编码位置。此参数不能与 location、lat、lon 和 radius 参数一起使用。 | |
| kgmid | No | 定义要抓取的 Google 知识图谱列表的 ID(KGMID)。 | |
| start | No | 定义结果偏移量。它跳过指定数量的结果,用于分页。例如 0 默认是第一页结果,10 是第二页结果,20 是第三页结果,以此类推。 | 0 |
| device | No | 定义用于获取结果的设备。可设置为 desktop(默认值)使用常规浏览器,tablet 使用平板浏览器(目前使用 iPad),或 mobile 使用移动浏览器。 | desktop |
| filter | No | 定义“类似结果”和“省略结果”的过滤器是开启还是关闭。设置为 1(默认)启用这些过滤器,设置为 0 禁用这些过滤器。 | 1 |
| radius | No | 定义搜索结果偏向的范围(以米为单位)。取值范围:桌面端 1-199,平板/移动端 1-1000。 | |
| ludocid | No | 定义地点的 Google CID(客户标识符),可以使用 Google 的 CID 转换器获取它。 | |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。此参数不能与 uule、lat 和 lon 参数一起使用。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| render_js | No | 如果为 true,系统将使用浏览器执行页面脚本并返回完整渲染后的 HTML。开启后会显著增加采集耗时,请按需使用。 | |
| ai_overview | No | 控制是否获取 Google 搜索结果中的 AI 概览(AI Overview)内容。成功获取 AI 概览通常计为 1 次响应;当首次请求仅返回 page_token 时,系统自动进行的第二次请求将额外计费,总共消耗 2 次响应。 | |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true and a destructive/idempotent profile, but the description adds no behavioral context of its own — nothing about caching (no_cache), cost (ai_overview billing), or pagination semantics that the schema hints at. For a 28-parameter scraper it should say more than 'triggered when'.
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 front-loaded sentence with no filler, which is appropriately sized for a trigger statement. It is efficient, though the extreme brevity is partly what leaves the definition thin elsewhere.
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?
Against 28 parameters, a required query, no output schema, and a defaulted tbm=isch mode, the description is far too sparse. It omits return format (json=1..4), pagination (start), device targeting, and cost implications — an agent would have to reverse-engineer all of that from the 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?
Schema description coverage is 100%, so all 28 parameters are fully documented in the schema itself. The description only loosely echoes the filter dimensions (size, color, type, copyright) that map to tbs/cr/lr, adding no syntax or default guidance beyond what the schema provides — baseline 3.
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 names a specific verb and resource: searching image results via Google Images, plus the filterable attributes (size, color, type, copyright, location, language). It is clear what the tool does, but it never distinguishes itself from siblings like bing_images or google_lens, which could also surface imagery.
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?
Framed entirely as a trigger condition, it states when to reach for this tool (image search or filtered image search). It gives clear positive context but no exclusions and names no alternative, so an agent choosing between google_images, bing_images, and google_lens gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_jobsBDestructiveInspect
当用户需要通过 Google Jobs 查询招聘职位、岗位列表、下一页职位结果,或按地点、半径、远程办公、过滤条件检索工作信息时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义想要搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| uds | No | 启用搜索过滤。它是 Google 提供的一个字符串作为过滤器。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| lrad | No | 定义以公里为单位的搜索半径。不严格限制半径范围。 | |
| uule | No | 希望用于搜索的 Google 编码位置。uule 和 location 参数不能同时使用。 | |
| chips | No | 定义额外的查询条件。职位搜索页面顶部包含称为 chips 的元素,提取其值以传递给 chips 参数。 | |
| ltype | No | 按居家办公过滤结果。此参数已被 Google 弃用,可设置为 true 或 1。 | |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
| next_page_token | No | 定义下一页令牌,用于检索下一页结果。每页最多返回 10 条结果。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, which is a non-obvious profile for a search-style tool, yet the description adds no behavioral context at all — no cost, caching, rate-limit, or result-count information (the 5-minute cache and the 10-results-per-page limit live only in the schema text). With annotations shouldering the safety profile, the description still contributes essentially nothing beyond them.
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 front-loaded sentence that leads with the platform and the core action, then enumerates the supported retrieval modes. The enumeration is somewhat list-like but every clause maps to a real capability, so there is little waste.
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 13-parameter tool with no output schema, the description covers only the retrieval intent and leaves pagination context, output-format implications of the json parameter, cache behavior, and the location/uule mutual exclusion entirely to the schema. The schema is thorough enough that the tool remains callable, but the description is thinner than a tool of this complexity warrants.
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% across all 13 parameters, so the schema already explains q, gl, hl, uds, json, lrad, uule, chips, ltype, location, no_cache, google_domain, and next_page_token. The description's mention of location, radius, remote work and filters loosely maps to location/lrad/ltype/chips but adds no syntax or format detail, 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 names a specific platform and resource ('通过 Google Jobs 查询招聘职位、岗位列表'), plus the secondary capability of fetching next-page results, so the agent can tell it is a job-listing retrieval tool. It does not differentiate against overlapping siblings such as glassdoor_joblistings, linkedin_job_listings_information, or indeed_companies_info, so it stops short of a 5.
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 '当用户需要…时触发' framing gives an implied trigger condition (job search, job lists, next page, filtering by location/radius/remote), which is enough to route a job-related request here. However, it offers no when-not guidance, no prerequisites, and never names an alternative job source, so the agent must infer selection on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_lensBDestructiveInspect
当用户需要通过 Google Lens 基于图片 URL 识别图片内容、查找视觉匹配、商品匹配、完全匹配或关于此图片的信息时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | 该参数定义在 Google Lens 搜索中一并使用的搜索查询。仅当 type 为 all、visual_matches 或 products 时适用。调用方必须提供非空值,不使用默认值。 | |
| hl | No | 该参数定义 Google Lens 搜索要使用的语言。它是一个两位数的语言代码。例如:en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| url | Yes | 该参数定义要执行 Google Lens 搜索的图片 URL。调用方必须提供非空值,不使用默认值。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON。1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| safe | No | 该参数定义成人内容的过滤级别。可设置为 active 或 off。 | |
| type | No | 该参数定义要执行的搜索类型,默认值为 all。可用值:all、products、about_this_image、exact_matches、visual_matches。 | all |
| country | No | 该参数定义 Google Lens 搜索要使用的特定国家/地区位置。它是一个两位数的国家/地区代码。例如:us 代表美国,fr 代表法国,de 代表德国。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设置为 true 可跳过缓存,设置为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered structurally. The description adds no behavioral context at all: nothing about caching (the no_cache param exists), rate limits, auth, or the fact that results are scraped/collected output. It does not contradict the annotations, but it contributes nothing beyond them.
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 compact sentence with no filler and the resource (Google Lens, image URL) front-loaded. It is efficient, though the trigger-clause phrasing and the enumerated enum values make it feel more like a routing hint than a description.
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 8 parameters, no output schema, and a scraped/open-world result set, the description should say something about what comes back (JSON vs HTML via the json param, cached vs fresh results, pagination/volume). It covers none of this, so an agent knows when to call it but little about what to expect or how to shape the call.
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 all 8 parameters, so the schema already documents url, q, hl, country, safe, json, no_cache and the type enum in detail. The description only echoes the type values (visual matches, product matches, exact matches, about this image), duplicating the enum rather than adding syntax or usage constraints. Baseline 3 applies when the schema does the heavy lifting.
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 names a specific resource (Google Lens) and operation (identify image content from an image URL, find visual/product/exact matches, 'about this image'), so an agent can tell what the tool does. It never differentiates itself from the many other image/search siblings (google_images, bing_images, yandex_search), and it is framed as a trigger clause rather than a tool description, so it stops short of a 5.
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 whole sentence is a usage condition ('trigger when the user needs to...') and it enumerates the five intent scenarios that map to the type enum, which is genuine when-to-use context. However, it offers no exclusions and never names an alternative sibling (e.g. google_images or bing_images) for plain image search, leaving the boundary implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_localBDestructiveInspect
当用户需要查询 Google 本地搜索结果、附近商家、地点列表、本地服务或基于位置的本地结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义想要搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| tbs | No | 定义常规查询字段中无法实现的高级搜索参数。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| uule | No | 希望用于搜索的 Google 编码位置。uule 和 location 参数不能同时使用。 | |
| start | No | 定义结果偏移量。它跳过指定数量的结果,用于分页。该值取决于返回的结果数量,可以是 10 或 20。例如,移动端返回 10 条结果时,start 应为 10、20、30。 | |
| ludocid | No | 定义地点的 Google CID(客户标识符)。 | |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description characterizes the tool as a query/search operation, implying a read-only action, while the annotations declare readOnlyHint=false and destructiveHint=true. This is a direct contradiction, so the score is 1 and the contradiction is flagged.
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 trigger condition and scope without any waste. It is appropriately sized for a trigger statement.
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 11 parameters and no output schema, the description is minimal and relies entirely on the schema for invocation details. It provides enough to select the tool but does not cover return values or other behavioral aspects, making it just 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?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-level meaning beyond what the schema already provides, so it does not exceed the baseline.
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 specifies a clear verb (查询) and resource (Google 本地搜索结果, 附近商家, 地点列表, 本地服务, 基于位置的本地结果). It does not differentiate from closely related siblings such as google_maps or google_map_details, so it falls short of a 5.
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 provides explicit trigger conditions: '当用户需要查询...时触发' and lists several scenarios. However, it offers no when-not guidance or named alternatives, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_map_commentADestructiveInspect
当用户需要 Google 地图评论信息、Google 地图评论、Google Maps reviews、Google 商家评论,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Google 地图评论信息采集 Builder 任务,采集器标识固定为 google_comment_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Google 地图 URL,该参数用于指定待采集的 Google 地图访问链接信息。用于 google_comment_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| days_limit | No | 天数限制,该参数用于指定待采集的 Google 地图评论发布天数限制,即从当前日期开始向前检索评论的天数。默认值为 20。 | 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds that this submits an asynchronous Builder task (implying later retrieval) and the fixed collector id, but says nothing about how the task is tracked, reversibility, rate limits, or how to fetch results.
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 trigger clause is front-loaded, then the action follows, which is a sensible order. However, the first sentence is keyword-stuffed with near-synonyms (评论信息/评论/reviews/商家评论) and verb lists, which pads the text without adding routing precision.
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 no output schema, the description carries the burden of explaining the return, yet it never says a task is created whose results must be fetched via the scraper_task_result / scraper_task_status siblings. For an async task-submission tool in a large sibling set, that pipeline handoff is a meaningful 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?
Schema description coverage is 100%, so every parameter (url, file_name, days_limit) is already documented with defaults and semantics. The description adds only the collector identifier binding (google_comment_by-url) and no extra meaning for the input fields, 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 states a concrete action (submit a Google Map comment collection Builder task) and a resource (Google Maps reviews/comments), plus the fixed collector identifier google_comment_by-url. It is clearly differentiated from other Google tools by scoping to comments/reviews, though it never names the closest siblings (google_map_details, google_maps) to disambiguate.
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 gives an explicit trigger condition: use when the user needs Google Maps review data combined with collection verbs (采集/抓取/爬取/获取/提取). That is a clear 'when to use' rule, but there is no 'when not to use' and no alternative tool is named, leaving the boundary with google_maps / google_map_details to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_map_detailsBDestructiveInspect
当用户需要 Google 地图信息、Google 地图详细信息、Google Maps details、Google 商家信息,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Google 地图详细信息采集 Builder 任务,支持 google_map-details_by-url、google_map-details_by-cid、google_map-details_by-location 和 google_map-details_by-placeid。
| Name | Required | Description | Default |
|---|---|---|---|
| CID | No | CID,该参数用于指定待采集的 CID 信息。用于 google_map-details_by-cid,默认值为 2476046430038551731。 | 2476046430038551731 |
| lat | No | 纬度,该参数用于指定要搜索的位置的纬度。用于 google_map-details_by-location,默认值为 38。 | 38 |
| url | No | Google 地图 URL,该参数用于指定待采集的 Google 地图访问链接信息。用于 google_map-details_by-url。调用方必须提供非空值,不使用默认值。 | |
| long | No | 经度,该参数用于指定要搜索的位置的经度。用于 google_map-details_by-location,默认值为 77。 | 77 |
| country | No | Google 国家,该参数用于指定要搜索的国家。用于 google_map-details_by-location,默认值为 United States。 | United States |
| keyword | No | Google 关键词,该参数用于指定通过特定关键词搜索地图信息,可以是位置、邮政编码或类别。用于 google_map-details_by-location。调用方必须提供非空值,不使用默认值。 | |
| place_id | No | 商家ID,该参数用于指定 Google 地图的商家 ID。用于 google_map-details_by-placeid,默认值为 ChIJ3S-JXmauEmsRUcIaWtf4MzE。 | ChIJ3S-JXmauEmsRUcIaWtf4MzE |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:google_map-details_by-url、google_map-details_by-cid、google_map-details_by-location、google_map-details_by-placeid。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| zoom_level | No | 缩放级别,该参数用于指示要搜索的缩放级别。用于 google_map-details_by-location,默认值为 20。 | 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the write/side-effecting profile is covered. The description adds that work is submitted as a 'Builder task' (asynchronous job) rather than returning data inline, but omits how/when results become available and whether submission consumes quota.
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 sentences, front-loaded with the triggering conditions and then the capability with mode names. It is compact and wastes little space, though the opening keyword enumeration is a style choice that trades readability for trigger coverage.
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 10-parameter, no-output-schema task-submission tool, the description covers what is submitted and the four modes, but says nothing about the async lifecycle or that results must be fetched via scraper_task_status/scraper_task_result. That retrieval path is a meaningful omission for an agent trying to complete a workflow.
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%, so each of the 10 parameters is already documented with its mode association and defaults. The description's enumeration of the four spider modes only restates what spider_id's enum and per-parameter descriptions already convey, adding no syntax or constraint detail beyond the schema.
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?
It states a concrete action (submit a Google Maps details collection task) and enumerates the four collection modes (by-url, by-cid, by-location, by-placeid), which distinguishes it from siblings like google_maps or google_map_comment. The opening trigger list is keyword-stuffed rather than a clean statement of purpose, and it never explicitly contrasts itself with the other Google Maps siblings.
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 trigger clause (when a user needs Google Maps info combined with scrape/crawl/fetch verbs) and the instruction to select a mode matching user intent give implied usage guidance. However, no alternative tool is named as the right choice in other situations, and there is no when-not-to-use guidance versus google_maps or google_local.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_mapsBDestructiveInspect
当用户需要查询 Google Maps 地点、商家、本地位置、地图搜索结果,或基于经纬度、地点 ID、CID、地图缩放范围获取地图数据时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| m | No | 定义以米为单位的地图高度。最小值为 1,最大值为 15028132,大致相当于赤道上的 3z。最终会被编码为 ll 参数的一部分。使用 location 或 lat/lon 参数时,必须指定 m 或 z。 | |
| q | Yes | 定义想要搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| z | No | 定义地图缩放级别。最小值为 3(地图完全缩小),最大有效值取决于位置,范围从 18 到 23。使用 location 或 lat/lon 参数时,必须指定 z 或 m。 | |
| gl | No | 定义 Google 地图搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 地图搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| ll | No | 定义搜索起点的 GPS 坐标。其值必须符合 @ + 纬度 + , + 经度 + , + 缩放级别/地图高度格式,例如 @40.7455096,-74.0083012,14z 或 @43.8521864,11.2168835,10410m。此参数不能与 location、lat、lon、z 或 m 参数一起使用。 | |
| lat | No | 定义搜索起点的 GPS 纬度,最终会被编码为 ll 参数的一部分。使用 lon 参数时必须同时提供此参数。此参数应与 z 或 m 参数一起使用,不能与 ll 或 location 参数一起使用。 | |
| lon | No | 定义搜索起点的 GPS 经度,最终会被编码为 ll 参数的一部分。使用 lat 参数时必须同时提供此参数。此参数应与 z 或 m 参数一起使用,不能与 ll 或 location 参数一起使用。 | |
| data | No | 此参数已弃用,请改用 place_id 或 data_cid。该参数可用于过滤搜索结果。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| type | No | 定义要执行的搜索类型。search 返回 q 参数列出的结果列表;place 在设置 data 参数时返回特定地点结果。使用 place_id 或 data_cid 时不需要此参数。 | |
| start | No | 定义结果偏移量。它跳过指定数量的结果,用于分页。例如 0 默认是第一页结果,20 是第二页结果,40 是第三页结果,依此类推。 | 0 |
| nearby | No | 强制返回更接近指定位置的搜索结果。当 q 参数包含 near me 关键词时,强烈建议使用此参数;当 q 参数包含地点时,不建议使用。此参数应与 ll、location 或 lat/lon 参数一起使用。可设置为 true 或 false。 | |
| data_cid | No | 定义地点的 Google CID(客户标识符)。data_cid 和 place_id 不能同时使用。 | |
| location | No | 定义地点,其 GPS 坐标用作搜索起点,最终会被编码为 ll 参数的一部分。此参数应与 z 或 m 参数一起使用,不能与 ll、lat 或 lon 参数一起使用。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| place_id | No | 定义 Google 地图中地点的唯一引用。地点 ID 可用于大多数地点,包括企业、地标、公园和交叉路口。 | |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, i.e. a state-mutating, destructive operation, while the description frames the tool purely as a retrieval/query ('查询', '获取地图数据'). The description adds no behavioral context (cost, quotas, caching, side effects) and its read framing opposes the destructive annotation, so this is an annotation 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?
A single sentence with no filler, front-loaded as a trigger condition, which is the right shape for a dispatch-style description. It is a somewhat long enumeration of trigger keywords, but nothing is redundant.
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 an 18-parameter tool with no output schema and heavy parameter interdependencies, a trigger-only description leaves the agent with the schema as its sole guide. The schema is complete so the call itself is executable, but the description contributes nothing about scope boundaries, output shape or the free-vs-billed cache behaviour that matters operationally.
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% — all 18 parameters, including the ll/lat/lon/location/z/m interplay, enums and defaults, are fully documented in the schema. The description only alludes to lat/lon, place ID, CID and zoom without adding any format or constraint detail beyond the schema, 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?
States a clear verb+resource: '查询 Google Maps 地点、商家、本地位置、地图搜索结果' and retrieval by lat/lon, place ID, CID, zoom range. This distinguishes it from bing_maps and the generic search siblings, but it does not differentiate it from Google-Maps-adjacent siblings like google_local, google_map_details and google_map_comment, whose scope it overlaps almost entirely.
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 whole description is a trigger clause ('当用户需要...时触发'), which gives implicit usage context but no explicit when-to-use vs when-not-to-use and names no alternative tool. An agent must still guess whether google_local or google_map_details is the better pick for a 'local places' request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_newsBDestructiveInspect
当用户需要查询 Google News 新闻结果、获取某个关键词、主题、出版物、版块或报道的新闻内容时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。默认值 us | us |
| hl | No | 定义 Google 搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| so | No | 定义排序方法。结果可以按相关性或日期排序,默认按相关性排序。0 表示相关性,1 表示日期。 | 0 |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| kgmid | No | 定义 Google 新闻结果中主题或地点的知识图谱 ID(KGMID)。它是一个以 /m/ 或 /g/ 开头的字符串。例如 /m/0vzm 是德克萨斯州奥斯汀的 kgmid。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| story_token | No | 定义 Google 新闻报道令牌。用于访问特定报道的完整报道新闻结果。 | |
| topic_token | No | 定义 Google 新闻主题令牌。用于访问特定主题,例如世界、商业、科技。 | |
| section_token | No | 定义 Google 新闻版块令牌。用于访问特定主题的子版块,例如“商业 -> 经济”。 | |
| publication_token | No | 定义 Google 新闻出版物令牌。用于访问来自特定发布者,例如 CNN、BBC、卫报的新闻结果。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description portrays a pure retrieval of news results, yet annotations declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, so the stated semantics directly contradict the declared behavior profile. Even setting the conflict aside, the text discloses nothing about caching, search-credit consumption (hinted at only in the no_cache parameter), rate limits or result format.
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?
It is a single well-formed sentence with the trigger condition front-loaded and no filler. It is terse, but nothing in it is redundant or padding — the shortfall is under-specification rather than verbosity.
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 an 11-parameter tool with no output schema and annotations that actively mislead, the description covers only the trigger condition. It says nothing about the cost/credit implications of uncached searches, the JSON/HTML output options, or how the token parameters relate to the required q query, leaving significant gaps for correct 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 description coverage is 100%, so all 11 parameters are already documented in the schema — including the easily confused topic_token, section_token, story_token and publication_token. The description's enumeration of "keyword, topic, publication, section, story" loosely parallels those parameters but does not name them or explain precedence between q and the tokens, so it stays at the schema-driven baseline.
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 names a concrete verb (query/get) and a concrete resource (Google News results and the news content behind a keyword, topic, publication, section or story). That is specific enough to know what the tool does, but it draws no boundary against obvious siblings such as bing_news, google_search or google_ai_mode, so the agent cannot tell from the text alone why this rather than another news source should be chosen.
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 sentence is framed as a trigger condition — use it when the user wants Google News results or news content for a keyword, topic, publication, section or story — which is real when-to-use context mapping onto the token parameters. It contains no when-not-to-use guidance and never names an alternative among the ~70 sibling search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_patentsBDestructiveInspect
当用户需要查询 Google Patents 专利搜索结果、专利标题、发明人、申请人、专利号或专利文献数据时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义您想要搜索的查询内容。您可以使用分号 ; 分隔多个搜索词。例如:(Coffee) OR (Tea);(A47J)。调用方必须提供非空值,不使用默认值。 | |
| num | No | 该参数控制每页的结果数量。最小值:10,最大值:100。 | |
| dups | No | 该参数定义去重方法。可选 family(Family,默认)或 language(Publication)。 | family |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| page | No | 该参数定义页码,用于分页。1(默认)是第一页结果,2 是第二页结果,依此类推。 | 1 |
| sort | No | 该参数定义排序方法。默认按相关性排序。可用值:new - Newest,old - Oldest。 | |
| type | No | 该参数按类型过滤专利结果。支持的值:PATENT - 专利,DESIGN - 外观设计。 | |
| after | No | 该参数定义结果的最小日期。格式为 type:YYYYMMDD,type 可以是 priority、filing、publication 之一。例如:priority:20221231、publication:20230101。 | |
| before | No | 该参数定义结果的最大日期。格式为 type:YYYYMMDD,type 可以是 priority、filing、publication 之一。例如:priority:20221231、publication:20230101。 | |
| status | No | 该参数按状态过滤专利结果。支持的值:GRANT - 授权专利,APPLICATION - 专利申请。 | |
| country | No | 该参数按国家/地区过滤专利结果。使用逗号 , 分隔多个国家/地区代码。例如:WO,US。 | |
| patents | No | 该参数控制是否包含 Google 专利结果,默认为 true。参数值:true。 | true |
| scholar | No | 该参数控制是否包含 Google 学术结果,默认为 false。参数值:true。 | false |
| assignee | No | 该参数定义专利的受让人。使用逗号 , 分隔多个受让人。将包含逗号的名称括在括号中,例如:(Tesla, Inc)。 | |
| inventor | No | 该参数定义专利的发明人。使用逗号 , 分隔多个发明人。将包含逗号的名称括在括号中,例如:(Doe, John)。 | |
| language | No | 该参数按语言过滤专利结果。使用逗号 , 分隔多个语言。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| clustered | No | 该参数定义结果的分组方式。支持的值:true - 按分类分组。 | |
| litigation | No | 该参数按诉讼状态过滤专利结果。支持的值:YES - 有相关诉讼,NO - 无已知诉讼。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (destructiveHint=true, openWorldHint=true, idempotentHint=false), which is unusual for a search tool. The description adds no behavioral context at all: no mention of the 5-minute caching that no_cache controls, no rate/statistics implications, and no note on what a query returns. For a 19-parameter tool this is a thin 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?
A single front-loaded sentence with no filler or repetition. It is efficiently sized, though the brevity borders on under-specification for a tool of this complexity.
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 19 parameters, no output schema, and a mutation-flagged annotation set, the description is far too sparse. It says nothing about pagination behavior, caching semantics, or result shape, leaving the agent to reconstruct the calling contract entirely from the 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?
Schema description coverage is 100% with 19 fully documented parameters, including formats for after/before, dups, json, and enumerated type values. The description contributes no parameter meaning beyond the schema, 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 names a specific verb (查询/query) and resource (Google Patents 专利) and enumerates the data types returned (标题、发明人、申请人、专利号、专利文献数据). This clearly identifies the tool's domain. It stops short of differentiating from the sibling google_scholar, which is relevant since the tool itself can surface Scholar results via the scholar param.
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 phrasing '当用户需要...时触发' functions as an implied trigger condition, which gives some when-to-use signal. However, it offers no exclusions, no prerequisites, and no routing advice versus alternatives like google_scholar or google_search, so an agent must infer the boundary itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_playCDestructiveInspect
当用户需要查询 Google Play 应用、游戏或商店搜索结果,获取应用列表、详情或与 Google Play 内容相关的数据时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义您要在 Google Play 应用商店中搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 该参数定义 Google Play 搜索要使用的国家/地区。它是一个两位数的国家/地区代码,例如 us(默认)代表美国,uk 代表英国,fr 代表法国。 | us |
| hl | No | 该参数定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码,例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| age | No | 该参数定义年龄段子类别。age 仅在 apps_category=FAMILY(儿童应用)时使用。可用值包括 AGE_RANGE1、AGE_RANGE2、AGE_RANGE3。 | |
| json | No | 该参数定义采集结果的输出格式。可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| chart | No | 该参数用于显示热门排行榜。最多可返回 50 条结果。它不应与 section_page_token、see_more_token 和 next_page_token 参数一起使用。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| store_device | No | 该参数定义用于排序结果的设备。此参数不能与 apps_category 或 q 参数一起使用。可用值包括 phone、tablet、tv、chromebook、watch、car。 | |
| apps_category | No | 该参数定义应用商店类别。 | |
| see_more_token | No | 该参数定义用于从各个版块检索分页结果的“查看更多”令牌。它通常在下一页结果中找到。它不应与 section_page_token、next_page_token 和 chart 参数一起使用。 | |
| next_page_token | No | 该参数定义下一页令牌。它用于检索下一页结果。它不应与 section_page_token、see_more_token 和 chart 参数一起使用。 | |
| section_page_token | No | 该参数定义用于从各个版块检索分页结果的版块页面令牌。它不应与 next_page_token、see_more_token 和 chart 参数一起使用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the tool purely as a read/retrieval operation ('查询', '获取' lists and details), yet the annotations declare readOnlyHint=false and destructiveHint=true. This is a direct conflict between the described behavior and the declared behavior, with no explanation of what is actually mutated.
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 front-loaded sentence with no filler, cleanly sized. It is concise, though brevity here comes partly from under-specification rather than disciplined editing.
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 12-parameter scraping tool with no output schema and a contradictory destructive annotation, one sentence is far too thin. Nothing explains the pagination-token family, the chart/section mutual exclusions, the JSON/HTML output modes, or the destructiveHint flag an agent would need to reconcile.
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% and the 12 parameters are all richly documented in the schema itself. The description adds no parameter-level meaning (no mention of q, gl, hl, tokens, chart, or output format), 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?
States a clear verb and resource: querying Google Play apps, games, and store search results to obtain lists, details, or related data. However, it draws no boundary against the closely named siblings google_play_store_information and google_play_store_reviews, so an agent cannot tell from the description alone which of the three to pick.
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 'trigger when the user needs to...' phrasing gives an implied usage context but never states when NOT to use it or which sibling handles app details/reviews instead. The mutual-exclusion rules among chart/token params exist only in the schema, not as guidance here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_play_store_informationBDestructiveInspect
当用户需要 Google Play 商店信息、Google Play App 信息、Google Play 应用信息、Play Store information、Google Play store information,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Google Play商店信息采集 Builder 任务,采集器标识固定为 google-play-store_information_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| app_url | Yes | App URL,Google Play 网站上的 App URL。用于 google-play-store_information_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description usefully adds that this is an asynchronous task submission with a fixed collector identifier, but it never says results must be retrieved later (e.g. via scraper_task_status/scraper_task_result) or that repeated calls create new tasks, which is the missing behavioral 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?
Two sentences, front-loaded with the trigger condition before the mechanism, so the routing information comes first. The first sentence is a long bilingual enumeration of near-synonymous keyword variants, which is mildly repetitive but not empty padding.
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 no output schema, the description should carry more of the workflow burden; it explains task submission but not what the call returns (task id/handle) or the follow-up tool needed to fetch results, despite scraper_task_status and scraper_task_result being available siblings. It is adequate for invoking the tool but incomplete for using it end-to-end.
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%, so both app_url and file_name are already documented in the schema; baseline 3 applies. The only added value is tying the collector identifier to the app_url input, which is marginal and does not explain format or override behavior beyond the schema.
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 names both the verb (submit a collection/Builder task) and the exact resource (Google Play store information, fixed collector id google-play-store_information_by-url), so an agent knows precisely what happens on invocation. It does not, however, distinguish itself from adjacent siblings such as google_play or google_play_store_reviews, which occupy the same topical space.
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 gives a trigger condition ('when the user needs Google Play store/app information combined with collect/scrape/fetch verbs'), which is implied usage guidance rather than explicit routing. No alternative tool is named for the case of, e.g., wanting reviews or a Play listing without a task submission, so the agent must infer boundaries from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_play_store_reviewsBDestructiveInspect
当用户需要 Google Play 商店评论、Google Play 评论、Google Play App 评论、Play Store reviews、Google Play store reviews,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Google Play 商店评论采集 Builder 任务,采集器标识固定为 google-play-store_reviews_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| app_url | Yes | App URL,Google Play 网站上的 App URL。用于 google-play-store_reviews_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds that a Builder task is submitted and the collector ID is fixed, but it omits the critical async behavior (that results must be retrieved via scraper_task_status/result), which matters given the non-idempotent, destructive flags.
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 opening trigger list enumerates five near-synonyms of 'Google Play reviews' plus five verbs, which is repetitive keyword stuffing rather than information. The functional sentence (Builder task, collector ID) is useful but buried after the trigger enumeration.
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 task-submission tool with no output schema and destructive/non-idempotent annotations, the description should explain the async lifecycle (task creation, then polling for results) and what the returned handle represents. That is entirely missing, leaving a significant gap for correct invocation in a multi-step flow.
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 both app_url and file_name are fully documented in the schema itself. The description adds only that the collector is google-play-store_reviews_by-url; it provides no extra syntax or format detail beyond the schema. 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?
States a specific action (submit a Builder task to collect Google Play store reviews) and names the fixed collector identifier, which distinguishes it from sibling google_play_store_information. The resource (reviews) is clear, though the front-loaded trigger-keyword list muddies the verb rather than sharpening it.
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?
Gives trigger conditions (user needs reviews combined with collect/scrape/crawl/fetch/extract verbs), which is implied when-to-use guidance. However, it never states when NOT to use it or names alternatives such as google_play_store_information or google_play, so routing against siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_scholarCDestructiveInspect
当用户需要查询 Google Scholar 学术论文、作者、引用、出版物或学术搜索结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 该参数定义您想要搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| hl | No | 该参数定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码,例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| lr | No | 该参数定义一个或多个将搜索限制在的语言。它使用 lang_{两位语言代码} 指定语言,并使用 | 作为分隔符,例如 lang_fr|lang_de 将仅搜索法语和德语的页面。 | |
| num | No | 该参数定义返回的最大结果数量,范围为 1 到 20,默认为 10。 | 10 |
| json | No | 该参数定义采集结果的输出格式。可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| safe | No | 该参数定义成人内容的过滤级别。可以设置为 active 或 off,默认情况下 Google 会模糊处理露骨内容。 | |
| as_rr | No | 该参数定义是否仅显示综述文章(这些文章包括主题综述,或讨论您搜索的作品或作者)。可以设置为 1 以启用此过滤器,或设置为 0(默认)以显示所有结果。 | 0 |
| cites | No | 该参数定义用于触发“被引”搜索的文章唯一 ID。使用 cites 将显示 Google 学术中引用该文献的列表。示例值:cites=1275980731835430123。cites 和 q 参数同时使用会触发在引用文献中的搜索。 | |
| start | No | 该参数定义结果偏移量。它跳过指定数量的结果,用于分页。例如 0(默认)是第一页结果,10 是第二页结果,20 是第三页结果,依此类推。 | 0 |
| as_sdt | No | 该参数既可用作搜索类型,也可用作过滤器。作为过滤器(仅在搜索文章时有效):0 排除专利(默认),7 包含专利。作为搜索类型:4 选择判例法(仅限美国法院)。 | 0 |
| as_vis | No | 该参数定义是否希望包含引用。可以设置为 1 以排除这些结果,或设置为 0(默认)以包含它们。 | 0 |
| as_yhi | No | 该参数定义您希望包含结果的结束年份。例如将 as_yhi 设置为 2018 年,则该年份之后的结果将被省略。此参数可与 as_ylo 参数结合使用。 | |
| as_ylo | No | 该参数定义您希望包含结果的起始年份。例如将 as_ylo 设置为 2018 年,则该年份之前的结果将被省略。此参数可与 as_yhi 参数结合使用。 | |
| filter | No | 该参数定义“类似结果”和“省略结果”的过滤器是开启还是关闭。可以设置为 1(默认)以启用这些过滤器,或设置为 0 以禁用这些过滤器。 | 1 |
| scisbd | No | 该参数定义过去一年添加的文献,按日期排序。可设置为 1 以仅包含摘要,或设置为 2 以包含全部内容。默认值为 0,表示文献按相关性排序。 | 0 |
| cluster | No | 该参数定义用于触发“所有版本”搜索的文章唯一 ID。示例值:cluster=1275980731835430123。禁止将 cluster 与 q 和 cites 参数一起使用。请仅使用 cluster 参数。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames this purely as a query ('查询') operation, i.e. a read of academic results, while the annotations declare readOnlyHint=false and destructiveHint=true. That is a direct inconsistency in the observable behavior an agent would expect, and the description adds no behavioral context (caching via no_cache, rate limits, scraping semantics) to offset 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?
A single, front-loaded trigger sentence with no filler, which is efficient. Its brevity is the main limitation for such a complex tool rather than verbosity, but structurally it is clean and wastes nothing.
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 17-parameter tool with no output schema, the description never explains return format/volume, pagination expectations despite start/num existing, or the interaction of mutually exclusive params (cluster vs q+cites). One trigger sentence is too thin to be complete for this complexity.
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%, so all 17 parameters (q, hl, lr, num, cites, cluster, start, etc.) are already fully documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, so the baseline of 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 names a specific resource (Google Scholar) and its queryable entities (academic papers, authors, citations, publications, search results), so an agent can tell it targets scholarly search rather than general web search. It does not explicitly differentiate from siblings like google_search or google_patents, but the resource 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?
It gives a trigger condition ('当用户需要查询 Google Scholar 学术论文…时触发'), which implies when to use it. However, it offers no exclusions or named alternatives (e.g. use google_search for general pages, google_patents for patents), leaving the agent to infer routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_searchCDestructiveInspect
当用户需要通过 Google 搜索公开网页信息、获取通用网页搜索结果,或按国家、语言、位置、设备、时间条件等控制 Google 搜索结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| cr | No | 定义一个或多个将搜索限制在的国家/地区。它使用 country{两位大写国家/地区代码} 指定国家/地区,并使用 I 作为分隔符。例如 countryFRIcountryDE 将仅搜索法国和德国的页面。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| lr | No | 定义一个或多个将搜索限制在的语言。它使用 lang_{两位语言代码} 指定语言,并使用 I 作为分隔符。例如 lang_frIlang_de 将仅搜索法语和德语的页面。 | |
| tbs | No | 定义常规查询字段中无法实现的高级搜索参数。例如专利、日期、新闻、视频、图片、应用或文本内容的高级搜索。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| nfpr | No | 当原始查询拼写错误时,定义是否排除来自自动更正查询的结果。设置为 1 排除这些结果,设置为 0 包含它们(默认)。 | |
| safe | No | 定义成人内容的过滤级别。可以设置为 active 或 off,默认情况下 Google 会模糊处理露骨内容。 | |
| uule | No | 希望用于搜索的 Google 编码位置。此参数不能与 location、lat、lon 和 radius 参数一起使用。 | |
| start | No | 定义结果偏移量。它跳过指定数量的结果,用于分页。例如 0 默认是第一页结果,10 是第二页结果,20 是第三页结果,以此类推。 | 0 |
| device | No | 定义用于获取结果的设备。可设置为 desktop(默认值)使用常规浏览器,tablet 使用平板浏览器(目前使用 iPad),或 mobile 使用移动浏览器。 | desktop |
| filter | No | 定义“类似结果”和“省略结果”的过滤器是开启还是关闭。设置为 1(默认)启用这些过滤器,设置为 0 禁用这些过滤器。 | 1 |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。此参数不能与 uule、lat 和 lon 参数一起使用。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| render_js | No | 如果为 true,系统将使用浏览器执行页面脚本并返回完整渲染后的 HTML。开启后会显著增加采集耗时,请按需使用。 | |
| ai_overview | No | 控制是否获取 Google 搜索结果中的 AI 概览(AI Overview)内容。成功获取 AI 概览通常计为 1 次响应;当首次请求仅返回 page_token 时,系统自动进行的第二次请求将额外计费,总共消耗 2 次响应。 | |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), yet the description adds no behavioral context of its own: nothing on billing/response consumption, caching, rate limits, or why a search is flagged destructive. Caching and cost details exist only inside individual parameter descriptions, not here.
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 front-loaded sentence with no filler or repetition — the trigger condition comes first and the capability list follows. It is dense but every clause maps to real functionality, so nothing needs cutting.
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 an 18-parameter, open-world search tool with no output schema, the schema-rich parameters plus annotations cover most invocation needs, but the description says nothing about pagination (start), output-format selection (json), or cost implications, and gives no routing among the large family of sibling search tools.
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% across all 18 parameters, including enums, defaults, and mutually exclusive pairs (uule vs location/lat/lon), so the schema carries the semantics. The description only generically alludes to country/language/location/device/time control and adds no syntax or format detail beyond the schema, which is the baseline-3 case.
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 conveys a search of public web pages via Google, with capability categories (country, language, location, device, time filters), so the resource is identifiable. However it is phrased as a trigger condition rather than a functional statement ('当用户需要...时触发'), and it never distinguishes this from the many sibling search tools (bing_search, duckduckgo_search, yandex_search), leaving the core verb and scope only implied.
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 does give a when-to-trigger condition covering general web lookups and filter control, which is a form of usage context. But it offers no when-not-to-use guidance and names no alternative, so an agent gets no help deciding between this, bing_search, or the vertical Google tools (google_news, google_images) for the same query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_shoppingBDestructiveInspect
当用户需要查询 Google Shopping 商品搜索结果、商品价格、促销、包邮、小企业商品,或按价格区间、排序和购物过滤条件检索商品时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义想要搜索的查询内容。提供 shoprs 参数时不需要同时提供 q 参数。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| uule | No | 希望用于搜索的 Google 编码位置。uule 和 location 参数不能同时使用。 | |
| start | No | 定义结果偏移量。它跳过指定数量的结果,用于分页。该值取决于返回的结果数量,可以是 10 或 20。例如,移动端返回 10 条结果时,start 应为 10、20、30。 | |
| shoprs | No | 定义包含关于查询和搜索过滤器元数据的令牌。提供 shoprs 参数时不需要同时提供 q 参数。要应用多个过滤器,请使用 || 分隔符连接它们,例如 shoprs_1||shoprs_2||shoprs_3。 | |
| on_sale | No | 仅显示促销产品。该参数会覆盖嵌入到 shoprs 参数中的相应过滤器。 | |
| sort_by | No | 定义结果的排序顺序。1 为价格从低到高,2 为价格从高到低。该参数会覆盖嵌入到 shoprs 参数中的相应过滤器。 | |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| max_price | No | 价格范围查询的上限。该参数会覆盖嵌入到 shoprs 参数中的相应过滤器。 | |
| min_price | No | 价格范围查询的下限。该参数会覆盖嵌入到 shoprs 参数中的相应过滤器。 | |
| free_shipping | No | 仅显示包邮产品。该参数会覆盖嵌入到 shoprs 参数中的相应过滤器。 | |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
| small_business | No | 仅显示来自小企业的产品。该参数会覆盖嵌入到 shoprs 参数中的相应过滤器。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description adds no behavioral context at all — nothing about cost/credits, caching (only the no_cache parameter documents that), rate limits, or pagination behaviour. With a destructive annotation on a query tool, the agent would benefit from clarification, and the description supplies none.
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, front-loaded sentence with no filler or repetition. The long enumeration of features is slightly list-heavy but each item corresponds to a real capability, so nothing feels wasted.
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 16-parameter tool with no output schema and a destructive annotation, the description covers only trigger conditions. The schema compensates fully for parameter meaning, but return-format expectations, caching/cost implications and pagination are left to the schema or undocumented, leaving meaningful gaps.
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% and the schema itself documents every parameter in detail, including cross-parameter rules (shoprs vs q, overrides of shoprs filters, uule vs location). The description adds no parameter meaning beyond that, 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?
Names a specific resource (Google Shopping 商品搜索结果) and enumerates the abilities: prices, promotions, free shipping, small-business items, price ranges and filters. That is clear enough to identify the tool, but it never contrasts itself with near siblings such as google_shopping_info or bing_shopping, so an agent has no textual basis for choosing between them.
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 sentence is written entirely as a trigger condition, listing concrete situations in which to call it (price lookup, promotions, free shipping, small business, price-range/sort/filter retrieval). This is solid when-to-use guidance, but there are no exclusions or named alternatives when another shopping/search sibling would fit better.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_shopping_infoCDestructiveInspect
当用户需要 Google 购物信息、Google Shopping 商品信息、Google 购物商品、Google 商品数据,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Google 购物信息采集 Builder 任务,采集器标识固定为 google_shopping_by-keywords。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 产品关键词,该参数用于指定关键字来收集产品数据。用于 google_shopping_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact beyond that: the call submits a Builder task with a fixed collector id, implying an asynchronous job rather than an inline result. It does not say whether submission is repeatable, what the task does to previously collected data, or what is returned.
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 sentences, but the first is a padded trigger-word list that duplicates the tool name and title without adding selection value, while the second carries all the real information. Front-loading the actual operation would have made this much tighter.
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?
There is no output schema, and the agent is not told that submission yields a task handle that must be polled or fetched via the scraper_task_status / scraper_task_result siblings. For a task-submission tool in a large scraper family, that missing downstream step is a real gap in an otherwise simple two-parameter tool.
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%, so both parameters (keyword, file_name) are already documented including the default and the non-empty requirement. The description adds only the fixed collector identifier, which is marginal context rather than new parameter semantics, 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 second sentence names a concrete verb and resource ('提交 Google 购物信息采集 Builder 任务') and pins the collector id, which tells an agent this submits a scraper task rather than returning product data. However, the opening sentence is essentially a trigger-word expansion of the tool name (Google 购物信息/商品信息/商品数据 + 采集/抓取/爬取), and it never distinguishes this tool from the sibling google_shopping or scraper_serp_products.
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 gives a trigger condition (user wants Google Shopping data combined with collect/scrape/crawl verbs), but that condition is just a restatement of the tool name's own keywords, not a genuine decision rule. It names no alternatives and no when-not-to-use case, even though google_shopping and bing_shopping sit in the same sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_trendsBDestructiveInspect
当用户需要查询 Google Trends 趋势数据、关键词热度、地区趋势、相关主题或相关查询时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| hl | No | 定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| tz | No | 定义时区偏移量。默认值为 420(太平洋夏令时间 PDT: -07:00)。值以分钟为单位,范围从 -1439 到 1439。 | 420 |
| cat | No | 定义搜索类别。默认值为 0(所有类别)。可以在 Google 趋势类别列表中找到或下载所有支持的值。示例值包括 0、3、5、7、8、11、12、13、14、16。 | 0 |
| csv | No | 用于检索 CSV 结果。设置为 true 可将 CSV 结果作为数组检索。可用值为 true 或 false。 | |
| geo | No | 定义搜索发起的地理位置。默认为全球,当 geo 参数值未设置或为空时激活。 | |
| date | No | 定义日期。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| gprop | No | 按属性对结果进行排序。默认属性为网页搜索,当 gprop 参数值未设置或为空时激活。可用值包括 images(图像搜索)、news(新闻搜索)、froogle(Google 购物)、youtube(YouTube 搜索)。 | |
| region | No | 用于在使用“按细分区域的比较”和“按区域的兴趣”数据类型图表时获取更具体的结果。其他数据类型图表不接受 region 参数。默认值取决于设置的 geo 位置。可用值包括 COUNTRY、REGION、DMA、CITY。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| data_type | No | 定义想要执行的搜索类型。可用值包括 TIMESERIES(时间趋势分析)、GEO_MAP(区域对比分析)、GEO_MAP_0(区域兴趣分布)、RELATED_TOPICS(相关主题推荐)、RELATED_QUERIES(相关查询推荐)。 | |
| include_low_search_volume | No | 用于在结果中包含低搜索量区域。设置为 true 以在结果中包含低搜索量区域。可用值为 true 或 false。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations exist (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), so the bar is lower, but the description adds no behavioral context at all: nothing about 5-minute result caching, the no_cache bypass, quota/cost implications, or how data_type changes the returned shape. There is also an unresolved tension between the read-oriented verb 查询 and annotations declaring destructiveHint=true, which the description never clarifies.
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 short sentence, front-loaded with the trigger condition and enumerating the data categories. Nothing is wasted, though for a 13-parameter tool the extreme brevity means the sentence cannot also carry operational 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?
This is a high-complexity tool (13 params, 3 enums, multiple output formats via json=1/2/3/4, a data_type enum that fundamentally changes results, and region only valid for certain data types), with no output schema. The description covers none of this and only states a trigger condition, so an agent would have to reverse-engineer behavior entirely from the 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?
Schema description coverage is 100% across all 13 parameters, so the schema already documents q, hl, tz, cat, geo, date, json, gprop, region, no_cache, data_type, csv and include_low_search_volume. The description adds no parameter-level meaning beyond what the schema provides. Baseline 3 applies when the schema carries the full parameter burden.
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 names the specific resource and scope: Google Trends trend data, keyword popularity, regional trends, related topics and related queries. An agent can tell this is the Google Trends data tool rather than a generic search tool. It stops short of distinguishing itself from adjacent siblings such as google_search, google_news or google_finance, which also surface trend-like information.
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 entire description is a trigger condition ('当用户需要查询...时触发'), which does imply when to reach for the tool, but it offers no when-not guidance and never names an alternative sibling. With ~80 sibling tools in the catalog, the absence of routing guidance against google_search/google_news is a real gap. Usage is implied rather than explicitly delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_videosBDestructiveInspect
当用户需要通过 Google Videos 搜索视频结果,或按地区、语言、位置、安全过滤、时间条件等获取视频搜索数据时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 定义想要搜索的查询内容。调用方必须提供非空值,不使用默认值。 | |
| gl | No | 定义 Google 搜索要使用的国家/地区。它是一个两位数的国家/地区代码。例如 us 代表美国,uk 代表英国,fr 代表法国。 | |
| hl | No | 定义 Google 职位搜索要使用的语言。它是一个两位数的语言代码。例如 en 代表英语,es 代表西班牙语,fr 代表法语。 | |
| lr | No | 定义一个或多个将搜索限制在的语言。它使用 lang_{两位语言代码} 指定语言,并使用 | 作为分隔符。例如 lang_fr|lang_de 将仅搜索法语和德语的页面。 | |
| tbs | No | 定义常规查询字段中无法实现的高级搜索参数。 | |
| json | No | 定义采集结果的输出格式。1 返回 JSON 格式数据,2 返回 JSON+HTML 格式数据,3 返回 HTML 格式数据,4 返回 Light JSON。默认值为 1。 | 1 |
| nfpr | No | 当原始查询拼写错误时,定义是否排除来自自动更正查询的结果。可以设置为 1 以排除这些结果,或设置为 0 以包含它们(默认)。 | |
| safe | No | 定义成人内容的过滤级别。可以设置为 active 或 off,默认情况下 Google 会模糊处理露骨内容。 | |
| uule | No | 希望用于搜索的 Google 编码位置。uule 和 location 参数不能同时使用。 | |
| start | No | 定义结果偏移量。它跳过指定数量的结果,用于分页。该值取决于返回的结果数量,可以是 10 或 20。例如,移动端返回 10 条结果时,start 应为 10、20、30。 | |
| filter | No | 定义“类似结果”和“省略结果”的过滤器是开启还是关闭。可以设置为 1(默认)以启用这些过滤器,或设置为 0 以禁用这些过滤器。 | 1 |
| location | No | 定义搜索发起的地理位置。如果有多个位置与请求的位置匹配,将选择最受欢迎的一个。 | |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果。设为 true 可跳过缓存,设为 false(默认)则使用缓存结果。缓存搜索免费,且不计入搜索统计。 | false |
| google_domain | No | 定义要使用的 Google 域名。默认为 google.com。 | google.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, but the description offers no behavioral context at all — nothing about credit consumption, the 5-minute cache that the schema mentions, rate limits, or why a search operation carries a destructive hint. With such a loaded annotation profile, the description should have carried more explanatory weight.
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 compact sentence with the purpose front-loaded before the qualifying dimensions. No padding or repetition, though it is somewhat list-like in its enumeration of parameters rather than prioritizing the most important selection cues.
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 14-parameter tool with no output schema, the description is thin: it omits result format/pagination behavior and the cost/credit implications hinted at by the destructive annotation and cache parameter. It is adequate as a trigger statement but not complete enough to call this tool confidently.
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 14 fully documented parameters, so the schema does the heavy lifting and baseline 3 applies. The description only broadly gestures at 'region, language, location, safe filtering, time conditions' without adding syntax, format, or interaction detail (e.g., the uule/location mutual exclusion) beyond what the schema already states.
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+resource combination ('通过 Google Videos 搜索视频结果') and enumerates the scoping dimensions it supports (region, language, location, safe filter, time). It is clearly distinguishable as a video-SERP tool, though it never contrasts itself with siblings such as bing_videos or youtube_video, so it falls short of full sibling differentiation.
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 gives trigger conditions ('当用户需要...时触发') and lists the situational dimensions, which is more than implied usage but stops short of explicit when-not guidance. No alternative tool is named for video searches (e.g., bing_videos for Bing, youtube_video for YouTube-native content), leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indeed_companies_infoBDestructiveInspect
当用户需要 Indeed 公司信息、Indeed companies info、Indeed 公司列表、Indeed 公司关键词、Indeed 行业地区公司,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Indeed 公司信息采集 Builder 任务,支持 indeed_companies-info_by-company-list-url、indeed_companies-info_by-keyword、indeed_companies-info_by-industry-and-state 和 indeed_companies-info_by-company-url。
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Indeed 地区,该参数用于指定采集公司所在地区。用于 indeed_companies-info_by-industry-and-state,默认值为 Alabama - 60 companies。 | Alabama - 60 companies |
| keyword | No | 公司关键词,该参数用于指定采集公司的关键词。用于 indeed_companies-info_by-keyword。调用方必须提供非空值,不使用默认值。 | |
| industry | No | Indeed行业,该参数用于指定采集公司所属行业。用于 indeed_companies-info_by-industry-and-state,默认值为 Accounting & Tax。 | Accounting & Tax |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:indeed_companies-info_by-company-list-url、indeed_companies-info_by-keyword、indeed_companies-info_by-industry-and-state、indeed_companies-info_by-company-url。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| company_url | No | Indeed公司URL,该参数用于指定要采集的公司URL。用于 indeed_companies-info_by-company-url。调用方必须提供非空值,不使用默认值。 | |
| company_list_url | No | Indeed公司列表URL,该参数用于指定采集公司列表的URL。用于 indeed_companies-info_by-company-list-url。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds one useful fact beyond that — that this submits an asynchronous Builder task rather than returning data directly — but says nothing about permissions, rate limits, or what the destructive/non-idempotent behavior actually implies. 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 trigger-keyword preamble ('Indeed 公司信息、Indeed companies info、Indeed 公司列表...') is repetitive padding before the real purpose sentence. The genuinely informative content — the task submission and the four modes — is comparatively short and buried behind it.
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?
There is no output schema, and for a task-submission tool the description omits the downstream workflow (that the result is later retrieved via scraper_task_status/scraper_task_result). With 7 parameters and four distinct modes, an agent has enough to call it, but not enough to understand the end-to-end flow.
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% and each parameter's own description states which spider_id mode it applies to and whether it is required. The description only re-lists the spider_id values, which are already in the enum, so it adds essentially nothing over the schema. 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 second sentence states a specific verb+resource: it submits an Indeed company-info collection 'Builder' task, and enumerates the four supported spider modes. This clearly separates it from sibling company tools like linkedin_company_information or crunchbase_company. The first sentence is keyword-stuffed trigger text that adds noise rather than clarity, keeping it out of 5 territory.
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 gives trigger conditions ('when the user needs Indeed company info... with verbs like collect/scrape/fetch'), which is a usable when-to-use signal. However it names no alternatives and no when-not-to-use, so an agent cannot tell why it should pick this over linkedin_company_information or a generic web scraper.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_commentADestructiveInspect
当用户需要 Instagram 帖子评论、Instagram 评论、Instagram post comments、IG 帖子评论信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Instagram 帖子评论采集 Builder 任务,采集器标识固定为 ins_comment_by-posturl。
| Name | Required | Description | Default |
|---|---|---|---|
| posturl | Yes | 帖子 URL,该参数用于指定待采集的 Instagram 的帖子 URL。用于 ins_comment_by-posturl。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=false is not the case here (destructiveHint=true), non-idempotent, open-world behavior, so the safety profile is covered structurally. The description adds that this submits an asynchronous Builder task (implying a task handle rather than inline results), which is useful, but it omits auth requirements, rate limits, and what the task produces.
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 trigger is front-loaded, but the first sentence pads itself with four near-synonymous alias phrases (Instagram 帖子评论 / Instagram 评论 / Instagram post comments / IG 帖子评论信息) that repeat the same concept. Only two sentences total, so it is not bloated, but the redundancy costs it a point.
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 an async task-submission tool with no output schema, so the description should tell the agent that results come back via a separate task-polling tool (scraper_task_status/result). It states a task is submitted but never explains the follow-up workflow or authentication, leaving an operational 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 coverage is 100%, so both parameters are already documented in the schema, including the posturl purpose and the file_name default. The description adds only that posturl maps to the ins_comment_by-posturl collector, 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 second sentence states a specific verb and resource: it submits an Instagram post-comment collection Builder task and pins the collector identifier (ins_comment_by-posturl). This clearly separates it from siblings like instagram_profiles or instagram_reel, though the description never names a sibling 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 trigger sentence states the context: use when the user wants Instagram post comments combined with collect/scrape/crawl/get/extract verbs. That is clear when-to-use guidance, but it offers no exclusions or named alternatives for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_profilesBDestructiveInspect
当用户需要 Instagram 个人资料、Instagram 用户资料、Instagram profile、Instagram 用户信息、IG 个人资料,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Instagram 个人资料采集 Builder 任务,支持 ins_profiles_by-username 和 ins_profiles_by-profileurl。
| Name | Required | Description | Default |
|---|---|---|---|
| username | No | Instagram 用户名,该参数用于指定待采集的 Instagram 的用户名信息。用于 ins_profiles_by-username。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:ins_profiles_by-username、ins_profiles_by-profileurl。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| profileurl | No | 个人资料 URL,该参数用于指定待采集产品的个人资料访问 URL。用于 ins_profiles_by-profileurl。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, flagging this as a mutating operation, and the description's 'submit a Builder task' is consistent with that. Beyond restating that it submits a task, it adds no side-effect detail (permissions, what the destructive hint implies, rate limits). With annotations covering the safety profile, a baseline 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 second sentence is efficient and front-loads the action, but the first sentence is keyword-stuffed with five near-duplicate phrases ('Instagram 个人资料/用户资料/profile/用户信息/IG 个人资料') and filler verb lists. That redundancy costs conciseness without adding routing precision.
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?
There is no output schema, so the description should ideally explain what a submitted task returns and how it relates to the scraper_task_status/result siblings. It does not mention the task lifecycle, leaving the agent to infer the follow-up. Adequate for a task-submission tool but with a clear workflow 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% and each parameter already documents its own meaning and the mode it belongs to. The description only repeats the two spider_id enum values without adding new semantics. Baseline 3 for a full-coverage schema.
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 — submitting an Instagram profile collection 'Builder' task — and names the exact collection modes supported (ins_profiles_by-username / ins_profiles_by-profileurl). This distinguishes it from siblings like instagram_comment and instagram_reel. It stops short of a crisp verb+resource statement because the trigger-keyword preamble dominates.
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 gives a trigger condition (user needs 'Instagram profile' + verbs like collect/scrape/get) and lists the two supported modes, which implies when to use it. But there is no explicit when-to-use-this-vs-alternative guidance and no rule for choosing between the two modes at the description level. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_reelBDestructiveInspect
当用户需要 Instagram Reel 信息、Instagram Reels、Instagram 短视频、IG Reel,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Instagram Reel 信息采集 Builder 任务,支持 ins_reel_by-url、ins_allreel_by-url 和 ins_reel_by-listurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL,该参数用于指定待采集的 Instagram 的访问 URL 地址。各模式接收的 URL 类型不同:ins_reel_by-url 传单条 Reel 帖子详情页 URL(帖子链接),示例 https://www.instagram.com/reel/C5Rdyj_q7YN/;ins_allreel_by-url 传账号主页 URL(账号名链接),示例 https://www.instagram.com/billieeilish;ins_reel_by-listurl 同样传账号主页 URL,示例 https://www.instagram.com/hellokitty/。调用方必须提供非空值,不使用默认值。 | |
| end_date | No | 结束日期,该参数用于指定帖子发布的结束时间,格式:mm-dd-yyyy,应大于 start_date。用于 ins_allreel_by-url 和 ins_reel_by-listurl,默认值为 01-28-2026。 | 01-28-2026 |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。ins_reel_by-url 采集单条 Reel 帖子,传帖子详情页 URL;ins_allreel_by-url 采集某个账号下的 Reel,传账号主页 URL;ins_reel_by-listurl 同样传账号主页 URL,与 ins_allreel_by-url 的请求参数完全一致,两者的语义差异请参考上游文档,无法判断时优先选 ins_allreel_by-url。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| start_date | No | 开始日期,该参数用于指定帖子发布的开始时间,格式:mm-dd-yyyy,应低于 end_date。用于 ins_allreel_by-url 和 ins_reel_by-listurl,默认值为 01-28-2025。 | 01-28-2025 |
| num_of_posts | No | 采集 Reel 最大数量,该参数用于指定采集 Reel 的最大数量。用于 ins_allreel_by-url 和 ins_reel_by-listurl,默认值为 10。 | 10 |
| posts_to_not_include | No | 不包括的帖子,该参数用于指定不采集指定的 Reel。Ins 平台请输入 post_id/PK 值,多个请使用英式逗号隔开。用于 ins_allreel_by-url 和 ins_reel_by-listurl,默认值为 DP861NijuwE。 | DP861NijuwE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false, so the safety profile is largely covered. The description adds that it 'submits a Builder task' (i.e., an async job) and enumerates the modes, but does not disclose what the task produces, whether it is polled, or any auth/limit behavior beyond what annotations state.
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 sentences, front-loaded with the trigger condition and then the action, with no padding. The keyword list in sentence one is dense but serves an explicit routing 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 scraper with 100% schema coverage and a full annotation set, the description covers the selection of modes adequately. However, it omits a material part of the workflow — that this submits an asynchronous task whose output must be retrieved via the scraper_task_* siblings — leaving an operational 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%, so the schema already fully documents url, dates, num_of_posts, spider_id, etc., including per-mode URL semantics. The description adds nothing beyond naming the modes already present in the spider_id enum, 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?
States a specific verb (submit a Builder collection task) plus resource (Instagram Reel info), and enumerates the three collection modes it supports (ins_reel_by-url, ins_allreel_by-url, ins_reel_by-listurl). It is clearly readable as 'scrape Instagram Reels', though it does not explicitly distinguish itself from siblings like instagram_profiles or instagram_comment.
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 first sentence gives trigger conditions (Reel-related nouns combined with collect/scrape/fetch/extract verbs), which is useful intent-routing. But it gives no when-not-to-use guidance and does not point to the related task-polling siblings (scraper_task_status/result) that an agent needs after submission, nor explain when to prefer this over instagram_profiles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_company_informationBDestructiveInspect
当用户需要 LinkedIn 公司信息、领英公司信息、LinkedIn company information、LinkedIn 公司 URL,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 LinkedIn 公司信息采集 Builder 任务,采集器标识固定为 linkedin_company_information_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 公司URL,该参数用于指定要采集的公司URL。用于 linkedin_company_information_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotent, and the description is consistent with that by disclosing it submits a Builder task (an action, not a read). It does not, however, explain that results are asynchronous and must be retrieved via the scraper_task_* siblings, which is the key behavioral fact for a task-submission 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 trigger sentence is repetitive keyword stuffing in four near-identical phrasings, which crowds out the actual function. The purpose sentence is clean, but roughly half the text is low-value matching boilerplate.
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 no output schema, the description should close the loop on the async workflow (task submitted here, fetched elsewhere), and it does not. For a 2-param task-submission tool with rich annotations the gaps are moderate rather than severe.
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 both parameters (url, file_name) and their defaults are fully documented in the schema. The description adds only the fixed collector identifier and no further parameter meaning or format guidance, 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 second sentence states a specific verb+resource: submits a LinkedIn company information collection Builder task, with a fixed collector id. An agent can tell it fetches LinkedIn company data, though it never contrasts itself with neighboring company tools like crunchbase_company or indeed_companies_info.
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 first sentence lists trigger keyword combinations (LinkedIn company info + collect/scrape/get verbs) which implies usage context, but there is no explicit when-not-to-use and no routing to alternatives such as linkedin_job_listings_information or other company-scraping siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_job_listings_informationADestructiveInspect
当用户需要 LinkedIn 职位列表、领英职位列表、LinkedIn 招聘信息、领英招聘信息、LinkedIn job listings,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 LinkedIn 职位列表采集 Builder 任务,支持 linkedin_job_listings_information_by-job-listing-url、linkedin_job_listings_information_by-job-url 和 linkedin_job_listings_information_by-keyword。
| Name | Required | Description | Default |
|---|---|---|---|
| job_url | No | 职位URL,该参数用于指定要采集的职位URL。用于 linkedin_job_listings_information_by-job-url。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | 关键词,该参数用于指定通过特定关键词搜索职位。用于 linkedin_job_listings_information_by-keyword,非必填。调用方必须提供非空值,不使用默认值。 | |
| location | No | 职位位置,该参数用于指定通过特定位置搜索职位。用于 linkedin_job_listings_information_by-keyword,默认值为 New York。 | New York |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:linkedin_job_listings_information_by-job-listing-url、linkedin_job_listings_information_by-job-url、linkedin_job_listings_information_by-keyword。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| job_listing_url | No | 职位列表URL,该参数用于指定要采集的职位列表URL。用于 linkedin_job_listings_information_by-job-listing-url。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description's 'submit a Builder task' is consistent with that write profile. It adds little beyond the annotations: no mention of async task queuing, required credentials, or rate limits for a tool that triggers external scraping.
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 trigger phrase list is front-loaded and functional, but it is padded with near-synonymous Chinese/English variants, and the trailing sentence redundantly repeats the three spider_id values already present in the enum. Some trimming would improve it.
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 6-parameter task-submission tool with full schema coverage and a safety profile in annotations, most needs are met. However, it never tells the agent that this starts an asynchronous collection job whose progress is checked via siblings like scraper_task_status/scraper_task_result, which is a meaningful gap for a task tool.
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%, so every parameter is already documented in the schema. The description only re-lists the three spider_id enum values that appear in the schema, adding no new syntax or mode-selection guidance beyond what is already there. Baseline 3 applies when the schema carries the load.
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 and resource: submitting a LinkedIn job listings collection Builder task, and enumerates the three supported spider modes. It distinguishes itself from linkedin_company_information by scope (job listings vs companies), though it does not differentiate from competing job-listing siblings such as glassdoor_joblistings or google_jobs.
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?
Trigger conditions are spelled out precisely ('when the user needs LinkedIn job listings ... combined with verbs like collect/scrape/crawl/fetch/extract'), which gives clear context for when to invoke. It offers no exclusions or named alternative tools (e.g. glassdoor_joblistings), so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_user_api_keysCDestructiveInspect
根据请求 token 查询当前 Dataify 用户的 API Token 列表。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description defines a read/list operation ('查询…API Token 列表'), yet annotations declare readOnlyHint=false and destructiveHint=true. Since the description carries the burden of clarifying behavior, this direct clash makes the safety profile undeterminable; the description also says nothing about whether secrets are returned or what permissions are needed.
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 front-loaded sentence with no filler. It is appropriately sized for a zero-parameter query, though it stops short of any supplementary structure that would help an agent.
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 no parameters and no output schema, the description covers the essentials (what is returned: a token list for the current user). It omits scope/permission facts that matter for an API-key-bearing tool and leaves the annotation conflict unresolved, so it is only minimally 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 tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline of 4 applies; the phrase '根据请求 token' even hints that identity comes from the request context rather than an argument.
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 names a specific verb (查询/query) and resource (API Token 列表 of the current Dataify user), so an agent can tell it apart from siblings like query_user_balance, query_user_info and query_user_usage. It does not, however, explicitly contrast itself with those siblings.
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 call this tool versus the other query_user_* siblings, and no stated prerequisites beyond the implicit request token. The agent must infer usage entirely from the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_user_balanceCDestructiveInspect
查询 Dataify 用户剩余积分或余额、累计充值和累计使用。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames this as a passive 'query' (read) of account balance, while annotations declare readOnlyHint=false and destructiveHint=true. That is a direct semantic conflict, and the description adds no real behavioral context (auth needs, return format, whether it mutates anything) to resolve 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?
A single compact sentence that front-loads the action and enumerates the three returned values. No filler, though the enumeration could have been structured more cleanly.
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 zero-parameter tool with no output schema, listing what is returned (balance, cumulative recharge, cumulative usage) is helpful. However, it omits how to use it against siblings, and the annotation mismatch leaves the agent unable to trust the safety profile.
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 takes zero parameters, so per the rubric the baseline is 4. There is no parameter semantics to clarify and nothing missing.
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?
States a specific verb (查询/query) and resource (user balance, cumulative recharge, cumulative usage), naming the exact values returned. It is reasonably distinct from siblings, though it partially overlaps query_user_usage on the 'cumulative usage' facet without acknowledging it.
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 indication of when to use this versus the closely related query_user_usage, query_user_info, or query_user_api_keys siblings. The agent is left to infer selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_user_infoCDestructiveInspect
根据请求 token 查询 Dataify 用户账号信息、注册日期、脱敏手机号和实名认证信息。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames this as a read (查询 account info, phone, registration), yet annotations declare readOnlyHint=false and destructiveHint=true. That is a direct conflict about whether the tool mutates state, which is exactly the signal an agent needs before invoking. The description also does not reconcile this or explain any write/verification side effect.
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 front-loaded sentence that enumerates the returned fields with no filler. It is appropriately sized for the tool's simplicity. Slight deduction because it neither signals read-only intent nor resolves the destructive-hint mismatch, leaving the most important sentence unwritten.
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 0-param tool with no output schema, the description adequately conveys what data comes back (account, registration date, masked phone, real-name verification). However, it omits any statement about state mutation, which is critical given contradictory destructive annotations, and gives no guidance on the sibling user-query tools.
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 has zero parameters, so there is nothing for the description to document; baseline is 4. The description usefully clarifies that the lookup key is the request token (implicit auth context) rather than an input argument, which is the only semantic gap a 0-param schema could leave.
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?
States a specific verb (查询) and a concrete resource set: Dataify user account info, registration date, masked phone number, and real-name verification. This clearly distinguishes it from siblings like query_user_balance, query_user_usage, and query_user_api_keys. It does not explicitly name those siblings, but the resource 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?
No when-to-use guidance, no prerequisites, and no mention of the alternative user-query siblings that an agent must choose between (balance, usage, api_keys). The token-based context is stated but that is a precondition, not usage guidance. The agent must infer selection criteria 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.
query_user_usageCDestructiveInspect
按日查询 Dataify 用户积分使用情况,包含视频下载、网页采集、搜索引擎、网页解锁和总消耗积分。
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 查询时间范围结束时间,秒级时间戳;缺失或为 0 时默认为当前时间秒值 | |
| start | No | 查询时间范围开始时间,秒级时间戳;缺失或为 0 时默认为当前日期 00:00:00 减去 30 天的秒值 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes a pure read operation ('查询...使用情况', query usage statistics), yet annotations declare readOnlyHint=false and destructiveHint=true. A query-style usage report cannot destroy data, so the annotation profile directly contradicts the description. No compensating behavioral context (auth, rate limits, return shape) is given.
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 sentence that front-loads the verb and resource, then lists the metric breakdown. No filler, no 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?
For a two-parameter, fully documented read query this is minimally sufficient, and it usefully names the credit categories returned. However, it says nothing about the granularity of results per day, pagination, or timezone handling of the default window, and it leaves the destructive annotation unexplained.
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%, and both start/end carry default semantics (omitted or 0 → now / now minus 30 days) in the schema itself. The description adds only the daily-granularity intent, 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?
States a specific verb and resource — query Dataify user credit consumption by day — and enumerates the breakdown (video download, web scraping, search engines, web unlock, total credits). This is clearly separable from query_user_balance (balance) and query_user_info (account info), though it never names a sibling 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 gives no when-to-use or when-not-to-use guidance and never points to an alternative such as query_user_balance or query_user_api_keys. Usage is only implied by the word 'query' and the daily aggregation scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_commentBDestructiveInspect
当用户需要 Reddit 帖子评论、Reddit 评论、Reddit post comments、Reddit 回复信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Reddit 帖子评论采集 Builder 任务,采集器标识固定为 reddit_comment_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit URL,该参数用于指定采集 Reddit 帖子的 URL。用于 reddit_comment_by-url。调用方必须提供非空值,不使用默认值。 | |
| days_back | No | 发布天数限制,该参数用于指定采集您输入的天数内发布的所有评论。默认值为 10。 | 10 |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| comment_limit | No | 回复数量限制,该参数用于指定采集评论时返回的回复评论数量。默认值为 5。 | 5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this a non-readonly, destructive, non-idempotent, open-world operation, and the description does confirm it submits an async Builder task. But it omits anything an agent needs behaviorally: that the call returns a task to be polled (via scraper_task_status/scraper_task_result), that repeated calls with the same URL may duplicate tasks despite non-idempotency, and any auth or rate-limit expectations.
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 substantive content is a single well-formed sentence, but the leading trigger-word enumeration ('Reddit 帖子评论、Reddit 评论、Reddit post comments、Reddit 回复信息') is redundant padding that repeats the same concept four times before the actual purpose statement.
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 task-submission tool with no output schema, so the description must carry the full lifecycle burden. It never explains that a task is created asynchronously or points to the sibling tools (scraper_task_status, scraper_task_result, scraper_task_list) needed to retrieve results, leaving a major gap for a 4-parameter write tool.
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%, so the schema already documents url, days_back, file_name, and comment_limit. The description adds only the fixed collector identifier (reddit_comment_by-url), which is marginal value over the schema and does not clarify the defaults or format constraints further.
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 second sentence states a specific verb+resource: it submits a Reddit post comment collection Builder task with a fixed collector id (reddit_comment_by-url). That distinguishes it from reddit_posts (which would fetch posts, not comments). The first sentence, however, is a trigger-keyword list rather than purpose prose, which dilutes clarity.
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 lists triggering keyword combinations ('Reddit 帖子评论' + collect/scrape/crawl/fetch/extract), which implies the usage context. But it never says when to prefer this over siblings like reddit_posts or when not to use it, nor mentions the one-URL-per-call constraint, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_postsBDestructiveInspect
当用户需要 Reddit 帖子信息、Reddit 帖子、Reddit posts、subreddit 帖子,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 Reddit 帖子信息采集 Builder 任务,支持 reddit_posts_by-url、reddit_posts_by-keywords 和 reddit_posts_by-subredditurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Reddit URL 或 subreddit URL。reddit_posts_by-url 默认值为 https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/;reddit_posts_by-subredditurl 默认值为 https://www.reddit.com/r/battlefield2042。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | Reddit 关键词,该参数用于指定采集 Reddit 帖子的搜索关键词。用于 reddit_posts_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| sort_by | No | 排序方式,该参数用于指定采集帖子的排序方式。用于 reddit_posts_by-subredditurl,可选值:Hot、Top、New、Rising,默认值为 Rising。 | Rising |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:reddit_posts_by-url、reddit_posts_by-keywords、reddit_posts_by-subredditurl。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| num_of_posts | No | 最大帖子数,该参数用于指定采集帖子的最大数量。用于 reddit_posts_by-keywords 和 reddit_posts_by-subredditurl,默认值为 10。 | 10 |
| sort_by_time | No | 时间排序,该参数用于指定采集帖子的时间排序方式。用于 reddit_posts_by-subredditurl,可选值:Now、Today、This Week、This Month、This Year、All Time,默认值为 Now。 | Now |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the safety profile is partly covered. The description adds one useful behavioral fact - the call submits an asynchronous task rather than returning data directly - but omits credit cost, rate limits, and the follow-up retrieval flow, so it adds only modest value.
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 purpose sentence is front-loaded and useful, but the opening sentence is a trigger-keyword enumeration ('Reddit 帖子、Reddit posts、subreddit 帖子' plus a list of verbs) that is largely redundant filler. Structure is acceptable but not tight.
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 7-parameter async task-submission tool with no output schema, the description covers purpose and mode selection but omits the essential workflow context - that a submitted task must later be polled via scraper_task_status/scraper_task_result. With annotations covering safety and the schema covering all parameters, this gap is the main missing piece.
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 every parameter including the spider_id enum, sort_by values and mode-specific applicability is already documented. The description merely restates the three spider_id modes already present in the schema, adding no syntax or format detail beyond it, so the baseline of 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 names a specific verb+resource: it submits a Reddit post-collection Builder task ('提交 Reddit 帖子信息采集 Builder 任务') and enumerates the three spider modes it supports. This lets an agent identify it as the Reddit-post scraping entry point, though it never distinguishes itself from the sibling reddit_comment tool.
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 gives trigger conditions (user needs Reddit/subreddit post info combined with collect/scrape/get verbs), which implies when to use it. However it offers no explicit exclusions and never contrasts against alternatives such as reddit_comment or the generic scraper task tools, leaving the selection decision partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_web_unlockerBDestructiveInspect
调用 Dataify 通用采集 API,输入任意 URL,智能识别 CAPTCHA、自动执行 JS 渲染,返回完整 PNG 截图或 HTML 源码。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 解锁网址,必填项调用方必须提供非空值,不使用默认值。 | |
| type | No | 输出格式。可选择 HTML 和/或 PNG 格式,多选时同时返回。HTML 为 html,PNG 为 png,多个使用 , 分隔。默认是 html | html |
| wait | No | 等待(毫秒)。页面加载后额外等待的时间(毫秒)。 | |
| cookies | No | 自定义请求 Cookies。添加自定义 Cookies。例如 {"aaa":"bbb"} | |
| country | No | 国家。选择代理所在国家/地区。例如 cn,默认值 us | us |
| headers | No | 自定义请求 Headers。添加自定义 HTTP 请求头。例如 {"aaa":"bbb"} | |
| wait_for | No | 等待选择器。等待指定的 CSS 选择器出现后再返回内容。 | |
| js_render | No | JS 渲染。参数支持动态内容、单页应用(SPA)和复杂交互,建议开启。输出格式为 html 格式时可选,开启为 True,关闭为 False。默认是 True,PNG 格式时为 True | True |
| clean_content | No | 清理内容。清除返回内容中的 JS 或 CSS 代码。javascript 为 javascript,CSS 为 css,多个使用 , 分隔。默认值为 "" | |
| block_resources | No | 阻止资源。阻止加载指定类型的资源,加快采集速度。javascript 为 javascript,CSS 为 css,多个使用 , 分隔。默认值为 "" | |
| follow_redirect | No | 跟随重定向。开启后将自动跟随 HTTP 重定向(301/302)。开启为 True,关闭为 False,默认值 True | True |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real behavioral context beyond the annotations: CAPTCHA solving, automatic JS rendering, and dual PNG/HTML output. Against readOnlyHint=false/destructiveHint=true/openWorldHint=true it does not reconcile the 'destructive' hint (the tool reads external pages rather than mutating state), and it is silent on cost/credits, rate limits, auth, and whether the call is synchronous or returns a task id — notable given the web_unlock_task / scraper_task_result siblings.
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 front-loaded sentence covering purpose, capabilities, and return format with no filler. It is efficiently sized, though the packed clause chain offers no visual structure for scanning.
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 an 11-parameter tool with no output schema, the description covers purpose but leaves the return shape underspecified (how PNG/HTML is delivered, single vs multi-select behavior), and does not mention the async task workflow hinted at by web_unlock_task/scraper_task_result. Adequate but with clear gaps.
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 11 well-documented parameters, so the schema already carries parameter meaning and the baseline is 3. The description only echoes URL input and the html/png output choice, adding no syntax, precedence, or interaction details (e.g. how js_render interacts with type=png) beyond the schema.
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 gives a specific verb+resource ('调用 Dataify 通用采集 API' / scrape an arbitrary URL) and states the outputs (PNG screenshot or HTML source), so an agent knows exactly what it does. It also implicitly positions itself as the generic, any-URL collector versus the many site-specific siblings (amazon_product, google_search), but never says so 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?
'输入任意 URL' and the CAPTCHA/JS-rendering framing imply this is the fallback path for pages not covered by a dedicated site scraper. However, no when-to-use/when-not rule is stated, and no sibling (e.g. scraper_serp_tools, google_search) is named as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scraper_serp_productsCDestructiveInspect
查询 Dataify 网页采集和 SERP 的产品列表信息。
| Name | Required | Description | Default |
|---|---|---|---|
| scraperType | No | 产品类型: -1 全部,0 网页抓取,1 SERP |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the tool as a read/query ('查询…产品列表信息'), while the annotations declare readOnlyHint=false and destructiveHint=true. This is a direct conflict: the text promises a passive information lookup that the annotations say can mutate state. No additional behavioral context is supplied to reconcile the two.
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 front-loaded sentence with no filler; the resource being queried comes first. It is efficient, though it is arguably under-specified rather than truly concise given the missing usage and safety context.
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-optional-param list tool with a complete schema and no output schema, the description is minimally adequate. However, the unexplained mismatch with the destructive annotations and the absence of any routing guidance against the many sibling scraper tools leave real gaps.
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% and the single scraperType parameter is fully documented with its -1/0/1 enum meanings in the schema itself. The description adds nothing about parameters, so the baseline 3 applies since the schema carries the load.
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 gives a specific verb (查询/query) and resource (Dataify's web-scraping and SERP product list information), so an agent understands it returns a catalogue of Dataify offerings. It does not, however, differentiate itself from near-neighbour siblings such as scraper_serp_tools or scraper_serp_statistics.
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 statement of when to call this versus the other scraper_* siblings, no prerequisites, and no exclusions. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scraper_serp_statisticsCDestructiveInspect
根据产品 ID、工具 ID 和时间范围统计 Dataify 网页采集与 SERP 采集的成功次数、失败次数、成功率、平均响应时间、P50/P90 响应时间和消耗积分。
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 查询时间范围结束时间,秒级时间戳;缺失或为 0 时默认为当前时间秒值 | |
| start | No | 查询时间范围开始时间,秒级时间戳;缺失或为 0 时默认为当前日期 00:00:00 减去 7 天的秒值 | |
| crawlerId | No | 工具 ID;0 表示全部工具 | |
| productId | No | 产品 ID;0 表示全部产品 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes a pure read/aggregation operation (computing success counts, rates, percentiles, and consumed credits), yet the annotations declare readOnlyHint=false, destructiveHint=true and idempotentHint=false. This is the opposite safety profile from what the described behavior implies, creating an Annotation Contradiction; the description itself adds nothing about auth, rate limits, or scoping.
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 front-loaded sentence that names the aggregation scope first and the returned metrics last, with no filler. It is slightly long because it enumerates every metric, but each item earns its place given there is no output schema.
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 no output schema, the description does usefully list the returned fields, which is the right thing to do here. However, it never states the aggregation granularity (overall vs. per-day/per-tool), the credit unit, or the failure/empty-result behavior, and the annotation mismatch leaves the safety profile effectively undocumented.
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%, so the schema already explains that start/end are second-level timestamps with 7-day/now defaults and that 0 means 'all'. The description only names the parameter categories (product ID, tool ID, time range) and adds no syntax, unit, or boundary detail beyond the schema, 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 states a specific verb (统计/aggregate) and resource (Dataify 网页采集与 SERP 采集 statistics) and enumerates the exact metrics produced, so an agent knows precisely what this returns. It does not, however, differentiate itself from the nearest sibling, web_unlock_statistics, which also reports collection statistics.
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 when-to-use guidance, no statement of prerequisites, and no routing to alternatives such as web_unlock_statistics or scraper_task_list. An agent must infer usage entirely from the name and the parameter list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scraper_serp_toolsCDestructiveInspect
根据 Dataify 网页采集或 SERP 产品 ID 查询工具列表和积分价格。
| Name | Required | Description | Default |
|---|---|---|---|
| productId | Yes | 产品 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes a lookup/query operation ('查询工具列表和积分价格'), which is inherently a read, yet the annotations declare readOnlyHint=false and destructiveHint=true. This is a direct conflict between stated behavior and the safety profile, so the description misleads rather than informs.
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 front-loaded sentence with no filler. It is appropriately sized, though its compressed phrasing makes the split between 'web scraping' and 'SERP' product IDs slightly ambiguous.
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?
There is no output schema, so the description must explain what is returned; it only gestures at 'tool list and credit price' without clarifying units, currency, or the shape of the tool list. Combined with the annotation contradiction, the definition is not sufficient to call the tool confidently.
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?
With one parameter and 100% schema description coverage, the schema already documents productId fully. The description restates that a product ID drives the lookup but adds no format, valid-range, or source (Dataify scraping vs SERP) distinction beyond what the schema provides.
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 names a specific action and resource: querying the tool list and credit price for a given Dataify web-scraping or SERP product ID. An agent can tell what it returns, but there is no differentiation from closely named siblings such as scraper_serp_products, scraper_serp_statistics, or scraper_task_list.
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 choose this tool versus scraper_serp_products (which likely lists products) or the other scraper_* siblings, and no prerequisites or exclusions are stated. The agent must infer usage purely from the wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scraper_task_listCDestructiveInspect
根据任务 ID、工具名称、类型、状态和时间范围查询 Dataify 网页采集与 SERP 采集任务。
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 查询时间范围结束时间,秒级时间戳;缺失或为 0 时默认为当前时间秒值 | |
| page | No | 当前页,默认 1 | |
| type | No | 类型: 0 全部,1 SERP 采集,2 网页采集 | |
| start | No | 查询时间范围开始时间,秒级时间戳;缺失或为 0 时默认为当前日期 00:00:00 减去 7 天的秒值 | |
| status | No | 任务状态: 0 全部,-1 处理中,200 成功,400 失败 | |
| keyword | No | 按任务 ID 或工具名称查询,可选调用方必须提供非空值,不使用默认值。 | |
| pageSize | No | 每页数据量,默认 10,最大 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description characterizes the operation as a 查询 (query/list) task, a non-mutating read, while the annotations declare readOnlyHint=false, destructiveHint=true and non-idempotent. This directly contradicts the read-only semantics implied by the description, and the description supplies no behavioral context (auth, side effects, rate limits) to clarify the discrepancy.
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-formed sentence that front-loads the verb and filter dimensions with zero padding or redundancy. Nothing needs to be trimmed.
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 list/query tool with no output schema, the description covers the resource and all filter dimensions, and the schema fully documents the 7 parameters including defaults and bounds. The main gap is that it offers no guidance on result shape or how to page through large result sets, but overall it is close to 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%, so every parameter (end, page, type, status, keyword, pageSize) is already documented in the schema. The description restates the same filter dimensions without adding syntax, defaults, or value semantics beyond what the schema already provides, so the baseline of 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 states a specific verb (查询/query) plus a concrete resource (Dataify 网页采集与 SERP 采集任务) and enumerates the filter dimensions (task ID, tool name, type, status, time range). It is far more specific than a tautology, though it does not explicitly distinguish itself from nearby siblings like scraper_task_status or scraper_task_result.
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 explicit when-to-use, when-not-to-use, or alternative-tool guidance. The reader can only infer that this lists tasks, but nothing tells them to prefer it over scraper_task_status or scraper_task_result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scraper_task_resultBDestructiveInspect
仅当 Dataify 抓取工具任务状态为成功时,根据任务 ID 获取 JSON 结果;任务处理中或失败时请先等待或检查任务状态。
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | 创建网页采集 Builder 任务时返回的任务 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, but the description frames this purely as a passive retrieval ('获取 JSON 结果') with no mention of destruction, consumed results, or non-repeatability. An agent reading the text would expect a safe, repeatable read, directly conflicting with the structured safety profile. This is an Annotation 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?
A single front-loaded sentence that leads with the precondition and then the fallback action; no filler or repetition. However, its brevity comes at the cost of omitting the side-effect information mandated by the annotations.
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?
There is no output schema, so the description should say something about what the 'JSON 结果' contains or how large/paginated it is, and it does not. It does cover the essential gating logic, but it omits both the return content and the destructive side effect implied by the annotations, leaving notable gaps for a retrieval tool of this kind.
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% and the single task_id parameter is fully documented in the schema ('创建网页采集 Builder 任务时返回的任务 ID'). The description only restates '根据任务 ID' without adding format, source, or validity guidance, so the baseline of 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 names a specific verb and resource in Chinese: retrieve the JSON result for a task by task ID, gated on the task having succeeded. It is clearly distinguishable from scraper_task_status/scraper_task_list because it explicitly defers the non-success cases to status checking. It stops short of naming those sibling tools directly, so it is a 4 rather than a 5.
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 gives an explicit precondition ('仅当...任务状态为成功时') and an explicit else-branch ('任务处理中或失败时请先等待或检查任务状态'), which is real when-to-use/when-not guidance. It does not name scraper_task_status by name, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scraper_task_statusBDestructiveInspect
根据任务 ID 查询 Dataify 抓取工具 任务状态,返回处理中、成功或失败。
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | 创建网页采集 Builder 任务时返回的任务 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, openWorldHint=true, which is surprising for what reads like a read-only status query. The description contradicts this by describing a passive lookup. No permission or rate-limit context is given, and the non-idempotent/destructive annotation is unexplained.
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 front-loaded sentence that names the parameter, the operation, and the return values with zero padding.
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?
No output schema exists, so the description should explain the return shape, but it only names three status values without describing the response structure. More importantly, the destructive/non-idempotent annotations are left unexplained, which is a real gap for an agent deciding whether to call this.
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%, so the single task_id parameter is fully documented in the schema. The description adds no format, sourcing, or example detail beyond what the schema provides.
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?
States a specific verb (查询/query) and resource (任务状态/task status) keyed by task ID, and enumerates the possible return states (处理中、成功、失败). This clearly distinguishes it from siblings scraper_task_list and scraper_task_result which handle listing and results.
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 this is a polling/status-check tool but does not explicitly say when to use it versus alternatives like scraper_task_result or scraper_task_list. The usage context is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_commentBDestructiveInspect
当用户需要 TikTok 评论信息、Tiktok 评论信息、TikTok 帖子评论、Tiktok 视频评论、TikTok comment,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 TikTok 评论信息采集 Builder 任务,采集器标识固定为 tiktok_comment_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok 帖子 URL,该参数用于指定待采集的 TikTok 具体帖子网址。用于 tiktok_comment_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| page_turning | No | 页数限制,该参数用于指定采集结果数量的限制(请输入页数)。用于 tiktok_comment_by-url,可选参数,默认值为 1。 | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds that this is a Builder task submission with a fixed collector identifier, which is useful operational context, but it does not explain authentication, rate limits, or what the destructive implication actually means.
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 second sentence is a clear purpose statement, but the first sentence is a long, repetitive keyword trigger list with case variants (TikTok/Tiktok) and several near-synonyms. The purpose is not front-loaded, and the trigger list could be shorter while still preserving retrieval 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?
For a task-submission tool with no output schema, the description should explain what happens after submission, such as returning a task ID that can be used with scraper_task_status or scraper_task_result. It only says the task is submitted and never describes the response or next steps, leaving a significant gap for an agent trying to complete the workflow.
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%, so the schema already documents all three parameters thoroughly. The description does not add any parameter-level meaning beyond the schema; mentioning the collector identifier is operational context rather than a parameter explanation.
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 and resource: submit a TikTok comment collection Builder task with a fixed collector identifier (tiktok_comment_by-url). This clearly distinguishes it from tiktok_posts and tiktok_profiles, though it does not explicitly contrast with sibling comment tools like youtube_comment or instagram_comment.
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 lists trigger conditions: when the user needs TikTok comment information combined with verbs such as collect, scrape, crawl, obtain, or extract. No alternative tools are named and no when-not conditions are given, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_postsBDestructiveInspect
当用户需要 TikTok 帖子信息、Tiktok 帖子信息、TikTok 视频帖子、Tiktok 列表帖子、TikTok posts,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 TikTok 帖子信息采集 Builder 任务,采集器标识固定为 tiktok_posts_by-listurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL,此参数用于指定要获取的列表 URL。用于 tiktok_posts_by-listurl。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| num_of_posts | No | Tiktok帖子数量,该参数用于指定收集的帖子数量,缺失值表示没有限制。用于 tiktok_posts_by-listurl,默认值为 5。 | 5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds one useful behavioral fact: that this is an asynchronous 'Builder' task submission rather than a direct fetch. It does not disclose what the task returns, whether a task ID must be polled via scraper_task_status, or any rate/credit implications, so the value added is modest.
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 first sentence is heavy keyword stuffing, repeating near-identical phrases ('TikTok 帖子信息, Tiktok 帖子信息, TikTok 视频帖子...'), which crowds out the actual purpose. The real functional statement ('submits a Builder task...') is buried in the second sentence rather than front-loaded.
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 no output schema and three parameters, the description should clarify the task lifecycle, but it stops at 'submit a Builder task'. An agent is left unsure whether the call returns data directly or only a task handle requiring a follow-up status/result query, which is a meaningful gap for an async scraping tool.
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%, so all three parameters (url, file_name, num_of_posts) are already documented with defaults and semantics. The description only echoes the collector identifier and adds no format or constraint detail beyond the schema, 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 states a specific verb and resource: it submits a TikTok posts collection 'Builder' task and pins the collector identifier as tiktok_posts_by-listurl. This clearly tells an agent what the tool does. However, it never distinguishes itself from closely related siblings like tiktok_profiles or tiktok_comment, so sibling differentiation is absent.
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 trigger conditions via keyword combinations ('collect/scrape/crawl/fetch' + 'TikTok posts'), which implies when to invoke. But it offers no when-not-to-use guidance and names no alternative tool (e.g., tiktok_profiles for profile data), leaving the agent to infer boundaries against a large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_profilesBDestructiveInspect
当用户需要 TikTok 个人资料信息、Tiktok 个人资料信息、TikTok 用户资料、Tiktok 创作者资料、TikTok profiles,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 TikTok 个人资料信息采集 Builder 任务,支持 tiktok_profiles_by-url 和 tiktok_profiles_by-listurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | TikTok 个人资料URL,该参数用于指定待采集的 TikTok 个人资料网址。用于 tiktok_profiles_by-url。调用方必须提供非空值,不使用默认值。 | |
| country | No | 国家,该参数用于指定要搜索的国家。接口按文档示例取值,默认值为 us。 | us |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:tiktok_profiles_by-url、tiktok_profiles_by-listurl。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| search_url | No | TikTok搜索URL,该参数用于指定待采集的 TikTok 搜索结果网址。用于 tiktok_profiles_by-listurl。调用方必须提供非空值,不使用默认值。 | |
| page_turning | No | 页数限制,该参数用于指定采集结果数量的限制(请输入页数)。用于 tiktok_profiles_by-listurl,默认值为 1。 | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, so the safety profile is covered. The description adds that a Builder task is submitted and that one tool serves two modes, which is mildly useful, but it does not explain async task behavior, how results are retrieved, or what 'destructive' means here. 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 first sentence is keyword-stuffed with near-identical synonyms ('TikTok 个人资料信息、Tiktok 个人资料信息' differ only in capitalization), which is pure padding. The useful content (submit a profile Builder task, two modes) is confined to the second sentence, so signal is diluted.
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 six-parameter scraping submission tool with no output schema, the description covers purpose, trigger, and mode selection adequately. It omits the async task lifecycle and how to fetch results (e.g., via scraper_task_result/status siblings), which an agent would need to complete the workflow.
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%, so the schema already documents all six parameters, including the spider_id enum. The description only restates the two spider_id values, adding no syntax, format, or interaction detail beyond the schema. 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 second sentence states a specific verb and resource: submitting a TikTok profile-info collection Builder task, with two named modes (by-url, by-listurl). This is enough to distinguish it from tiktok_posts and tiktok_comment by resource type. It stops short of explicitly naming those siblings as alternatives.
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 first sentence gives trigger conditions (profile-info terms combined with collect/scrape/fetch verbs), which is a form of when-to-use guidance. However, it offers no when-not-to-use conditions and never names an alternative sibling such as tiktok_posts, leaving the routing decision implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shopBDestructiveInspect
当用户需要 TikTok 商店信息、Tiktok 商店信息、TikTok Shop 信息、TikTok 店铺信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 TikTok 商店信息采集 Builder 任务,采集器标识固定为 tiktok_shop_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok商店URL,该参数用于指定待采集的 TikTok 商店网址。用于 tiktok_shop_by-url。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, openWorldHint=true, idempotentHint=false, readOnlyHint=false – a mutable, non-idempotent, open-world write. The description notes it submits a Builder task and the fixed collector ID, adding task-creation context, but does not disclose side effects, async/non-idempotent duplication risk, or output/result retrieval path (scraper_task_status/result).
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 front-loads a keyword-stuffed trigger list (TikTok 商店信息, Tiktok 商店信息, TikTok Shop 信息, TikTok 店铺信息 plus 采集/抓取/爬取/获取/提取) which is repetitive and adds little decision value. The actual purpose is buried in the trailing sentence, wasting the prime position.
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 task-submission tool with no output schema, the description covers the collector identity and trigger context, and the schema covers both parameters. However, it omits how to retrieve task results, failure behavior, and any auth/rate constraints, leaving gaps for correct invocation of a destructive, non-idempotent 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%, so both url and file_name are already documented in the schema including the default '{{TasksID}}'. The description adds no syntax, format, or behavioral detail beyond the schema, so 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 states a specific action: submitting a TikTok shop info collection Builder task with a fixed collector identifier 'tiktok_shop_by-url'. It distinguishes itself from siblings like tiktok_posts/tiktok_profiles by naming the tiktok_shop collector, though the trigger-phrase preamble is keyword spam rather than a crisp purpose statement.
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?
Usage is implied via trigger-phrase combinations (user needs TikTok shop info plus a scrape/fetch verb), which gives some sense of when to fire. But there is no explicit when-not-to-use or comparison to sibling tools like tiktok_posts or scraper_task_* alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_postBDestructiveInspect
当用户需要 Twitter 帖子、Twitter(X) 帖子信息、X 帖子、X 平台帖子,与采集、抓取、爬取、获取、提取等动词组合时触发。Twitter 已更名为 X。提交 Twitter(X) 帖子信息采集 Builder 任务,采集器标识固定为 twitter_post_by-profileurl。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitter 个人资料 URL,该参数用于指定采集 Twitter 个人资料的 URL。用于 twitter_post_by-profileurl。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true). The description adds meaningful behavioral context beyond them: this is an asynchronous 'Builder task' submission with a fixed collector identifier. It still omits how results are retrieved and any auth/rate-limit context, so it is useful but incomplete.
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 heavy trigger-keyword preamble consumes most of the text before the actual purpose appears, and the 'Twitter 已更名为 X' note adds little for invocation. The operative sentence (the Builder task submission) is effectively buried, making the description keyword-stuffed rather than front-loaded.
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 an async task-submission tool with no output schema, the description should tell the agent the task is asynchronous and where results land (scraper_task_status / scraper_task_result). It stops at 'submit the task,' so a caller lacks the follow-through, even though the annotations cover the safety surface.
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%, so both parameters are already documented in the schema. The description only reiterates that a profile URL is used for the by-profileurl collector, adding no syntax, format, or constraint detail beyond what the schema provides. 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 states a specific action ('提交 Twitter(X) 帖子信息采集 Builder 任务') on a specific resource (Twitter posts) and gives the fixed collector identifier (twitter_post_by-profileurl). However, it never differentiates itself from the sibling twitter_profile, and the name/resource mismatch (a 'post' tool that ingests a profile URL) is only resolved by the collector id, so the purpose is clear but not sibling-differentiated.
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 lists trigger keywords (posts + collect/scrape/crawl/fetch/extract verbs), which gives implied usage intent and helps keyword routing. But it offers no explicit when-not guidance and does not point to alternatives such as twitter_profile or the scraper_task_* result tools, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_profileADestructiveInspect
当用户需要 Twitter 个人资料、Twitter(X) 个人资料、X 个人资料、X 用户资料,与采集、抓取、爬取、获取、提取等动词组合时触发。Twitter 已更名为 X。复用一个工具提交 Twitter(X) 个人资料采集 Builder 任务,支持 twitter_profile_by-profileurl 和 twitter_profile_by-username。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Twitter 个人资料 URL,该参数用于指定采集 Twitter 个人资料的 URL。用于 twitter_profile_by-profileurl。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:twitter_profile_by-profileurl、twitter_profile_by-username。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| user_name | No | Twitter 用户名,该参数用于指定待采集的 Twitter 的个人资料用户名。用于 twitter_profile_by-username。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false, so the safety profile is covered structurally. The description adds that the tool submits a Builder task (consistent with a non-read-only operation) and reuses one tool across two modes, but says nothing about auth needs, rate limits, async behavior, or what happens to existing data, so it adds only modest value.
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 opening enumerates near-synonymous trigger nouns (Twitter 个人资料 / Twitter(X) 个人资料 / X 个人资料 / X 用户资料) and a verb list, which is repetitive padding before the substantive sentences about the Builder task and the two modes. The genuinely useful content is present but not front-loaded.
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 no output schema and an asynchronous task-submission model, the description should tell the agent what is returned and how to follow up (e.g. via scraper_task_status / scraper_task_result), yet it omits this entirely. The purpose and trigger conditions are adequately covered, but the task lifecycle is left implicit despite relevant sibling tools existing.
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% and regex detail is already in the schema, so the baseline is 3. The description reiterates the two spider_id modes but adds no syntax or format guidance beyond what the enum and per-parameter descriptions already provide.
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 resource (Twitter/X profile) and clarifies the tool submits a profile-collection Builder task, naming the two supported modes (twitter_profile_by-profileurl and twitter_profile_by-username). It distinguishes itself from the sibling twitter_post by being profile-scoped, but never explicitly names that sibling, so it stops short of a 5.
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 gives explicit trigger conditions — fire this when the user combines a Twitter/X profile request with verbs like 采集/抓取/爬取/获取/提取 — which is concrete usage guidance. However it offers no when-not-to-use or explicit routing away from twitter_post / other *_profiles tools, so it lacks the exclusion half of the guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
walmart_productADestructiveInspect
当用户需要 Walmart 产品信息、Walmart 商品信息、Walmart 产品详情、Walmart 商品列表、Walmart product,与采集、抓取、爬取、获取、提取等动词组合时触发。从 walmart.com 提取商品列表、售价区间、品类分类、库存状态、配送方式、用户评价等数据。复用一个工具提交 Walmart 产品信息采集 Builder 任务,支持 walmart_product_by-url、walmart_product_by-category-url、walmart_product_by-sku 和 walmart_product_by-keywords。
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | SKU,该参数用于指定待采集的 SKU 产品唯一代码。用于 walmart_product_by-sku。调用方必须提供非空值,不使用默认值。 | |
| url | No | Walmart URL,该参数用于指定待采集的 Walmart 产品 URL。用于 walmart_product_by-url。调用方必须提供非空值,不使用默认值。 | |
| domain | No | 主域名,该参数用于指定采集 Walmart 产品信息的主域名。用于 walmart_product_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | 关键词,该参数用于指定采集的搜索关键词。用于 walmart_product_by-keywords。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:walmart_product_by-url、walmart_product_by-category-url、walmart_product_by-sku、walmart_product_by-keywords。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| category_url | No | 类别URL,该参数用于指定 Walmart 的特定类别网址来查找新产品。用于 walmart_product_by-category-url。调用方必须提供非空值,不使用默认值。 | |
| page_turning | No | 页数限制,该参数用于指定采集结果数量的限制(请输入页数)。walmart_product_by-category-url 默认 1;walmart_product_by-keywords 默认 2。 | |
| all_variations | No | 所有变体,该参数用于指定是否收集所有产品变量,设置为 true 为收集。参数值为 true 或 false;walmart_product_by-url 默认 true,其余采集器默认 false。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (destructiveHint=true, openWorldHint=true, idempotentHint=false, readOnlyHint=false), and no contradiction is evident since the tool creates a Builder collection task rather than being a pure read. The description adds that extraction happens against walmart.com and that one tool multiplexes four modes, but it does not disclose rate limits, auth requirements, or that the call is asynchronous and its results must be fetched separately.
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 definition is front-loaded with purpose and mode list, and the second and third sentences each carry information. The opening trigger clause, however, is heavy keyword duplication (Walmart 产品信息 / Walmart 商品信息 / Walmart 产品详情 / Walmart 商品列表 are near-synonyms), padding the length without adding distinguishing 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?
For a nine-parameter scraping-task submission tool with no output schema, the description omits what the call returns (presumably a task identifier) and how to obtain results, even though sibling tools scraper_task_status and scraper_task_result exist for exactly that purpose. It also does not state which mode-specific parameters become mandatory per spider_id, leaving a real operational 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%, so the meaning of sku, url, category_url, keyword, page_turning, all_variations and file_name is already fully documented per-parameter and keyed to specific modes. The description only restates the four spider_id values, adding no format or interaction detail beyond the schema, which matches the baseline for a fully documented parameter set.
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 resource and action: extract Walmart product listings, price ranges, categories, stock status, shipping methods and reviews from walmart.com, and it names the four collection modes it fronts (by-url, by-category-url, by-sku, by-keywords). This cleanly separates it from siblings such as amazon_product, ebay_info or google_shopping, so an agent can identify it without opening the schema.
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 opening sentence gives an explicit trigger condition (user asks for Walmart product data combined with collect/scrape/crawl/get/extract verbs), which is actionable when-to-use guidance. However, it names no alternatives (e.g. amazon_product for Amazon, scraper_task_status for retrieving results) and states no when-not-to-use conditions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_unlock_statisticsBDestructiveInspect
根据时间范围统计 Dataify 通用采集 API 的成功次数、失败次数、成功率、平均响应时间、P50/P90 响应时间和消耗积分。
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 查询时间范围结束时间,秒级时间戳;缺失或为 0 时默认为当前时间秒值 | |
| start | No | 查询时间范围开始时间,秒级时间戳;缺失或为 0 时默认为当前日期 00:00:00 减去 7 天的秒值 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations do exist, but readOnlyHint=false, destructiveHint=true and idempotentHint=false are inconsistent with a statistics/aggregation query, and the description does nothing to clarify this. It also omits any behavioral context such as whether results are account-scoped, what granularity is returned, or whether the call has side effects — the enumerated metrics describe the response, not the behavior.
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 front-loaded sentence that opens with the aggregation verb and time scope, then lists the returned metrics. Nothing is padded or redundant.
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 no output schema, the description usefully enumerates the metrics returned, and the schema fully covers both optional parameters and their defaults. What is missing is usage context — the default lookback window and when this tool is preferable to other statistics/usage siblings — but for a two-parameter reporting call the essentials are present.
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%: both start and end are documented in the schema with their second-level timestamp format and their exact defaults (0/absent = now, and now minus 7 days at 00:00:00). The description only restates '根据时间范围', adding no format or default 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 gives a specific verb (统计) and a precisely scoped resource: the Dataify 通用采集 API's success count, failure count, success rate, average response time, P50/P90 latency and credits consumed, filtered by time range. This is clearly distinguishable from data-fetching siblings such as amazon_product or web_unlock_task, though it never names a sibling outright.
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 statement of when to use this tool, when not to, or what the alternatives are (e.g., scraper_serp_statistics for a different product family, or query_user_usage for account-level usage). The reader must infer that this is the reporting endpoint for the web-unlock product.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_unlock_taskCDestructiveInspect
查询 Dataify 通用采集 API 的任务状态、消耗明细和用户累计统计。
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 查询时间范围结束时间,秒级时间戳;缺失或为 0 时默认为当前时间秒值 | |
| page | No | 当前页,默认 1 | |
| start | No | 查询时间范围开始时间,秒级时间戳;缺失或为 0 时默认为当前日期 00:00:00 减去 7 天的秒值 | |
| status | No | 任务状态: -1 全部,0 成功,1 失败 | |
| keyword | No | 搜索的任务 ID 或域名,可选调用方必须提供非空值,不使用默认值。 | |
| pageSize | No | 每页数据量,默认 10,最大 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description presents a pure query/read operation (查询), while annotations declare readOnlyHint=false and destructiveHint=true. That is a direct contradiction, so the description actively misleads about the tool's behavioral profile. It also provides no compensating detail about permissions, side effects, or safety.
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 filler. It states the resource and scope immediately and does not waste 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 six optional parameters, no output schema, and annotations that conflict with the described read-only behavior, the description is too thin. It does not resolve the destructive/read-only ambiguity, does not explain what the returned status, consumption, or statistics contain, and gives no operational 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?
Schema description coverage is 100%, and all six parameters are documented in the schema with defaults, ranges, and meanings. The description adds no parameter-level meaning beyond what the schema already provides, 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 gives a specific verb (查询/query) and concrete resources (task status, consumption details, and user cumulative statistics) for the Dataify general collection API. It is clear what the tool does, but it does not differentiate itself from siblings such as web_unlock_statistics, scraper_task_status, or query_user_usage.
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 states what can be queried but gives no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. Any usage context must be inferred from the resource names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yandex_searchBDestructiveInspect
当用户需要通过 Yandex 搜索公开网页信息,或面向 Yandex 搜索场景按关键词、地区、语言等条件获取搜索结果时触发。
| Name | Required | Description | Default |
|---|---|---|---|
| p | No | 该参数定义页码。分页从 0 开始。 | 0 |
| lr | No | 该参数定义将搜索结果限制在的国家或地区 ID。 | |
| json | No | 该参数定义采集结果的输出格式;可选择 JSON、HTML(支持下载)格式,默认为 JSON;1 返回 JSON,2 返回 JSON+HTML,3 返回 HTML,4 返回 Light JSON。 | 1 |
| lang | No | 该参数定义 Yandex 搜索要使用的语言。当 yandex_domain 为 yandex.com 时,默认为 en。 | en |
| text | Yes | 该参数定义搜索查询。您可以使用常规 Yandex 搜索中使用的任何内容。调用方必须提供非空值,不使用默认值。 | |
| fix_typo | No | 该参数启用或禁用自动拼写纠正。可设置为 true 或 false。默认为 true。 | true |
| no_cache | No | 默认情况下,5 分钟内缓存相同参数的搜索结果;将 no_cache 设为 true 可跳过缓存,设为 false(默认)则使用缓存结果;缓存搜索免费,且不计入搜索统计。 | false |
| family_mode | No | 该参数启用或禁用家庭模式(安全搜索)。可设置为:0 - 关闭,1 - 中等,2 - 严格。默认为 1(中等)。 | 1 |
| yandex_domain | No | 该参数定义要使用的 Yandex 域名。默认为 yandex.com。可用值:yandex.com、yandex.ru、ya.ru、yandex.by、yandex.kz、yandex.uz、yandex.com.tr、yandex.az、yandex.com.ge、yandex.com.am、yandex.co.il、yandex.md、yandex.tm、yandex.tj、yandex.eu。 | yandex.com |
| groups_on_page | No | 该参数定义单页结果上显示的最大群组数。默认为 10。 | 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注解声明了 destructiveHint=true 和 readOnlyHint=false,但描述没有解释为什么搜索工具具有破坏性,也未涉及认证、使用限制或成本。它只增加了地区/语言过滤上下文,并未在注解之外提供任何明确的行为信息。
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?
单句格式直接说明工具及其触发条件,没有冗余。虽然略显简略,但每个部分都发挥了作用。
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?
对于一个涉及十参数的搜索工具,具有开放世界和破坏性注解且没有输出模式,描述缺少关键信息:返回什么内容、结果如何分页、是否存在使用限制,或者为什么该工具标记为破坏性。它并不可靠地完整。
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?
模式描述覆盖率为 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?
描述清楚地说明了该工具通过 Yandex 执行网页搜索,并按关键词、地区、语言进行过滤。它隐含地将自己与兄弟搜索工具(google_search、bing_search、duckduckgo_search)区分开来,但没有明确表达这种区别。
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?
描述指定了触发条件(当用户需要 Yandex 公开网页搜索时),这比完全没有指导要好,但它从未指出何时应使用 Yandex 而不是其他兄弟搜索引擎,也没有排除任何情况。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_audioBDestructiveInspect
当用户需要 YouTube 音频文件、YouTube 音频下载、YouTube audio file、音频文件,与采集、抓取、爬取、获取、提取、下载等动词组合时触发。提交 YouTube 音频文件采集 Builder 任务,采集器标识固定为 youtube_audio_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URLs,该参数用于指定待采集的访问 URL 地址。用于 youtube_audio_by-url。调用方必须提供非空值,不使用默认值。 | |
| bitrate | No | 比特率,按比较符和码率值组装。比较符为 <= 或 >=,码率可选 48、64、128、160、256、320,默认值为 <=320。 | <=320 |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| kilohertz | No | 千赫兹,按比较符和 typeValue 组装。比较符为 <= 或 >=,typeValue 可选 48000、44100、32000、22500、16000、8000,默认值按文档传参示例为 <=48000。 | <=48000 |
| audio_format | No | 音频格式,参数值取 typeValue。可选 opus、m4a,默认值为 opus。 | opus |
| is_subtitles | No | 是否需要字幕。参数值为 true 或 false,默认值为 false。 | false |
| selected_only | No | 是否仅下载已选规格。true 表示没有符合要求的规格则不下载;false 表示没有符合要求的规格时按 YouTube 支持的默认规格继续下载。默认值为 false。 | false |
| subtitles_language | No | 字幕语言,该参数定义了采集 YouTube 时下载字幕的语言。按文档示例提交语言 typeValue,例如 ab、en、zh-Hans、zh-Hant,默认值为 ab。 | ab |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, covering the safety profile. The description adds that this submits an asynchronous Builder task, but omits what happens to prior data, whether auth/keys are required, or how results are retrieved. Some added context but several gaps remain.
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 sentences, front-loaded with trigger conditions followed by the task/collector detail. The keyword enumeration is somewhat verbose, but nothing is wasted and the structure is 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?
For an 8-parameter, task-submitting tool with no output schema, the description covers the trigger and collector but does not explain the task lifecycle — whether it returns a task ID, how long it runs, or how the agent retrieves results via siblings like scraper_task_status/scraper_task_result. Adequate but incomplete.
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%, so all eight parameters (bitrate, kilohertz, audio_format, subtitles fields, etc.) are already documented. The description adds no parameter-level meaning beyond the schema; the 'youtube_audio_by-url' collector identifier is not a parameter. 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 states a concrete action — submitting a YouTube audio collection Builder task with a fixed collector identifier (youtube_audio_by-url) — which is specific and actionable. It distinguishes the resource (audio files) from the many scraper siblings, though it never explicitly contrasts against neighbors like youtube_video or youtube_transcript.
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 provides trigger conditions (user wants YouTube audio combined with verbs like collect/scrape/download), which gives implied usage context. However, it names no alternatives and gives no when-not guidance, leaving the agent to infer why this tool over youtube_video or youtube_transcript.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_commentBDestructiveInspect
当用户需要 YouTube 评论信息、YouTube 视频评论、YouTube 评论列表、YouTube comment、视频评论信息,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 YouTube 评论信息采集 Builder 任务,采集器标识固定为 youtube_comment_by-id。
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | 评论排序方式,该参数用于指定 YouTube 评论排序。用于 youtube_comment_by-id,可选值:Top comments、Newest first,默认值为 Top comments。 | Top comments |
| video_id | Yes | 视频唯一 ID,该参数用于指定待采集的 YouTube 视频的唯一 ID。用于 youtube_comment_by-id。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| load_replies | No | 加载回复,该参数用于指定页面加载回复时用到的时间。用于 youtube_comment_by-id,默认值为 10。 | 10 |
| num_of_comments | No | 评论数量,该参数用于指定需要采集的评论数量。用于 youtube_comment_by-id,默认值为 10。 | 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, covering the safety profile. The description adds that this is an async Builder task submission with a fixed collector ID, which is useful context, but it never explains that the call returns a task handle requiring later polling.
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 informative sentence about submitting the Builder task is well placed, but the leading trigger sentence is a repetitive keyword list ('YouTube 评论信息、YouTube 视频评论、YouTube 评论列表...') that adds little beyond noise. It is not egregiously long but wastes space on redundant synonyms.
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 5-parameter task-submission tool with no output schema, the description conveys the core action but omits the async workflow (task ID return, polling via scraper_task_status/result) that an agent needs to actually use the result. Annotations carry the safety profile, so the remaining gap is the task lifecycle.
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%, so all five parameters (video_id, sort_by, load_replies, num_of_comments, file_name) are already fully documented in the schema. The description adds no additional parameter meaning, so the baseline of 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 second sentence states a specific verb+resource: it submits a YouTube comment collection 'Builder' task with a fixed collector ID (youtube_comment_by-id). This distinguishes it from siblings like youtube_video or youtube_transcript. The first sentence is largely keyword stuffing, but the core purpose is identifiable.
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 first sentence lists trigger conditions (when a user needs YouTube comment info combined with collect/scrape/fetch verbs), which is implied usage context. However, it names no alternatives and gives no exclusions or prerequisites, so it is closer to keyword matching than genuine decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_productCDestructiveInspect
当用户需要 YouTube 视频基本信息、YouTube 视频信息、YouTube 视频详情、YouTube product、视频基础资料,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 YouTube 视频基本信息采集 Builder 任务,采集器标识固定为 youtube_product_by-id。
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | 视频唯一 ID,该参数用于指定待采集的 YouTube 视频的唯一 ID。用于 youtube_product_by-id。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| selected_only | No | 是否仅下载已选规格。true 表示没有符合要求的规格则不下载;false 表示没有符合要求的规格时按 YouTube 支持的默认规格继续下载。默认值为 false。 | false |
| subtitles_type | No | 字幕类型,该参数用于指定采集的字幕是自动生成还是用户上传的。可传 auto_generated 或 uploader_provided,也支持中文:自动生成、用户上传。默认值为 auto_generated。 | auto_generated |
| subtitles_language | No | 字幕语言,该参数定义了采集 YouTube 时下载字幕的语言。按文档示例提交语言 typeValue,例如 ab、en、zh-Hans、zh-Hant,默认值为 ab。 | ab |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, openWorld=true, idempotent=false, so the safety profile is known. The description adds that this submits an asynchronous 'Builder task' rather than returning data inline, which is useful context beyond the annotations, but it omits what the submission returns, whether polling is required, and any rate/permission constraints.
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 opening is keyword-stuffed: 'YouTube 视频基本信息、YouTube 视频信息、YouTube 视频详情、YouTube product、视频基础资料' are near-synonyms stacked for trigger matching, wasting most of the text. The one genuinely informative sentence (the Builder task and fixed collector id) is buried after the 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?
For a destructive, non-idempotent task-submission tool with five parameters and no output schema, the description should explain the async workflow (task id returned, then scraper_task_status/result used to fetch output) and what it produces. It only names the collector identifier, leaving the agent unable to close the loop after 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 description coverage is 100%, so all five parameters are already documented with defaults, enums, and a pattern. The description adds nothing about individual parameters, so baseline 3 is correct.
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 (submitting a YouTube video basic-information collection Builder task) and pins the collector identifier to youtube_product_by-id. However, the name 'youtube_product' conflicts with the described scope ('视频基本信息'), and it never distinguishes itself from siblings like youtube_video or youtube_video_post, leaving the agent unsure which video tool to pick.
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 first sentence supplies trigger conditions (user needs video info combined with verbs like 采集/抓取/爬取/获取/提取), which is genuine usage guidance. But it offers no when-not-to-use and no routing against the many overlapping video siblings, so selection remains ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_profilesBDestructiveInspect
当用户需要 YouTube 个人资料、YouTube 频道资料、YouTube 频道信息、YouTube profile、YouTube 用户信息,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 YouTube 个人资料采集 Builder 任务,支持 youtube_profiles_by-keyword 和 youtube_profiles_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 频道 URL,该参数用于指定待采集的 YouTube 频道的访问 URL 地址。用于 youtube_profiles_by-url。调用方必须提供非空值,不使用默认值。 | |
| keyword | No | YouTube 关键词,该参数用于指定 YouTube 频道进行搜索的关键字。用于 youtube_profiles_by-keyword。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:youtube_profiles_by-keyword、youtube_profiles_by-url。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| page_turning | No | 采集页数,请输入要采集多少页的产品。用于 youtube_profiles_by-keyword,默认值为 1。 | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and non-idempotent, so the safety profile is covered. The description adds that this 'submits a Builder task' (implying an asynchronous task submission rather than an inline result), but it does not disclose how the task's results are later retrieved or any rate/permission constraints. With annotations carrying the mutation profile, 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?
Front-loads the trigger conditions, which is good, but the sentence is a keyword-stuffed list that repeats near-synonyms ('个人资料' / '频道资料' / '频道信息' / '用户信息') without adding meaning. It is reasonably sized but several phrases do not earn their 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 task-submission tool with no output schema and destructive annotations, the description explains the submission step but omits the task lifecycle: it never tells the agent that results are fetched afterwards (e.g. via the scraper_task_status/scraper_task_result siblings). That is a meaningful omission for correct end-to-end use, leaving the definition only minimally 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%, so every parameter (url, keyword, spider_id, file_name, page_turning) is already fully documented in the schema. The description only echoes the two spider_id modes and adds no syntax, format, or mutual-exclusion detail beyond what the schema 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 states a specific verb+resource: submit a YouTube profile collection Builder task, and names its two concrete modes (youtube_profiles_by-keyword, youtube_profiles_by-url). It distinguishes itself from video/comment/audio YouTube siblings by scoping to profiles/channels. It stops short of explicitly contrasting with non-YouTube profile scrapers like instagram_profiles or tiktok_profiles.
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 lists trigger phrases (profile/channel info combined with collect/scrape/extract verbs) which implies when to use it, and pins the two spider_id modes. However there is no when-not guidance and no explicit routing against the many sibling tools; usage is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_transcriptCDestructiveInspect
当用户需要 YouTube 字幕文件、YouTube 字幕、YouTube transcript、视频字幕、字幕下载,与采集、抓取、爬取、获取、提取、下载等动词组合时触发。提交 YouTube 字幕文件采集 Builder 任务,采集器标识固定为 youtube_transcript_by-id。
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | 视频唯一 ID,该参数用于指定待采集的 YouTube 视频的唯一 ID。用于 youtube_transcript_by-id。调用方必须提供非空值,不使用默认值。 | |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| selected_only | No | 是否仅下载已选规格。true 表示没有符合要求的规格则不下载;false 表示没有符合要求的规格时按 YouTube 支持的默认规格继续下载。默认值为 false。 | false |
| subtitles_type | No | 字幕类型,该参数用于指定采集的字幕是自动生成还是用户上传的。可传 auto_generated 或 uploader_provided,也支持中文:自动生成、用户上传。默认值为 auto_generated。 | auto_generated |
| subtitles_language | No | 字幕语言,该参数定义采集 YouTube 时下载字幕的语言。按文档示例提交语言 typeValue,例如 ab、en、zh-Hans、zh-Hant,默认值为 ab。 | ab |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), so the burden is partly lifted. The description adds that it submits an async Builder task with a fixed collector id, which is real workflow context, but it does not explain that the call returns a task ID rather than the transcript itself, nor what must be polled afterward.
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 first sentence is a long, repetitive keyword-trigger dump that consumes space without adding information. The actual useful content (the collector id) arrives second and is the only sentence that 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 5-param open-world scraping tool with no output schema and strong annotations, the description should at least convey the async task lifecycle or that results are retrieved elsewhere. It correctly mentions the Builder task and fixed collector, but leaves the caller unsure how output is obtained.
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 every parameter including video_id regex, defaults, and language/type values is already documented in the schema. The description only echoes the collector id and adds no format or semantic detail beyond the schema, warranting the baseline 3.
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 (提交 YouTube 字幕文件采集 Builder 任务) and pins the collector identifier youtube_transcript_by-id, which distinguishes it from siblings like youtube_video or youtube_audio. It is clear what the tool does, though the opening trigger-phrase list is keyword-stuffed boilerplate rather than purpose specification.
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 lists trigger keywords (采集/抓取/爬取/获取/提取/下载) but never says when to choose this over youtube_video, youtube_audio, or scraper_task_result. No exclusions, no prerequisites, no alternative routing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_videoBDestructiveInspect
当用户需要 YouTube 视频文件、YouTube 视频下载、YouTube video file、视频文件,与采集、抓取、爬取、获取、提取、下载等动词组合时触发。提交 YouTube 视频文件采集 Builder 任务,采集器标识固定为 youtube_video_by-url。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URLs,该参数用于指定待采集的访问 URL 地址。用于 youtube_video_by-url。调用方必须提供非空值,不使用默认值。 | |
| bitrate | No | 比特率,按比较符和码率值组装。比较符为 <= 或 >=,码率可选 48、64、128、160、256、320,默认值为 <=320。 | <=320 |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| resolution | No | 分辨率,按比较符和分辨率组装。比较符为 <= 或 >=,分辨率可选 360p、480p、720p、1080p、1440p、2160p,默认值为 <=360p。 | <=360p |
| video_codec | No | 视频编码,参数值取 typeValue。可选 avc1、vp9、av01,默认值为 vp9。 | vp9 |
| audio_format | No | 音频格式,参数值取 typeValue。可选 opus、m4a,默认值为 opus。 | opus |
| selected_only | No | 是否仅下载已选规格。true 表示没有符合要求的规格则不下载;false 表示没有符合要求的规格时按 YouTube 支持的默认规格继续下载。默认值为 false。 | false |
| subtitles_language | No | 字幕语言,该参数定义了采集 YouTube 时下载字幕的语言。按文档示例提交语言 typeValue,例如 ab、en、zh-Hans、zh-Hant,默认值为 ab。 | ab |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, readOnly=false, idempotent=false, openWorld=true, so the agent knows this is a non-idempotent write. The description adds that it submits an asynchronous 'Builder task' with a fixed collector id, but does not disclose the async task-id workflow (implied by siblings scraper_task_status/scraper_task_result) or what resources the download consumes.
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 sentences; the trigger conditions and the core action are front-loaded. The repetitive keyword enumeration ('YouTube 视频文件、YouTube 视频下载、YouTube video file、视频文件') is somewhat padded but serves a routing function.
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 an 8-parameter, non-idempotent, destructive task-submission tool with no output schema, the description should explain that it returns/queues an async task and how results are retrieved. It covers the trigger and the collector id but leaves the task lifecycle and return behavior unexplained.
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% and every parameter (bitrate, resolution, codecs, subtitles_language, selected_only) is documented in the schema with defaults and allowed values. The description adds nothing about parameter meaning beyond restating the fixed collector identifier, 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?
States a specific verb+resource: 'submit a YouTube video file collection Builder task' with a fixed collector identifier 'youtube_video_by-url'. This lets an agent distinguish it from siblings like youtube_audio, youtube_transcript, and youtube_video_post, though the leading trigger-keyword list dilutes the core statement.
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 enumerates trigger phrases ('video file', 'download', combined with collect/scrape/crawl/fetch/extract/download), which implies when to fire, but never says when NOT to use it or names a specific alternative (e.g. youtube_audio for audio-only or youtube_transcript for captions). Usage is implied rather than contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_video_postCDestructiveInspect
当用户需要 YouTube 视频帖子、YouTube 视频列表、YouTube 频道视频、YouTube 搜索视频、YouTube 话题标签视频、YouTube 播客视频、YouTube 探索视频,与采集、抓取、爬取、获取、提取等动词组合时触发。复用一个工具提交 YouTube 视频帖子采集 Builder 任务,支持 youtube_video-post_by-url、youtube_video-post_by-search-filters、youtube_video-post_by-hashtag、youtube_video-post_by-podcast-url、youtube_video-post_by-keyword、youtube_video-post_by-explore。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL。用于频道 Video URL、播客 URL 或探索 URL;不同采集器未传时按文档默认 URL 提交。调用方必须提供非空值,不使用默认值。 | |
| type | No | 类型。用于 youtube_video-post_by-search-filters,可选 Video、Movie,默认值为 Video。 | Video |
| hashtag | No | 话题标签,按标签筛选视频,请参考 https://www.youtube.com/hashtag。用于 youtube_video-post_by-hashtag,默认值为 shopping。 | shopping |
| keyword | No | 关键词。用于 youtube_video-post_by-keyword。调用方必须提供非空值,不使用默认值。 | |
| all_tabs | No | 所有标签页。用于 youtube_video-post_by-explore,参数值为 true 或 false,默认 true。 | true |
| duration | No | 持续时间。用于 youtube_video-post_by-search-filters,可传 Under 3 minutes、4 分钟以内、4-20 分钟、20 分钟以上、全部;默认 Under 3 minutes。 | Under 3 minutes |
| features | No | 特征。用于 youtube_video-post_by-search-filters,可传 All、全部、Live、4K、HD、Subtitles/CC、Creative Commons、360°、VR180、3D、HDR;默认 All。 | All |
| order_by | No | 排序方式。用于 youtube_video-post_by-url,可传 最新、热门、最旧,提交值为 Latest、Popular、Oldest;默认 Latest。 | Latest |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| spider_id | Yes | 采集器标识。可选值:youtube_video-post_by-url、youtube_video-post_by-search-filters、youtube_video-post_by-hashtag、youtube_video-post_by-podcast-url、youtube_video-post_by-keyword、youtube_video-post_by-explore。请根据用户语义选择一个匹配的采集模式,必须由调用方提供。 | |
| start_index | No | 起始条数,该参数用于指定从第几条视频开始采集信息。用于 youtube_video-post_by-url,默认值为 1。 | 1 |
| upload_date | No | 上传日期。用于 youtube_video-post_by-search-filters,可传 上一小时、今天、本周、本月、今年、全部;默认 上一小时。 | 上一小时 |
| num_of_posts | No | 帖子数量,此参数用于指定要采集的帖子数量。不同采集器按文档默认值提交。 | |
| keyword_search | No | 搜索关键词。用于 youtube_video-post_by-search-filters。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as destructiveHint=true, idempotentHint=false, openWorldHint=true, readOnlyHint=false. The description says it submits a builder task but does not disclose that it is a write operation with destructive potential, that repeated calls are not idempotent, or any rate limits or side effects. With annotations already covering the safety profile, the description still fails to explain the non-idempotent, destructive nature of task submission.
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 listing trigger keywords and another listing spider_ids. It is front-loaded with intent triggers, which is helpful for routing, but the keyword enumeration is dense and likely redundant given that the schema already enumerates the same spider_ids. It is somewhat bloated and repetitive.
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 14 parameters, 100% schema coverage, and no output schema, the description provides intent triggers but omits critical details such as when to prefer one spider_id over another, what task submission returns, and how to retrieve results. It is minimally adequate but leaves an agent without enough guidance to invoke the correct collector confidently.
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 every parameter already has a description. The description adds no parameter meaning beyond what is in the schema; it only names the tool and intent triggers. Baseline 3 is appropriate when the schema does the heavy lifting.
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 names the resource (YouTube video posts) and describes an intent-matching trigger list distinguishing this tool from youtube_video and youtube_profiles. However, it makes no mention of the six spider modes other than listing spider_ids, so an agent cannot readily distinguish between youtube_video_post and youtube_video. The purpose is implied through trigger phrases rather than stated directly.
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 lists trigger verbs (采集、抓取、爬取、获取) and resource contexts (频道视频、搜索视频、话题标签视频) that map loosely to different collectors. But it does not explicitly state which spider_id to use for which trigger, nor does it name sibling alternatives. Usage is implied through keyword matching rather than clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zillow_productBDestructiveInspect
当用户需要 Zillow 房产信息、Zillow 房产详细信息、Zillow 房源信息、Zillow property details,与采集、抓取、爬取、获取、提取等动词组合时触发。提交 Zillow 房产详细信息采集 Builder 任务,采集器标识固定为 zillow_product_by-filter。
| Name | Required | Description | Default |
|---|---|---|---|
| maximum | No | 最大数量,该参数用于指定采集的最大数量。默认值为 10。 | 10 |
| HomeType | No | 主页类型,该参数用于指定 Zillow 搜索房产主页类型的参数。可选值:Houses、Townhomes、Multi-family、Condos/Co-ops、Lots/Land、Apartments、Manufactured。默认值为 Houses。 | Houses |
| file_name | No | Builder file_name 字段。不传默认为 {{TasksID}}。 | {{TasksID}} |
| days_on_zillow | No | 在zillow上的日子,该参数用于指定采集发布在 Zillow 网站多久时长的房屋。可选值:Any、1 day、7 days、14 days、30 days、90 days、6 months、12 months、24 months、36 months。默认值为 Any。 | Any |
| listingCategory | No | 列表类别,该参数用于指定 Zillow 搜索房产类别的参数。可选值:Sold、For Rent、For Sale。默认值为 For Rent。 | For Rent |
| keywords-location | Yes | 地点关键词,该参数用于指定 Zillow 搜索页面的搜索地址信息,可以是邮政编码、具体城市或地址。用于 zillow_product_by-filter。调用方必须提供非空值,不使用默认值。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false, so the safety profile is covered. The description adds one useful operational detail (the fixed collector identifier) and frames the action as submitting a Builder task, but it omits that this is an asynchronous job whose results must be retrieved via scraper_task_result/status.
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 opening sentence is a redundant multi-phrase keyword list (Zillow 房产信息 / 房产详细信息 / 房源信息 / property details) that repeats the same concept four ways before the actual purpose appears. The second sentence is tight and informative, but the front-loading is wasted on trigger 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?
With six fully documented parameters and no output schema, the input side is adequately covered. What is missing for a task-submission tool is the lifecycle: that a job is created and results are fetched separately, which matters given sibling tools scraper_task_result and scraper_task_status exist.
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%, so the schema fully documents all six parameters including defaults and enum-like option lists. The description adds only the fixed collector ID, which is not a parameter, so it contributes marginally beyond structured data — 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 second sentence states a concrete verb+resource: it submits a Zillow property-details collection Builder task with a fixed collector ID (zillow_product_by-filter), which distinguishes it from the other *_product siblings (amazon_product, airbnb_product). The first sentence is mostly trigger-keyword stuffing rather than purpose, but the action is still identifiable.
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 gives a trigger condition (user request for Zillow property info combined with collect/scrape/crawl/get/extract verbs), which implies when to invoke it. However, it names no alternatives or exclusions — nothing tells the agent why to pick this over airbnb_product or a generic google_search, and no prerequisites or follow-up steps are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Removed
amazon_comment
82 tool updates
- First observed
airbnb_product - First observed
amazon_comment - First observed
amazon_global_product - First observed
amazon_product - First observed
amazon_product_list - First observed
amazon_seller - First observed
bing_images - First observed
bing_maps - First observed
bing_news - First observed
bing_search - First observed
bing_shopping - First observed
bing_videos - First observed
booking_hotellist - First observed
chatgpt_answer - First observed
crunchbase_company - First observed
duckduckgo_search - First observed
ebay_info - First observed
facebook_comment - First observed
facebook_event - First observed
facebook_post - First observed
facebook_profile - First observed
github_repository - First observed
glassdoor_joblistings - First observed
google_ai_mode - First observed
google_finance - First observed
google_flights - First observed
google_hotels - First observed
google_images - First observed
google_jobs - First observed
google_lens - First observed
google_local - First observed
google_map_comment - First observed
google_map_details - First observed
google_maps - First observed
google_news - First observed
google_patents - First observed
google_play - First observed
google_play_store_information - First observed
google_play_store_reviews - First observed
google_scholar - First observed
google_search - First observed
google_shopping - First observed
google_shopping_info - First observed
google_trends - First observed
google_videos - First observed
indeed_companies_info - First observed
instagram_comment - First observed
instagram_profiles - First observed
instagram_reel - First observed
linkedin_company_information - First observed
linkedin_job_listings_information - First observed
query_user_api_keys - First observed
query_user_balance - First observed
query_user_info - First observed
query_user_usage - First observed
reddit_comment - First observed
reddit_posts - First observed
request_web_unlocker - First observed
scraper_serp_products - First observed
scraper_serp_statistics - First observed
scraper_serp_tools - First observed
scraper_task_list - First observed
scraper_task_result - First observed
scraper_task_status - First observed
tiktok_comment - First observed
tiktok_posts - First observed
tiktok_profiles - First observed
tiktok_shop - First observed
twitter_post - First observed
twitter_profile - First observed
walmart_product - First observed
web_unlock_statistics - First observed
web_unlock_task - First observed
yandex_search - First observed
youtube_audio - First observed
youtube_comment - First observed
youtube_product - First observed
youtube_profiles - First observed
youtube_transcript - First observed
youtube_video - First observed
youtube_video_post - First observed
zillow_product
Related MCP Connectors
Ecommerce data MCP: Amazon, TikTok Shop, Walmart, Temu, Ozon, Shopee, 1688, Etsy, eBay & more
One MCP endpoint for 414 data APIs across 90 platforms, including TikTok, Instagram, YouTube, Amazon, Xiaohongshu (RedNote) and Douyin, plus 17 web search tools and CAPTCHA solving for 52 types. Pay per call from $0.56 per 1,000 calls; failed or empty calls are not charged.
All HasData scraping tools in one MCP server: Google, TikTok, Instagram, maps, e-commerce and more.
Structured web data from 58 platforms: Google, ChatGPT, Gemini, YouTube, Amazon, Reddit, TikTok
Related MCP Servers
- FlicenseNot gradedqualityDmaintenance提供热点获取、图片分析和成品文案生成等MCP工具,帮助AI Agent直接生成小红书、抖音等平台的可复制粘贴文案。-
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients and skill-aware agents to retrieve structured TikTok videos, profiles, hashtags, comments, followers, and related feeds without login. It supports natural-language requests for filtering, transcripts, downloads, and AI labels such as brand safety and sentiment.MIT
- AlicenseAqualityCmaintenanceRemote MCP server with 19 e-commerce and IP-compliance data tools — Amazon product/review/search/niche/bestseller data, AI SERP & keyword trends, local Maps POI, WIPO trademark search, and PACER patent litigation. No scraping code or proxies needed; one API key unlocks all tools.211MIT

ProLevelMax MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents and developers to discover, inspect, run, and schedule live public social media data collection from 157 platforms, including Reddit, TikTok, Instagram, X, YouTube, Xiaohongshu, and Douyin. It supports previews, cost quotes, async runs, and download links via remote MCP, an Agent Skill, or REST API.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.