Skip to main content
Glama
aidvizhhub

camoufox-research

by aidvizhhub

Глубокий ресёрч

research
Read-onlyIdempotent

Collect 10+ sources on a topic in one call via multiple query formulations, deduplicated URLs, and snippets; optionally read top texts for deep analysis.

Instructions

Когда: нужно СЕЙЧАС 10+ источников на тему одним вызовом — глубокий разбор без фонового ожидания. Один факт, новость или точный URL — это web_search. Что: сервер ищет по КАЖДОЙ формулировке (queries), дедуплицирует URL и отдаёт список со сниппетами; fetch_top>0 сразу читает топ-N текстов. Результат кэшируется на сутки.

По умолчанию хватит queries (2-4 формулировки) и fetch_top=3..5. Остальное — тонкая настройка, всё рабочее, но трогать не обязательно: max_chars режет только ответ; max_parallel — воркеры чтения; target_domains=N — цель по РАЗНЫМ доменам (20 = двадцать сайтов, доборка волнами); domains_limit=K — не больше K с одного домена; expand=True — переформулировки («X comparison», «X documentation»); terms_wave=True — вторая волна из редких термов первой (паттерн Open Deep Research); quality_first=True — доки/GitHub/arXiv первыми; fetch_all=True — тексты ВСЕХ отобранных, а не топ-N (30 источников × 12k ≈ 90k токенов); as_json=True — машинный JSON: meta (счётчики, follow-up запросы), sources (title/url/domain/tier/tier_label/snippet), texts, notes (тот же объект в structuredContent, content — прежняя строка); academic=True — вертикальный arXiv + Semantic Scholar канал (tier 0, без ключей); llm_planner=True — LLM-планировщик follow-up (DeepSeek/Ollama, нужен DEEPSEEK_API_KEY или OLLAMA_HOST, иначе пропуск); mode="быстро"|"полно"|"глубоко" (fast/full/deep) — пресет одним словом, трогает только ручки на дефолте (явный аргумент сильнее пресета). Пример глубокого разбора: research(queries=["deep research agents"], target_domains=20, domains_limit=2, expand=True, terms_wave=True, quality_first=True, academic=True, llm_planner=True, fetch_all=True, as_json=True, max_results_per_query=6).

Замер 21.09 (5 источников): fetch_top=0 — 0 текстов и 2 822 симв. за 5.5с; fetch_top=3 + max_chars=12000 — 3 текста и 32 432 симв. за 23.1с. ⏱ Долгий: один вызов идёт до ~15 мин (внутренний таймаут 900с, столько же ставь таймауту MCP-клиента) — ждать ответа, не поллить.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
expandNo
as_jsonNo
queriesYes
academicNo
fetch_allNo
fetch_topNo
max_charsNo
terms_waveNo
llm_plannerNo
article_onlyNo
max_parallelNo
domains_limitNo
quality_firstNo
target_domainsNo
max_results_per_queryNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNo
notesNo
textsNo
resultNo
sourcesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.21.1
    • changedInput schema / properties / fetch_top / default
      Previous value: -0New value: +3
    • changedInput schema / properties / max_chars / default
      Previous value: -4000New value: +12000
    • addedInput schema / properties / mode
      Added value: +{
      +  "default": "",
      +  "enum": [
      +    "",
      +    "быстро",
      +    "fast",
      +    "quick",
      +    "lite",
      +    "полно",
      +    "full",
      +    "normal",
      +    "глубоко",
      +    "deep",
      +    "max"
      +  ],
      +  "title": "Mode",
      +  "type": "string"
      +}
    • addedOutput schema / properties / meta
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • removedOutput schema / properties / result / title
      Removed value: -"Result"
    • addedOutput schema / properties / sources
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / texts
      Added value: +{
      +  "type": "array"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
    • removedOutput schema / title
      Removed value: -"researchOutput"
  2. Changed9 schema fields changedv0.18.1
    • addedInput schema / properties / academic
      Added value: +{
      +  "default": false,
      +  "title": "Academic",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / as_json
      Added value: +{
      +  "default": false,
      +  "title": "As Json",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / domains_limit
      Added value: +{
      +  "default": 0,
      +  "title": "Domains Limit",
      +  "type": "integer"
      +}
    • addedInput schema / properties / expand
      Added value: +{
      +  "default": false,
      +  "title": "Expand",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / fetch_all
      Added value: +{
      +  "default": false,
      +  "title": "Fetch All",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / llm_planner
      Added value: +{
      +  "default": false,
      +  "title": "Llm Planner",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / quality_first
      Added value: +{
      +  "default": false,
      +  "title": "Quality First",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / target_domains
      Added value: +{
      +  "default": 0,
      +  "title": "Target Domains",
      +  "type": "integer"
      +}
    • addedInput schema / properties / terms_wave
      Added value: +{
      +  "default": false,
      +  "title": "Terms Wave",
      +  "type": "boolean"
      +}
  3. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds major behavioral context beyond annotations: daily caching, long runtime up to ~15 minutes with a 900s internal timeout, a warning not to poll, API key requirements for llm_planner, and token-cost implications for fetch_all. No contradiction with the read-only/idempotent annotations.

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

Conciseness4/5

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

The description is long, but the length is largely justified by the 16-parameter surface and the need to document behavior in the absence of schema descriptions. It is front-loaded with when/what, but the benchmark measurement and some tightly packed parameter shorthand make it slightly heavier than necessary.

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?

Given the complexity, zero schema description coverage, and the fact that an output schema exists, the description is complete. It covers selection guidance, defaults, advanced parameters, return shape for as_json, timeout expectations, and key dependencies, so an agent has what it needs to call the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry the parameter semantics, and it does so almost completely. It explains queries, fetch_top, max_chars, max_parallel, target_domains, domains_limit, expand, terms_wave, quality_first, fetch_all, as_json, academic, llm_planner, and mode, with defaults and effects. Only article_only is left unmentioned, which is a minor omission in an otherwise thorough namespace.

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?

The description states a specific verb and resource: deep research, retrieving 10+ sources on a topic in one call, with no background wait. It explicitly distinguishes from the sibling web_search for single facts, news, or exact URLs, so an agent can select 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.

Usage Guidelines5/5

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

The description gives explicit when-to-use ('нужно СЕЙЧАС 10+ источников...') and when-not-to-use ('Один факт, новость или точный URL — это web_search') guidance. It also provides default parameter advice and an advanced example, leaving no routing ambiguity.

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