Skip to main content
Glama

срезAI — MCP-сервер и поисковый API для ИИ-агентов

Веб-поиск / Web search

web_search
Read-only

Ищет страницы в живом вебе по текстовому запросу и возвращает ранжированный список: заголовок, ссылка, фрагмент. Сильное покрытие русскоязычного веба.

Когда: нужны свежие факты, ссылки или данные новее вашей отсечки знаний. Когда не: адрес страницы уже известен - это read_url; нужны 2-5 конкретных значений - extract; нужен готовый разбор темы - answer_search. Возвращает: до 30 результатов текстом, без содержимого страниц. У каждого результата - домен, дата публикации (когда движок её отдаёт) и rel - лексическая релевантность запросу [0..1], по ней список и отсортирован. Дат нет у части выдачи: это ограничение движков, а не признак старой страницы. С excerpts: true добавляет реальный текст топ-страниц (+3-10 с), это часто экономит последующий вызов read_url. Если этого мало - chunksPerSource (0-5) читает страницу глубже (600 × N символов против 1200 у excerpt) и отдаёт несколько кусков на результат, а includeRawContent - полный текст страницы (до 20 000 символов, берите 1-3 результата). Всё читается в том же вызове и цены не меняет: дешевле, чем идти за текстом по одной ссылке. Свежесть: timeRange (day/week/month/year) или точные границы publishedAfter / publishedBefore - фильтр по дате публикации на нашей стороне; страницы без даты в окно не проходят, и в ответе сказано, сколько таких отброшено. Цена: 1 кредит за вызов, независимо от num. Выдача живая, поэтому повтор того же запроса даёт другой результат и списывается снова.

Searches the live web by a text query and returns ranked results: title, link, snippet. Strong coverage of the Russian-language web.

