# срезAI — Search API for AI agents (remote · srezai.ru)

Web search, page reading and structured extraction for AI agents, with strong RU coverage

- Trust score: 71/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `srezai.ru`: 71/100 (this document), [markdown](https://verifymcp.io/servers/ru-srezai-search/api-mcp.md), [page](https://verifymcp.io/servers/ru-srezai-search/api-mcp)

## Channel facts

- Endpoint: `https://srezai.ru/api/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4711 tokens (~588/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ru-srezai-search https://srezai.ru/api/mcp
```

### Codex

```toml
[mcp_servers.ru-srezai-search]
url = "https://srezai.ru/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ru-srezai-search": {
      "type": "remote",
      "url": "https://srezai.ru/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ru-srezai-search --url https://srezai.ru/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ru-srezai-search:
    url: "https://srezai.ru/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ru-srezai-search": {
      "type": "http",
      "url": "https://srezai.ru/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 71, +11)

- [functional improvement] Schema quality: unverified → excellent

### 2026-08-01 (score 60, −5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 65, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 65, +44)

- [security improvement] Transport: unverified → pass
- [security] Authorization: Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail

### 2026-07-29 (score 21)

First indexed and scored.

## MCP tools (8)

### `web_search` (~691 tokens)

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

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

Когда: нужны свежие факты, ссылки или данные новее вашей отсечки знаний. Когда не: адрес страницы уже известен — это read_url; нужны 2–5 конкретных значений — extract; нужен готовый разбор темы со сносками — deep_research.
Возвращает: до 30 результатов текстом, без содержимого страниц. С excerpts: true добавляет реальный текст топ-страниц (+2–4 с), это часто экономит последующий вызов read_url.
Цена: 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 — deep_research.
Returns: up to 30 results as text, without page content. With excerpts: true it also pulls the actual text of the top pages (+2–4 s), which often saves a follow-up read_url.
Cost: 1 credit per call regardless of num. Results are live, so repeating the same query returns different results and is billed again.

Input parameters:

- `category` (string): Категория / Category: general, news, it, science
- `depth` (string): Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача — для одного факта). / Depth: auto (default, more engines and results) or flash (faster, narrow — for a sin…
- `excerpts` (boolean): Забрать реальный текст топ-страниц под запрос (медленнее на пару секунд, но даёт готовый контент для ответа без доп. переходов). По умолчанию выкл. / Pull the actual text of the top pages for this qu…
- `excludeDomains` (array): Исключить эти сайты и их поддомены: ["pinterest.com"]. До 10 доменов. / Exclude these sites and their subdomains. Up to 10 domains.
- `includeDomains` (array): Искать только на этих сайтах, вместе с поддоменами: ["habr.com", "vc.ru"]. До 10 доменов. / Search only these sites, including subdomains. Up to 10 domains.
- `language` (string): Язык / Language: auto, ru, en
- `num` (integer): Сколько результатов (1–30) / How many results (1–30)
- `query` (string, required): Поисковый запрос / Search query
- `timeRange` (string): Свежесть / Recency: '', day, week, month, year

### `image_search` (~407 tokens)

Поиск изображений / Image search

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

Когда: нужны картинки, фотографии, логотипы, схемы. Когда не: нужен текст или факты — web_search; нужно увидеть, как выглядит конкретная страница, — fetch_page.
Возвращает: только ссылки и метаданные — файлы не скачиваются и в ответе не появляются. Ставьте num: 1–3, если картинка нужна одна: по умолчанию 12, максимум 48, и полный список занимает десятки килобайт контекста.
Цена: 1 кредит за вызов, независимо от num.

Searches for images by a text query and returns direct file links, the source page and resolution.

Use when: you need pictures, photos, logos or diagrams. Do not use when: you need text or facts — web_search; you need to see what a specific page looks like — fetch_page.
Returns: links and metadata only — files are never downloaded or embedded in the response. Pass num: 1–3 when you need a single image: the default is 12, the maximum 48, and a full list costs tens of kilobytes of context.
Cost: 1 credit per call regardless of num.

Input parameters:

- `num` (integer): Сколько картинок вернуть (1–48, по умолчанию 12). Нужна одна картинка — просите 1–3, не тратьте контекст. / How many images to return (1–48, default 12). Need just one — ask for 1–3 and save context.
- `query` (string, required): Что искать / What to search for
- `safe` (boolean): Безопасный поиск / Safe search (on by default)
- `timeRange` (string): Свежесть / Recency: '', day, week, month, year

### `deep_research` (~386 tokens)

Глубокое исследование / Deep research

Проводит многошаговое исследование: сам формулирует запросы, ищет, читает источники и возвращает готовый связный ответ со ссылками на использованные страницы.

Когда: вопрос требует сопоставления нескольких источников и вывода — «сравни», «разберись», «что известно о». Когда не: нужен один факт или список ссылок — это web_search, он в 20 раз дешевле и отвечает за секунды.
Возвращает: текст ответа плюс список источников. Если источники не вернулись, в ответе будет предупреждение — такой вывод не считается проверенным.
Время: 10 с – 2 мин, это самый медленный инструмент. Держите соединение открытым.
Цена: 20 кредитов плюс 3 за каждую 1000 токенов ответа — самый дорогой вызов. Повтор темы даёт новый результат и списывается заново.

Runs multi-step research: forms its own queries, searches, reads sources and returns a finished answer with links to the pages it used.

Use when: the question needs several sources reconciled into a conclusion — "compare", "analyse", "what is known about". Do not use when: you need a single fact or a list of links — that is web_search, 20× cheaper and seconds fast.
Returns: the answer text plus a source list. If no sources came back the response says so — treat that output as unverified.
Time: 10 s – 2 min, the slowest tool here. Keep the connection open.
Cost: 20 credits plus 3 per 1000 output tokens — the most expensive call. Repeating a topic produces a new result and is billed again.

Input parameters:

- `query` (string, required): Вопрос или тема исследования / The question or research topic

### `read_url` (~601 tokens)

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

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

Когда: адрес известен и нужен текст — статья, документация, карточка товара. Когда не: адреса нет — сначала web_search; страниц несколько — read_urls (один вызов вместо пяти); нужны 2–5 конкретных полей — extract (в контекст придут только они); нужно увидеть вёрстку — fetch_page.
Возвращает: заголовок и текст, по умолчанию первые 4000 символов. Если нужен весь текст, а не начало, поднимите maxChars — иначе документ придёт обрезанным.
Цена: 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. Raise maxChars when you need the whole document, otherwise it arrives truncated.
Cost: 1 credit — the cheapest way to get page content (fetch_page costs 3).

Input parameters:

- `engine` (string): Как забирать страницу: auto (по умолчанию — начинает с быстрого способа и сам поднимается, если текста не оказалось), fast (быстро, для статики и документации), dynamic (ждёт отрисовки JS — для SPA),…
- `maxChars` (integer): Сколько символов текста вернуть (200–50000, по умолчанию 4000). Поднимите, если нужен полный текст, а не только начало. / How many characters of text to return (200–50000, default 4000). Raise it if…
- `url` (string, required): Полный URL страницы (http/https) / Full page URL

### `read_urls` (~548 tokens)

Прочитать несколько страниц / Read several pages

Читает пачку страниц (до 5 за вызов) параллельно и возвращает текст каждой чистым markdown. То же, что read_url, но одним вызовом вместо нескольких — заметно быстрее по общему времени.

Когда: на руках список ссылок, например топ выдачи web_search. Когда не: страница одна — read_url; нужны отдельные поля, а не текст, — extract (он тоже принимает список).
Возвращает: текст по каждой странице. Частичный успех — норма: упавшие ссылки не рвут вызов, а перечисляются отдельным блоком «Не прочитано» с кодом ошибки. Дубликаты и ссылки сверх лимита отбрасываются, их число указано в ответе.
Цена: 1 кредит за каждую ссылку — пять страниц стоят пять кредитов. Не отправляйте ссылки «на всякий случай».

Reads a batch of pages (up to 5 per call) in parallel and returns each one's text as clean markdown. Same as read_url but in a single call — markedly faster in total wall-clock.

Use when: you have a list of links, e.g. the top web_search results. Do not use when: there is only one page — read_url; you need specific fields rather than text — extract (it also accepts a list).
Returns: text per page. Partial success is normal: failed links do not fail the call, they are listed in a separate "not read" block with an error code. Duplicates and links beyond the limit are dropped and the count is reported.
Cost: 1 credit per link — five pages cost five credits. Do not pad the list.

Input parameters:

- `engine` (string): Как забирать страницы: auto (по умолчанию), fast, dynamic, stealth. Применяется ко всем ссылкам батча. / How to fetch the pages: auto (default), fast, dynamic, stealth. Applies to every link in the b…
- `maxChars` (integer): Сколько символов текста вернуть с КАЖДОЙ страницы (200–50000, по умолчанию 4000). На батче ставьте скромнее: пять больших страниц вытеснят из контекста всё остальное. / How many characters to return…
- `urls` (array, required): Список URL (1–5). Дубликаты отбрасываются. / A list of URLs (1–5). Duplicates are dropped.

### `fetch_page` (~372 tokens)

Скриншот и структура страницы / Page screenshot and structure

Открывает страницу полноценным браузером и возвращает скриншот картинкой прямо в ответе, ссылку на полноразмерный файл и текст страницы в markdown.

Когда: нужно УВИДЕТЬ страницу — раскладку, цвета, типографику, визуальную иерархию: «повтори дизайн как здесь», «что не так с вёрсткой». Когда не: нужен только текст — read_url (1 кредит против 3, и быстрее); нужны отдельные значения — extract.
Возвращает: изображение плюс текст. Картинка занимает много контекста, поэтому для чтения этот инструмент избыточен.
Цена: 3 кредита.

Opens the page in a full browser and returns a screenshot as an inline image, a link to the full-size file, and the page text in markdown.

Use when: you need to SEE the page — layout, colours, typography, visual hierarchy: "match this design", "what looks broken here". Do not use when: you only need text — read_url (1 credit vs 3, and faster); you need specific values — extract.
Returns: an image plus text. The image consumes a lot of context, which makes this tool overkill for reading.
Cost: 3 credits.

Input parameters:

- `maxChars` (integer): Сколько символов текста вернуть (200–50000, по умолчанию 4000). Поднимите, если нужен полный текст страницы, а не только начало. / How many characters of text to return (200–50000, default 4000). Rai…
- `url` (string, required): Полный URL страницы (http/https) / Full page URL (http/https)

### `extract` (~776 tokens)

Извлечь данные по схеме / Extract data by schema

Читает страницу и возвращает JSON строго по вашей схеме: только запрошенные поля, без текста страницы. Чего на странице нет — приходит null, значения не домысливаются.

Когда: нужны 2–5 конкретных значений — цена, характеристики, автор и дата, список вакансий. Экономит контекст: вместо всей страницы придут только поля. Когда не: нужен связный текст или вы не знаете заранее, что искать, — read_url (и в 4 раза дешевле).
Схема: принимается и сокращённая форма — {"title":"string","price":"number?"}, где «?» делает поле необязательным, а «[]» — массивом; полный JSON Schema тоже работает. Описания полей заметно повышают точность разбора.
Возвращает: объект по схеме на каждую ссылку. Можно передать до 5 ссылок разом — одна схема применится ко всем.
Цена: 4 кредита за каждую ссылку (чтение плюс разбор моделью).

Reads a page and returns JSON strictly following your schema: only the requested fields, no page text. Anything absent from the page comes back as null — values are never invented.

Use when: you need a handful of specific values — price, specs, author and date, a list of job openings. It saves context: you get the fields, not the page. Do not use when: you need prose, or you do not know in advance what to look for — read_url (and 4× cheaper).
Schema: a shorthand form is accepted — {"title":"string","price":"number?"}, where "?" marks a field optional and "[]" an array; full JSON Schema works too. Field descriptions noticeably improve extraction accuracy.
Returns: one object per link, shaped by your schema. Up to 5 links per call, one schema applied to all.
Cost: 4 credits per link (page read plus model parsing).

Input parameters:

- `engine` (string): Как забирать страницу: auto (по умолчанию), fast, dynamic, stealth. / How to fetch the page: auto (default), fast, dynamic, stealth.
- `instruction` (string): Уточнение для разбора, если из схемы неочевидно: «бери цену со скидкой», «только вакансии удалённо». / A parsing hint when the schema alone is ambiguous: «use the discounted price», «remote positions…
- `schema`: Схема результата. Проще всего — сокращённая форма: {"title":"string","price":"number?","tags":"string[]"}, где «?» помечает поле необязательным, а «[]» — массивом. Полный JSON Schema тоже принимается…
- `url` (string): URL страницы (http/https) / Page URL (http/https)
- `urls` (array): Список URL (1–5) вместо url — одна схема на все страницы. Каждая страница тарифицируется отдельно. / A list of URLs (1–5) instead of url — one schema for all pages. Each page is billed separately.

### `get_usage` (~251 tokens)

Баланс и лимиты / Balance and limits

Показывает остаток на счёте, расход суточной квоты, время сброса окна и цены всех инструментов в кредитах. Параметров не требует.

Когда: вызов упал с [rate_limited] и надо понять, ждать секунды или до следующих суток; пользователь спрашивает про баланс и расходы; планируется большой батч и надо убедиться, что кредитов хватит.
Возвращает: баланс, использованную квоту, момент сброса и прайс-лист.
Цена: бесплатно, квоту и лимит запросов этот вызов не расходует — его можно звать без опасений.

Shows the remaining balance, daily quota usage, when the window resets, and the price of every tool in credits. Takes no parameters.

Use when: a call failed with [rate_limited] and you need to know whether to wait seconds or until tomorrow; the user asks about balance or spending; you are about to run a large batch and want to confirm you have the credits.
Returns: balance, quota used, reset time and the price list.
Cost: free — this call consumes neither quota nor rate limit, so call it freely.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ru-srezai-search/api-mcp#diagnostics

## Score history

- 2026-08-03: 71
- 2026-08-02: 71
- 2026-08-01: 60
- 2026-07-31: 65
- 2026-07-30: 65
- 2026-07-29: 21

## Links

- Remote endpoint: https://srezai.ru/api/mcp
- Authorisation metadata: https://srezai.ru/.well-known/oauth-protected-resource/api/mcp
- Website: https://srezai.ru/docs/mcp
- Changelog RSS feed: https://verifymcp.io/servers/ru-srezai-search/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ru-srezai-search/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ru-srezai-search/api-mcp
