Skip to main content
Glama

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

Прочитать страницу / Read a page

read_url
Read-onlyIdempotent

Открывает одну страницу по известному адресу и возвращает её текст чистым markdown - без навигации, рекламы, скриптов и HTML. JavaScript выполняется на нашей стороне, поэтому SPA тоже читаются.

Когда: адрес известен и нужен текст - статья, документация, карточка товара. Когда не: адреса нет - сначала web_search; страниц несколько - read_urls (один вызов вместо пяти); нужны 2-5 конкретных полей - extract (в контекст придут только они); нужно увидеть вёрстку - fetch_page. Возвращает: заголовок и текст, по умолчанию первые 4000 символов. Длинная страница приходит по частям: в конце ответа указано значение offset, с которым надо вызвать тул повторно, чтобы получить продолжение. Так документ любого объёма читается окнами под ваш контекст, без повторной оплаты уже прочитанного. Читает и файлы, а не только страницы: PDF (включая сканы - распознаём текст), Word (docx), Excel (xlsx), PowerPoint (pptx), OpenDocument (odt/ods/odp/odg), RTF, EPUB и текстовые (txt/md/csv/json/xml). Адрес документа передавайте как есть: https://site.ru/otchet.docx. Старые двоичные .doc/.xls/.ppt не читаются - их отдаёт только LibreOffice, у нас его нет; нужен файл в новом формате. Цена: 1 кредит, самый дешёвый способ получить содержимое страницы (fetch_page - 3).

Opens a single page by a known URL and returns its text as clean markdown - no navigation, ads, scripts or HTML. JavaScript is executed on our side, so SPAs read fine too.

