Skip to main content
Glama

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

Обойти сайт / Crawl a site

crawl
Read-onlyIdempotent

Читает разделы сайта и читает найденные страницы: сначала карта адресов (как в map), затем текст страниц. Один вызов вместо «нашёл ссылку - прочитал - нашёл следующую»: так собирают всё содержимое раздела, а не отдельные страницы.

Когда: нужно содержимое нескольких страниц одного сайта - «собери все события с этого агрегатора», «прочитай раздел документации», «что в этом каталоге». Когда не: нужен только список адресов - map (дешевле, страницы не читаются); нужна одна страница - read_url. Фильтр search у crawl сравнивается с ТЕКСТОМ прочитанных страниц (не с адресом), а selectPaths/excludePaths отбирают САМИ адреса. Порядок такой: сначала map (увидеть разделы и адреса), затем crawl с selectPaths по нужному разделу и, если надо, с search по тексту. Возвращает: pages (адрес, заголовок, текст до 20 000 символов на страницу) и skipped - адреса, которые не прочитались, с причиной. Недоступные страницы не роняют чтение: остальные отдаются, а причина названа. Цена: карта (1 кредит за 10 возвращённых адресов, минимум 1) плюс 1 кредит за каждую прочитанную страницу. Не прочиталась - не считается.

Crawls a site and reads the pages it finds: first the URL map (as in map), then the page text. One call instead of "found a link - read it - found the next one": this is how you collect a whole section rather than single pages.

Use when: you need the content of several pages of one site - "collect every event from this aggregator", "read this docs section". Do not use when: you only need the list of URLs - map (cheaper, no page reads); you need one page - read_url. The search filter here matches the TEXT of the pages read (not the URL): search: "conference" keeps pages that mention it. So the order is: map with a URL filter first (to see the structure), then crawl with a text filter. Returns: pages (URL, title, up to 20 000 chars of text each) and skipped - URLs that could not be read, with the reason. Unreachable pages do not break the crawl: the rest are returned and the reason is stated. Cost: the map (1 credit per 10 URLs returned, minimum 1) plus 1 credit per page read. A page that failed to read is not counted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesСайт или страница (http/https) / Site or page URL
limitNoСколько страниц прочитать (1-20, по умолчанию 5). / How many pages to read (1-20, default 5).
intentNoЗадача клиента словами: «страницы организаторов конференций», «все события», "только вакансии". Адреса карты упорядочиваются по смыслу, и читаются первые `limit` - так прицельное чтение работает там, где у нужных страниц нет общего фрагмента пути и `selectPaths` не находит ничего (замер 03.10.2026: 0/4 у подстроки против 4/4 в первых строках у отбора по смыслу). Работает, только если на сервере включён JEV_INTENT. / Plain-language goal for the section. The URL list is ranked by meaning and the first `limit` pages are read - use it when selectPaths finds nothing because the wanted pages share no common path fragment. Ignored unless enabled server-side.
searchNoОставить страницы, в тексте или заголовке которых есть эти слова (фильтр по СОДЕРЖИМОМУ прочитанного). / Keep pages whose text or title contains these words (a filter over the CONTENT read).
selectPathsNoЧитать только страницы, адрес которых содержит любую из этих подстрок - это и есть прицельное чтение раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события. / Read only pages whose URL contains any of these substrings - this is how you target a section. Without it crawl reads the first URLs of the map, which on aggregators are service pages, not events.
excludePathsNoНе читать страницы, чей адрес содержит любую из этих подстрок. / Do not read pages whose URL contains any of these substrings.
includeSubdomainsNoСчитать своими и поддомены. / Treat subdomains as own.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / intent
      Added value: +{
      +  "description": "Задача клиента словами: «страницы организаторов конференций», «все события», \"только вакансии\". Адреса карты упорядочиваются по смыслу, и читаются первые `limit` - так прицельное чтение работает там, где у нужных страниц нет общего фрагмента пути и `selectPaths` не находит ничего (замер 03.10.2026: 0/4 у подстроки против 4/4 в первых строках у отбора по смыслу). Работает, только если на сервере включён JEV_INTENT. / Plain-language goal for the section. The URL list is ranked by meaning and the first `limit` pages are read - use it when selectPaths finds nothing because the wanted pages share no common path fragment. Ignored unless enabled server-side.",
      +  "maxLength": 300,
      +  "type": "string"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Сколько страниц прочитать (1–20, по умолчанию 5). / How many pages to read (1–20, default 5)."New value: +"Сколько страниц прочитать (1-20, по умолчанию 5). / How many pages to read (1-20, default 5)."
    • changedInput schema / properties / selectPaths / description
      Previous value: -"Читать только страницы, адрес которых содержит любую из этих подстрок — это и есть прицельное чтение раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события. / Read only pages whose URL contains any of these substrings — this is how you target a section. Without it crawl reads the first URLs of the map, which on aggregators are service pages, not events."New value: +"Читать только страницы, адрес которых содержит любую из этих подстрок - это и есть прицельное чтение раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события. / Read only pages whose URL contains any of these substrings - this is how you target a section. Without it crawl reads the first URLs of the map, which on aggregators are service pages, not events."
  2. Changed1 schema field changed
    • changedInput schema / properties / selectPaths / description
      Previous value: -"Читать только страницы, адрес которых содержит любую из этих подстрок — это и есть прицельный обход раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события. / Read only pages whose URL contains any of these substrings — this is how you target a section. Without it crawl reads the first URLs of the map, which on aggregators are service pages, not events."New value: +"Читать только страницы, адрес которых содержит любую из этих подстрок — это и есть прицельное чтение раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события. / Read only pages whose URL contains any of these substrings — this is how you target a section. Without it crawl reads the first URLs of the map, which on aggregators are service pages, not events."
  3. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description still adds real operational context: partial failures do not abort the crawl (skipped URLs are returned with a reason), text is truncated at 20,000 chars per page, and a full credit model is disclosed. It stops short of describing pagination or map-vs-crawl duplication behavior, but the coverage is well above the annotation baseline.

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

Conciseness4/5

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

Front-loaded with purpose, then usage, then parameter interplay, returns, and cost - a sensible order with no filler sentences. The one cost is that the entire text is duplicated in Russian and English, roughly doubling the token footprint for a single agent; the structure is otherwise tight.

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 7-parameter tool with no output schema, the description closes every gap: it defines the return shape (pages with URL/title/text, plus skipped with reasons), partial-failure behavior, truncation limits, the server-side flag gating intent, and the exact cost formula.

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 baseline is 3, but the description adds genuine cross-parameter semantics the schema does not: search filters over page TEXT/title while selectPaths/excludePaths filter over URLs, and intent ranks the map by meaning and only works when JEV_INTENT is enabled server-side. This interaction guidance is exactly what the schema cannot express.

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

Purpose5/5

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

States a specific compound verb+resource: it builds the URL map then reads page text, returning whole sections rather than single pages. It explicitly names and contrasts the two nearest siblings (map for URLs only, read_url for one page), so an agent can disambiguate 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?

Gives explicit when ('collect every event from this aggregator', 'read this docs section') and when-not ('only need the list of URLs - map', 'need one page - read_url'), plus a recommended ordering: map first to see structure, then crawl with selectPaths, then search over text. 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.