Skip to main content
Glama
aidvizhhub

camoufox-research

by aidvizhhub

batch_fetch

Открывает НЕСКОЛЬКО URL в одном браузере — для глубокого ресёрча на 30-50 источников одним вызовом вместо серии холодных стартов. Кэш: уже посещённые URL возвращаются мгновенно, без браузера. Rate limit между переходами защищает от капчи.

Instructions

Открывает НЕСКОЛЬКО URL в одном браузере — для глубокого ресёрча на 30-50 источников одним вызовом вместо серии холодных стартов. Кэш: уже посещённые URL возвращаются мгновенно, без браузера. Rate limit между переходами защищает от капчи. Батч ≥8 URL — параллельно (пул потоков, свой браузер на поток); число воркеров автоопределяется по ресурсам машины (слабый ПК — 1-2, мощный — 3-4), max_parallel — явное ограничение. Возвращает тексты с разделителями '--- URL: ...'. article_only=True — извлечь текст статьи (Trafilatura), без меню и баннеров. Пример: batch_fetch(urls=["https://docs.python.org/3/", "https://opencode.ai/docs/"], max_chars=6000, article_only=True) КОГДА: читать 10-50 URL одним вызовом (глубокий ресёрч после research_start / research_report). НЕ КОГДА: 1-2 страницы → fetch_page; URL ещё не собраны → research_start, sitemap, map_site сначала.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYes
max_charsNo
article_onlyNo
max_parallelNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses caching behavior, rate limiting to avoid captcha, parallel worker pool behavior (≥8 URLs, auto-detected workers, max_parallel override), and the exact return delimiter '--- URL: ...'. It also explains article_only uses Trafilatura.

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

Conciseness5/5

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

The description is long but information-dense: purpose is front-loaded, followed by caching/rate-limit/parallel behavior, return format, parameter explanation, a working example, and usage rules. Every sentence adds operational value, with no filler.

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

Completeness5/5

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

For a 4-parameter tool with no annotations and an output schema, the description covers purpose, when and when not to use it, alternatives, return format, concurrency behavior, caching, and parameter semantics via example and inline notes. The only minor gap, exact max_chars semantics, is largely recoverable from the parameter name and example.

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

Parameters4/5

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

With 0% schema description coverage, the description adds real meaning for article_only, max_parallel, and urls, and includes a concrete example. However, max_chars is never explicitly explained beyond appearing in the example, leaving its per-total vs per-URL semantics somewhat ambiguous.

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

Purpose5/5

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

Description opens with a specific action and scope: 'Открывает НЕСКОЛЬКО URL в одном браузере' for deep research across 30-50 sources in one call. It also distinguishes itself from the alternative single-page fetch via the later 'НЕ КОГДА' section.

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

Usage Guidelines5/5

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

Explicit КОГДА/НЕ КОГДА guidance gives concrete triggers: use for 10-50 URLs during deep research, avoid for 1-2 pages (use fetch_page), and if URLs are not yet collected, run research_start, sitemap, or map_site first. This is exemplary routing.

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