Use when: you need fresh facts, links or data past your knowledge cutoff. Do not use when: you already know the page URL - that is read_url; you need a handful of specific values - extract; you need a written answer across many sources - answer_search. Returns: up to 30 results as text, without page content. Each result carries its domain, its publication date when the engine provides one, and rel - lexical relevance to the query [0..1], which is what the list is sorted by. Part of the results have no date: that is an engine limitation, not a sign of an old page. With excerpts: true it also pulls the actual text of the top pages (+3-10 s), which often saves a follow-up read_url. If that is not enough, chunksPerSource (0-5) reads the page deeper (600 × N chars versus 1200 for excerpt) and returns several chunks per result, and includeRawContent returns the full page text (up to 20 000 chars - ask for 1-3 results). Everything is read inside the same call and does not change the price: cheaper than fetching each link. Freshness: timeRange (day/week/month/year) or exact bounds publishedAfter / publishedBefore - a publication-date filter on our side; pages without a date do not pass, and the answer states how many were dropped. Cost: 1 credit per call regardless of num. Results are live, so repeating the same query returns different results and is billed again.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "web_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
numNoСколько результатов (1-30) / How many results (1-30)
depthNoГлубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта). / Depth: auto (default, more engines and results) or flash (faster, narrow - for a single fact).
queryYesПоисковый запрос / Search query
categoryNoКатегория / Category: general, news, it, science, marketplace (объявления: Авито, Ozon, WB и др.)
excerptsNoЗабрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл. / Pull the actual text of the top pages for this query (+3-10 s: pages are read in parallel, per-page timeout caps it). Off by default.
languageNoЯзык / Language: auto, ru, en
timeRangeNoСвежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. / Freshness by publication date: day, week, month, year - a window from today (1/7/30/365 days), all (default) means no limit. The filter is applied by us, not by the engine: pages without a publication date do not pass, and the answer states how many were dropped.
excludeDomainsNoИсключить эти сайты и их поддомены: ["pinterest.com"]. До 10 доменов. / Exclude these sites and their subdomains. Up to 10 domains.
includeDomainsNoИскать только на этих сайтах, вместе с поддоменами: ["habr.com", "vc.ru"]. До 10 доменов. / Search only these sites, including subdomains. Up to 10 domains.
publishedAfterNoНижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе. / Publication date lower bound, YYYY-MM-DD inclusive. Overrides timeRange when both are given.
chunksPerSourceNoСколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. / How many text chunks to return per top-4 result (0-5, default 0). Chunks are cut from the page by query relevance and ranked, so one call carries the context you would otherwise fetch with read_url. The call price does not change.
publishedBeforeNoВерхняя граница даты публикации, YYYY-MM-DD включительно. / Publication date upper bound, YYYY-MM-DD inclusive.
includeRawContentNoВернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата. / Return the full page text for the top-4 results (up to 20 000 chars each) instead of fetching pages separately. Off by default. Mind num: this is tens of thousands of tokens, ask for 1-3 results.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Категория / Category: general, news, it, science"New value: +"Категория / Category: general, news, it, science, marketplace (объявления: Авито, Ozon, WB и др.)"
    • changedInput schema / properties / category / enum
      Previous value: -[
      -  "general",
      -  "news",
      -  "it",
      -  "science"
      -]New value: +[
      +  "general",
      +  "news",
      +  "it",
      +  "science",
      +  "marketplace"
      +]
  2. Changed13 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Категория: general, news, it, science"New value: +"Категория / Category: general, news, it, science"
    • changedInput schema / properties / chunksPerSource / description
      Previous value: -"Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется."New value: +"Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. / How many text chunks to return per top-4 result (0-5, default 0). Chunks are cut from the page by query relevance and ranked, so one call carries the context you would otherwise fetch with read_url. The call price does not change."
    • changedInput schema / properties / depth / description
      Previous value: -"Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта)."New value: +"Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта). / Depth: auto (default, more engines and results) or flash (faster, narrow - for a single fact)."
    • changedInput schema / properties / excerpts / description
      Previous value: -"Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл."New value: +"Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл. / Pull the actual text of the top pages for this query (+3-10 s: pages are read in parallel, per-page timeout caps it). Off by default."
    • changedInput schema / properties / excludeDomains / description
      Previous value: -"Исключить эти сайты и их поддомены: [\"pinterest.com\"]. До 10 доменов."New value: +"Исключить эти сайты и их поддомены: [\"pinterest.com\"]. До 10 доменов. / Exclude these sites and their subdomains. Up to 10 domains."
    • changedInput schema / properties / includeDomains / description
      Previous value: -"Искать только на этих сайтах, вместе с поддоменами: [\"habr.com\", \"vc.ru\"]. До 10 доменов."New value: +"Искать только на этих сайтах, вместе с поддоменами: [\"habr.com\", \"vc.ru\"]. До 10 доменов. / Search only these sites, including subdomains. Up to 10 domains."
    • changedInput schema / properties / includeRawContent / description
      Previous value: -"Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата."New value: +"Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата. / Return the full page text for the top-4 results (up to 20 000 chars each) instead of fetching pages separately. Off by default. Mind num: this is tens of thousands of tokens, ask for 1-3 results."
    • changedInput schema / properties / language / description
      Previous value: -"Язык: auto, ru, en"New value: +"Язык / Language: auto, ru, en"
    • changedInput schema / properties / num / description
      Previous value: -"Сколько результатов (1-30)"New value: +"Сколько результатов (1-30) / How many results (1-30)"
    • changedInput schema / properties / publishedAfter / description
      Previous value: -"Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе."New value: +"Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе. / Publication date lower bound, YYYY-MM-DD inclusive. Overrides timeRange when both are given."
    • changedInput schema / properties / publishedBefore / description
      Previous value: -"Верхняя граница даты публикации, YYYY-MM-DD включительно."New value: +"Верхняя граница даты публикации, YYYY-MM-DD включительно. / Publication date upper bound, YYYY-MM-DD inclusive."
    • changedInput schema / properties / query / description
      Previous value: -"Поисковый запрос"New value: +"Поисковый запрос / Search query"
    • changedInput schema / properties / timeRange / description
      Previous value: -"Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено."New value: +"Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. / Freshness by publication date: day, week, month, year - a window from today (1/7/30/365 days), all (default) means no limit. The filter is applied by us, not by the engine: pages without a publication date do not pass, and the answer states how many were dropped."
  3. Changed13 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Категория / Category: general, news, it, science"New value: +"Категория: general, news, it, science"
    • changedInput schema / properties / chunksPerSource / description
      Previous value: -"Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. / How many text chunks to return per top-4 result (0-5, default 0). Chunks are cut from the page by query relevance and ranked, so one call carries the context you would otherwise fetch with read_url. The call price does not change."New value: +"Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется."
    • changedInput schema / properties / depth / description
      Previous value: -"Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта). / Depth: auto (default, more engines and results) or flash (faster, narrow - for a single fact)."New value: +"Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта)."
    • changedInput schema / properties / excerpts / description
      Previous value: -"Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл. / Pull the actual text of the top pages for this query (+3-10 s: pages are read in parallel, per-page timeout caps it). Off by default."New value: +"Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл."
    • changedInput schema / properties / excludeDomains / description
      Previous value: -"Исключить эти сайты и их поддомены: [\"pinterest.com\"]. До 10 доменов. / Exclude these sites and their subdomains. Up to 10 domains."New value: +"Исключить эти сайты и их поддомены: [\"pinterest.com\"]. До 10 доменов."
    • changedInput schema / properties / includeDomains / description
      Previous value: -"Искать только на этих сайтах, вместе с поддоменами: [\"habr.com\", \"vc.ru\"]. До 10 доменов. / Search only these sites, including subdomains. Up to 10 domains."New value: +"Искать только на этих сайтах, вместе с поддоменами: [\"habr.com\", \"vc.ru\"]. До 10 доменов."
    • changedInput schema / properties / includeRawContent / description
      Previous value: -"Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата. / Return the full page text for the top-4 results (up to 20 000 chars each) instead of fetching pages separately. Off by default. Mind num: this is tens of thousands of tokens, ask for 1-3 results."New value: +"Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата."
    • changedInput schema / properties / language / description
      Previous value: -"Язык / Language: auto, ru, en"New value: +"Язык: auto, ru, en"
    • changedInput schema / properties / num / description
      Previous value: -"Сколько результатов (1-30) / How many results (1-30)"New value: +"Сколько результатов (1-30)"
    • changedInput schema / properties / publishedAfter / description
      Previous value: -"Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе. / Publication date lower bound, YYYY-MM-DD inclusive. Overrides timeRange when both are given."New value: +"Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе."
    • changedInput schema / properties / publishedBefore / description
      Previous value: -"Верхняя граница даты публикации, YYYY-MM-DD включительно. / Publication date upper bound, YYYY-MM-DD inclusive."New value: +"Верхняя граница даты публикации, YYYY-MM-DD включительно."
    • changedInput schema / properties / query / description
      Previous value: -"Поисковый запрос / Search query"New value: +"Поисковый запрос"
    • changedInput schema / properties / timeRange / description
      Previous value: -"Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. / Freshness by publication date: day, week, month, year - a window from today (1/7/30/365 days), all (default) means no limit. The filter is applied by us, not by the engine: pages without a publication date do not pass, and the answer states how many were dropped."New value: +"Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено."
  4. Changed6 schema fields changed
    • changedInput schema / properties / chunksPerSource / description
      Previous value: -"Сколько кусков текста вернуть на каждый из топ-4 результатов (0–5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. / How many text chunks to return per top-4 result (0–5, default 0). Chunks are cut from the page by query relevance and ranked, so one call carries the context you would otherwise fetch with read_url. The call price does not change."New value: +"Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. / How many text chunks to return per top-4 result (0-5, default 0). Chunks are cut from the page by query relevance and ranked, so one call carries the context you would otherwise fetch with read_url. The call price does not change."
    • changedInput schema / properties / depth / description
      Previous value: -"Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача — для одного факта). / Depth: auto (default, more engines and results) or flash (faster, narrow — for a single fact)."New value: +"Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта). / Depth: auto (default, more engines and results) or flash (faster, narrow - for a single fact)."
    • changedInput schema / properties / excerpts / description
      Previous value: -"Забрать реальный текст топ-страниц под запрос (+3–10 с: страницы читаются параллельно, потолок — таймаут страницы). По умолчанию выкл. / Pull the actual text of the top pages for this query (+3–10 s: pages are read in parallel, per-page timeout caps it). Off by default."New value: +"Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл. / Pull the actual text of the top pages for this query (+3-10 s: pages are read in parallel, per-page timeout caps it). Off by default."
    • changedInput schema / properties / includeRawContent / description
      Previous value: -"Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) — замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1–3 результата. / Return the full page text for the top-4 results (up to 20 000 chars each) instead of fetching pages separately. Off by default. Mind num: this is tens of thousands of tokens, ask for 1–3 results."New value: +"Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата. / Return the full page text for the top-4 results (up to 20 000 chars each) instead of fetching pages separately. Off by default. Mind num: this is tens of thousands of tokens, ask for 1-3 results."
    • changedInput schema / properties / num / description
      Previous value: -"Сколько результатов (1–30) / How many results (1–30)"New value: +"Сколько результатов (1-30) / How many results (1-30)"
    • changedInput schema / properties / timeRange / description
      Previous value: -"Свежесть по дате публикации: day, week, month, year — окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) — без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. / Freshness by publication date: day, week, month, year — a window from today (1/7/30/365 days), all (default) means no limit. The filter is applied by us, not by the engine: pages without a publication date do not pass, and the answer states how many were dropped."New value: +"Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. / Freshness by publication date: day, week, month, year - a window from today (1/7/30/365 days), all (default) means no limit. The filter is applied by us, not by the engine: pages without a publication date do not pass, and the answer states how many were dropped."
  5. Changed1 schema field changed
    • changedInput schema / properties / excerpts / description
      Previous value: -"Забрать реальный текст топ-страниц под запрос (медленнее на пару секунд, но даёт готовый контент для ответа без доп. переходов). По умолчанию выкл. / Pull the actual text of the top pages for this query (a couple of seconds slower, but gives ready content without extra calls). Off by default."New value: +"Забрать реальный текст топ-страниц под запрос (+3–10 с: страницы читаются параллельно, потолок — таймаут страницы). По умолчанию выкл. / Pull the actual text of the top pages for this query (+3–10 s: pages are read in parallel, per-page timeout caps it). Off by default."
  6. Changed5 schema fields changed
    • addedInput schema / properties / chunksPerSource
      Added value: +{
      +  "description": "Сколько кусков текста вернуть на каждый из топ-4 результатов (0–5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. / How many text chunks to return per top-4 result (0–5, default 0). Chunks are cut from the page by query relevance and ranked, so one call carries the context you would otherwise fetch with read_url. The call price does not change.",
      +  "maximum": 5,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / includeRawContent
      Added value: +{
      +  "description": "Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) — замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1–3 результата. / Return the full page text for the top-4 results (up to 20 000 chars each) instead of fetching pages separately. Off by default. Mind num: this is tens of thousands of tokens, ask for 1–3 results.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / publishedAfter
      Added value: +{
      +  "description": "Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе. / Publication date lower bound, YYYY-MM-DD inclusive. Overrides timeRange when both are given.",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / publishedBefore
      Added value: +{
      +  "description": "Верхняя граница даты публикации, YYYY-MM-DD включительно. / Publication date upper bound, YYYY-MM-DD inclusive.",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • changedInput schema / properties / timeRange / description
      Previous value: -"Свежесть / Recency: all, day, week, month, year"New value: +"Свежесть по дате публикации: day, week, month, year — окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) — без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. / Freshness by publication date: day, week, month, year — a window from today (1/7/30/365 days), all (default) means no limit. The filter is applied by us, not by the engine: pages without a publication date do not pass, and the answer states how many were dropped."
  7. Changed1 schema field changed
    • changedInput schema / properties / timeRange / description
      Previous value: -"Свежесть / Recency: '', day, week, month, year"New value: +"Свежесть / Recency: all, day, week, month, year"
  8. Changed1 schema field changed
    • changedInput schema / properties / timeRange / enum
      Previous value: -[
      -  "",
      -  "day",
      -  "week",
      -  "month",
      -  "year"
      -]New value: +[
      +  "all",
      +  "day",
      +  "week",
      +  "month",
      +  "year"
      +]
  9. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, openWorld, non-idempotent, non-destructive), and the description still adds real behavior: live results mean a repeat query returns different data and is billed again, 1 credit per call regardless of num, date filtering happens server-side and drops undated pages with a count of discards, and excerpts add 3-10s of latency. Missing only explicit auth/quota-account context to reach a 5.

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?

Content is front-loaded and ordered sensibly (purpose, when/when-not, returns, enrichment, freshness, price), with every section earning its place. The main cost is that the entire text is duplicated in Russian and English, roughly doubling the length without adding information for a single reader.

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 13-parameter tool with no output schema, the description carries the return contract itself: up to 30 results as text, no page body, each with domain, publication date when available, and rel relevance in [0..1] used for sorting, plus the caveat that missing dates are an engine limitation. Combined with the cost, latency and freshness notes, nothing an agent needs to call it correctly is absent.

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?

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by explaining cross-parameter tradeoffs: chunksPerSource reads deeper (600 x N chars vs 1200 for an excerpt) and returns several chunks per result, includeRawContent costs tens of thousands of tokens so num should be 1-3, and all enrichment happens inside one call at no extra price. That is genuine added meaning, not restatement.

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?

Opens with a specific verb+resource ('Searches the live web by a text query') plus the result shape (title, link, snippet) and a scope qualifier ('strong coverage of the Russian-language web'). It explicitly distinguishes itself from read_url, extract and answer_search, so an agent can route without opening any 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?

Provides an explicit 'Use when' (fresh facts, links, data past the knowledge cutoff) and 'Do not use when' with three named alternatives mapped to their conditions (known URL -> read_url, handful of values -> extract, synthesized answer -> answer_search). Nothing 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.