Use when: you have the URL and need the text - an article, documentation, a product page. Do not use when: you have no URL - start with web_search; you have several pages - read_urls (one call instead of five); you need a handful of specific fields - extract (only those reach your context); you need to see the layout - fetch_page. Returns: title and text, the first 4000 characters by default. A long page arrives in windows: the end of the response states the offset to call the tool with again to get the continuation. That way a document of any size is read in windows sized to your context, without paying twice for what you already read. Reads files too, not only pages: PDF (scans included - we recognise the text), Word (docx), Excel (xlsx), PowerPoint (pptx), OpenDocument (odt/ods/odp/odg), RTF, EPUB and text formats (txt/md/csv/json/xml). Pass the document URL as it is: https://site.ru/report.docx. Legacy binary .doc/.xls/.ppt are not readable - only LibreOffice can open them and we do not run it; re-save the file in a modern format. Cost: 1 credit - the cheapest way to get page content (fetch_page costs 3).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesПолный URL страницы (http/https) / Full page URL
freshNoПрочитать страницу заново, не беря недавно прочитанный текст. Нужно, когда страница только что изменилась. На цену не влияет: кредит списывается в любом случае. / Read the page anew instead of using recently read text. Use it when the page has just changed. Does not affect the price: the credit is charged either way.
engineNoКак забирать страницу: auto (по умолчанию - начинает с быстрого способа и сам поднимается, если текста не оказалось), fast (быстро, для статики и документации), dynamic (ждёт отрисовки JS - для SPA), stealth (медленно, максимально браузерное поведение). Указывайте явно только если знаете сайт. / How to fetch the page: auto (default - starts with the fast path and escalates on its own if no text came back), fast (static sites and docs), dynamic (waits for JS rendering - for SPAs), stealth (slow, most browser-like). Set it explicitly only if you know the site.
offsetNoС какого символа продолжить чтение. Берите значение из предыдущего ответа этого тула («продолжить: offset N»), не считайте сами. Пусто - с начала страницы. / Where to resume reading. Take the value from this tool's previous response ("continue: offset N"), do not compute it yourself. Empty - from the start of the page.
maxCharsNoСколько символов текста вернуть (200-50000, по умолчанию 4000). Поднимите, если нужен полный текст, а не только начало. / How many characters of text to return (200-50000, default 4000). Raise it if you need the whole text, not just the beginning.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / engine / description
      Previous value: -"Как забирать страницу: auto (по умолчанию — начинает с быстрого способа и сам поднимается, если текста не оказалось), fast (быстро, для статики и документации), dynamic (ждёт отрисовки JS — для SPA), stealth (медленно, максимально браузерное поведение). Указывайте явно только если знаете сайт. / How to fetch the page: auto (default — starts with the fast path and escalates on its own if no text came back), fast (static sites and docs), dynamic (waits for JS rendering — for SPAs), stealth (slow, most browser-like). Set it explicitly only if you know the site."New value: +"Как забирать страницу: auto (по умолчанию - начинает с быстрого способа и сам поднимается, если текста не оказалось), fast (быстро, для статики и документации), dynamic (ждёт отрисовки JS - для SPA), stealth (медленно, максимально браузерное поведение). Указывайте явно только если знаете сайт. / How to fetch the page: auto (default - starts with the fast path and escalates on its own if no text came back), fast (static sites and docs), dynamic (waits for JS rendering - for SPAs), stealth (slow, most browser-like). Set it explicitly only if you know the site."
    • changedInput schema / properties / maxChars / description
      Previous value: -"Сколько символов текста вернуть (200–50000, по умолчанию 4000). Поднимите, если нужен полный текст, а не только начало. / How many characters of text to return (200–50000, default 4000). Raise it if you need the whole text, not just the beginning."New value: +"Сколько символов текста вернуть (200-50000, по умолчанию 4000). Поднимите, если нужен полный текст, а не только начало. / How many characters of text to return (200-50000, default 4000). Raise it if you need the whole text, not just the beginning."
    • changedInput schema / properties / offset / description
      Previous value: -"С какого символа продолжить чтение. Берите значение из предыдущего ответа этого тула («продолжить: offset N»), не считайте сами. Пусто — с начала страницы. / Where to resume reading. Take the value from this tool's previous response (\"continue: offset N\"), do not compute it yourself. Empty — from the start of the page."New value: +"С какого символа продолжить чтение. Берите значение из предыдущего ответа этого тула («продолжить: offset N»), не считайте сами. Пусто - с начала страницы. / Where to resume reading. Take the value from this tool's previous response (\"continue: offset N\"), do not compute it yourself. Empty - from the start of the page."
  2. Changed2 schema fields changed
    • addedInput schema / properties / fresh
      Added value: +{
      +  "description": "Прочитать страницу заново, не беря недавно прочитанный текст. Нужно, когда страница только что изменилась. На цену не влияет: кредит списывается в любом случае. / Read the page anew instead of using recently read text. Use it when the page has just changed. Does not affect the price: the credit is charged either way.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "С какого символа продолжить чтение. Берите значение из предыдущего ответа этого тула («продолжить: offset N»), не считайте сами. Пусто — с начала страницы. / Where to resume reading. Take the value from this tool's previous response (\"continue: offset N\"), do not compute it yourself. Empty — from the start of the page.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the generic safe-read profile; the description goes well beyond with server-side JS execution, ad/nav stripping, the offset-window pagination contract, credit pricing versus sibling cost, and concrete file-format support with an explicit unsupported set (.doc/.xls/.ppt) and the reason. That is exactly the extra context annotations cannot carry.

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 the core promise, then Use when / Do not use when, Returns, formats, cost — a clean hierarchy with no filler sentences. The only cost is the full Russian/English duplication, which roughly doubles token length for a single-language 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?

With no output schema, the description fully covers return shape (title + text), default truncation at 4000 chars, and the continuation protocol, plus format coverage and pricing. An agent has everything needed to call it correctly on first attempt, including the multi-call pagination pattern.

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 adds workflow-level meaning to offset and maxChars by framing them as a windowed-read loop ('the end of the response states the offset... without paying twice'), which is more than the field docs alone convey. It does not restate engine/fresh semantics, so it is an enhancement rather than a full substitute.

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 a single page by a known URL and returns its text as clean markdown" names a specific verb, resource, and output form, and immediately differentiates itself from read_urls, extract, fetch_page, and web_search by scope. The agent can route correctly 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?

Explicit 'Use when' / 'Do not use when' pair with four named alternatives and the exact condition selecting each (no URL → web_search; several pages → read_urls; a few fields → extract; layout → fetch_page). Nothing is left to inference, including a cost-based tiebreaker against fetch_page.

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.