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

ru.srezaiPublished by srezai.ruOfficial publisherv1.1.3Updated Oct 30, 2026

срезAI: веб-поиск, страницы, субтитры и WebMCP — 14 инструментов. Web tools for AI agents

Overview

AI-generated overview

SrezAI gives an assistant live web search, page reading, screenshots, schema extraction, claim checks and YouTube transcripts through a paid credit-based API.

What you can do
  • Search the live web and images, with ranking, snippets and direct image links
  • Read known pages as clean Markdown, one at a time or in batches, with paging for long pages
  • Map and crawl a whole site or section, collecting URLs and page text
  • Extract only chosen fields from a page by schema, or render a page in a browser for a screenshot
  • Verify a claim with quoted sources, get a synthesized answer, or run multi-step deep research
  • Fetch YouTube captions as text, and check balance, quota and prices
When to use it
Useful when an assistant needs current facts, links or page content beyond its knowledge cutoff, especially for Russian-language web coverage, and when you want research, fact-checking or site-wide collection handled by one hosted service instead of separate tools.
Requirements
Remote Streamable HTTP endpoint at srezai.ru; an API key sent as the Authorization header in the form Bearer srz_live_... created in the provider dashboard. An optional npm bridge package needs Node 18+ and the SREZAI_API_KEY environment variable for clients that only support stdio. Network access required.
Before you install
Every tool call spends credits (1 credit = 0.10 RUB); deep research costs 20 credits plus 3 per 1000 output tokens and can take up to 42 minutes. The API key is a billable secret, so keep it out of shared configs. Queries, URLs and pages you submit go to a third-party service, and crawl and map fetch many pages from a site.

Installation

In SourceWeft

  1. Open срезAI — MCP-сервер и поисковый API для ИИ-агентов in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ru.srezai%2Fsearch/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ai-api": {
      "type": "http",
      "url": "https://srezai.ru/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

srezai-mcp

MCP-сервер срезAI — поисковый API для ИИ-агентов: живой веб-поиск по Рунету и глобальному вебу, чтение страниц в чистый Markdown, карта сайта, извлечение по схеме, проверка утверждений, готовые ответы, многошаговое исследование и субтитры YouTube как встроенные инструменты ИИ-агента.

MCP server for SrezAI — a search API for AI agents: live web search, page reading into clean Markdown, site map, schema-based extraction, claim verification, ready answers, multi-step research and YouTube transcripts as native agent tools.

Нужен ли вам этот пакет / Do you need this package

Скорее всего нет. Если ваш клиент умеет Streamable HTTP (Claude Desktop, современные IDE-агенты) — подключайтесь к серверу напрямую, без установки:

json
{  "mcpServers": {    "srezai": {      "url": "https://srezai.ru/api/mcp",      "headers": { "Authorization": "Bearer srz_live_ваш_ключ" }    }  }}

Пакет нужен там, где клиент умеет только stdio и не поддерживает удалённые серверы по HTTP.

Установка / Installation

json
{  "mcpServers": {    "srezai": {      "command": "npx",      "args": ["-y", "srezai-mcp"],      "env": { "SREZAI_API_KEY": "srz_live_ваш_ключ" }    }  }}

Ключ создаётся в личном кабинете. Нужен Node 18+.

Если Windows капризничает с переменными окружения, в некоторых клиентах помогает такая форма:

cmd /c "set SREZAI_API_KEY=srz_live_ваш_ключ && npx -y srezai-mcp"

Инструменты / Tools

ИнструментЧто делает
web_searchПоиск в живом вебе: заголовок, ссылка, фрагмент. Категории, языки, свежесть, фильтр по доменам
image_searchКартинки: прямые ссылки, источник, разрешение
read_urlСтраница → чистый Markdown; длинная приходит окнами по offset
read_urlsТо же, до 5 страниц за вызов
yt_srtСубтитры ролика YouTube (ручные или авто) → текст в контекст агента; окно from/to, таймкоды, до 5 роликов за вызов. Видео и звук не скачиваются
fetch_pageРендер в браузере: скриншот и Markdown; если рендер не удался — текст за 1 кредит вместо 3
extractТолько запрошенные поля по вашей схеме, без текста страницы; до 5 ссылок
verify_claimВердикт supported / refuted / mixed / unverified с дословными цитатами по 2–5 независимым доменам
answer_searchГотовый ответ со ссылками: поиск, семантическое ранжирование BGE-reranker-v2-m3, чтение и синтез
deep_researchАгентное исследование по многим источникам; идёт долго, поэтому возвращает талон, а ответ забирается по нему
get_usageБаланс, квота, расход по услугам и прайс-лист. Бесплатно, квоту не расходует
mapКарта сайта: адреса и разделы из sitemap или со стартовой страницы, до 200 адресов за вызов
crawlКарта адресов плюс текст найденных страниц; фильтры по адресу и по тексту

Описания, параметры и цены живут на сервере, а не в пакете: агент видит их через tools/list в момент подключения. Новый инструмент появляется у вас без обновления srezai-mcp.

Платите только за результат: ошибка и вызов, не принёсший ничего, не списываются. 1 кредит = 0,10 ₽, точный прайс-лист отдаёт get_usage.

Как это работает / How it works

Пакет — тонкий мост: читает JSON-RPC из stdin, пересылает на https://srezai.ru/api/mcp с вашим ключом, возвращает ответ в stdout. Собственной логики инструментов в нём нет — поэтому он не может разойтись с тем, что на самом деле умеет API.

Зависимостей во время работы — ноль: только встроенные модули Node.

Готовый mcp-remote здесь не подошёл: он начинает с OAuth-регистрации клиента и не умеет статический Bearer-ключ, на котором работает срезAI.

Настройка / Configuration

ПеременнаяНазначение
SREZAI_API_KEYКлюч доступа. Нужен для вызова инструментов
SREZAI_MCP_ENDPOINTДругой адрес сервера. По умолчанию https://srezai.ru/api/mcp

Без ключа мост всё равно запускается и отдаёт initialize и tools/list: список инструментов сервер публикует анонимно, так его читают каталоги MCP. Вызов любого инструмента в этом режиме вернёт ошибку с указанием задать SREZAI_API_KEY. / Without a key the bridge still starts and serves initialize and tools/list — the tool list is public, which is how MCP directories read it. Calling a tool returns an error asking you to set SREZAI_API_KEY.

Claude Code: плагин из маркетплейса / Claude Code plugin

Репозиторий сам является маркетплейсом Claude Code: плагин srezai-web-access подключает удалённый MCP-сервер srezai.ru одной командой.

/plugin marketplace add srezai-team/srezai-mcp-web-search/plugin install srezai-web-access@srezai-mcp

После установки сервер srezai работает как обычный MCP с 14 инструментами. Без ключа действует бесплатный режим — 25 запросов в сутки с одного IP. Для платных инструментов ключ добавляется вручную:

claude mcp add --transport http srezai https://srezai.ru/api/mcp \  --header "Authorization: Bearer srz_live_ваш_ключ"

Файлы маркетплейса: .claude-plugin/marketplace.json и plugins/srezai-web-access/ (.claude-plugin/plugin.json + .mcp.json). Валидация: claude plugin validate . → «Validation passed».

Разработка / Development

bash
npm ci && npm test && npm run build

Docker-образ (его собирают каталоги MCP, опрашивая сервер в песочнице) / Docker image, built by MCP directories to introspect the server in a sandbox:

bash
docker build -t srezai-mcp . && docker run --rm -i -e SREZAI_API_KEY=srz_live_ваш_ключ srezai-mcp

Правки принимаются здесь, на GitHub: CONTRIBUTING.md объясняет, почему копия на GitVerse — зеркало и как прислать патч, если GitHub недоступен. Об уязвимости — SECURITY.md, не публичным issue. Правила общения — CODE_OF_CONDUCT.md.

Changes go to GitHub: CONTRIBUTING.md explains why the GitVerse copy is a mirror and how to send a patch if GitHub is unavailable to you. For vulnerabilities see SECURITY.md rather than a public issue. Ground rules: CODE_OF_CONDUCT.md.

Лицензия / License

MIT

Source: README.md at commit 39b3796

Tools

13

deep_research

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

Проводит многошаговое исследование: сам формулирует запросы, ищет, читает источники и возвращает готовый связный ответ со ссылками на использованные страницы. Когда: вопрос требует сопоставления нескольких источников и вывода - «сравни», «разберись», «что известно о». Когда не: нужен один факт или список ссылок - это web_search, он в 20 раз дешевле и отвечает за секунды. Как это работает: исследование идёт долго - по замерам от 13 секунд (простой факт) до 42 минут, обычно 3-10 минут, и это дольше, чем живёт одно соединение. Поэтому инструмент запускает задачу и ждёт 45 секунд. Если за это время ответ готов - возвращает его сразу. Если нет - возвращает строку с пометкой `[research_pending]` и талоном (ticket). Тогда вызовите этот же инструмент ещё раз, передав ticket (query можно не повторять), чтобы дождаться готового результата; опрашивайте с паузой в минуту-две, пока не придёт ответ. Такой дозабор по талону НЕ списывается заново - деньги берутся один раз, за саму задачу. Если незавершённая задача висит больше 90 минут, инструмент честно скажет, что она зависла, - тогда имеет смысл перезапустить вопрос или сузить его. Возвращает: текст ответа плюс список источников. Если источники не вернулись, в ответе будет предупреждение - такой вывод не считается проверенным. Цена: 20 кредитов плюс 3 за каждую 1000 токенов ответа - самый дорогой вызов. Списывается один раз за задачу; повтор ТЕМЫ (новый query) - новая задача и новое списание, а дозабор по ticket бесплатен.

Parametersqueryticket

read_url

Прочитать страницу

Открывает одну страницу по известному адресу и возвращает её текст чистым 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).

ParametersurlrequiredfreshengineoffsetwebmcpmaxChars

read_urls

Прочитать несколько страниц

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

ParametersurlsrequiredfreshenginemaxChars

yt_srt

Субтитры YouTube

Забирает текстовую дорожку ролика YouTube - ручные субтитры или авто - по ссылке или 11-символьному id. Видео и звук не скачиваются: это дешёвый способ получить содержание ролика в контекст агента. Когда: нужен текст видео - конспект, цитата, проверка сказанного, поиск по содержанию лекции; ролик уже известен или найден через web_search. Для поиска видео используйте web_search (например, site:youtube.com), а не этот тул. Когда не: нужен текст страницы - read_url; нужна картинка/вёрстка - fetch_page; не YouTube (VK, Rutube, Дзен) - не работает. Плейлист не разбирается, нужен ролик. Возвращает по каждому ролику: название, канал, длительность, дату, язык, вид дорожки (ручные/авто), текст и ссылки на ролик и канал. Если дорожки нет - статус и список доступных языков: повторите с существующим. Длинный текст: maxChars можно поднять до 200000, и текст приходит целиком - окна сервиса склеиваются внутри одного вызова. Если ролик всё равно не влез, в шапке есть сводка «Не влезло в лимит» с from по каждому ролику, а в structuredContent - поля window.from/window.nextFrom и stats.credits. Продолжение - отдельный вызов (снова 1 кредит за ролик), но за уже прочитанное повторно платить не нужно. Настройки соединения (необязательные заголовки, чтобы не повторять их в каждом вызове): X-Srezai-Max-Chars: 200000; X-Srezai-Timestamps: true; X-Srezai-Speakers: true; X-Srezai-Credits: off (не печатать строку про списанные кредиты в тексте - они остаются в structuredContent.stats.credits); X-Srezai-Format: json (вернуть данные структурой JSON вместо markdown). Любой аргумент вызова перекрывает заголовок. speakers: true - разметка по говорящим: вместо сплошного текста реплики «Спикер 1/2/3» с таймкодами. Когда: интервью, подкаст, круглый стол, диалог двух лекторов - нужно понять, кто что сказал. Разделение по смыслу реплик, а не по голосу: имён в субтитрах нет, метки условные, на перебиваниях и панелях из трёх и более человек модель может ошибаться. Если разметка не удалась, вернётся обычн

ParameterstofromvideosrequiredmaxCharsspeakerslanguagestimestamps

fetch_page

Скриншот и структура страницы

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

ParametersurlrequiredmaxChars

extract

Извлечь данные по схеме

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

Parametersurlurlsengineschemainstruction

verify_claim

Проверить утверждение по источникам

Проверяет утверждение: ищет источники, читает несколько независимых страниц и возвращает вердикт с дословными цитатами. Каждая цитата сверена с текстом страницы - не найденная в тексте отбрасывается вместе со своим доводом. Когда: факт, который нельзя брать на веру - цифра, дата, «X поддерживает Y», утверждение из ответа пользователя или из вашей же памяти. Особенно если ваш контекст не вмещает 4-5 страниц целиком: вся черновая работа делается на нашей стороне, к вам приходят только вердикт и цитаты. Когда не: нужен обзор темы - deep_research; нужен текст конкретной страницы - read_url. Вердикт: supported - источники подтверждают; refuted - опровергают; mixed - расходятся между собой; unverified - подтверждения не нашлось. Последние два - нормальный результат, а не ошибка: значит, утверждение нельзя считать проверенным. Считает в независимых доменах: три цитаты с одного сайта - один голос. Смотрите agreeing/disagreeing и confidence, а не только вердикт. Если сайт не открылся, слот не теряется: берём следующего кандидата из выдачи, поэтому прочитанных источников обычно ровно столько, сколько вы заказали. Когда проверка всё же вышла неполной, это сказано в вердикте и в caveats. Возвращает: вердикт, уверенность, цитаты со ссылками и оговорки. Источников - 2-5. Время: 15-60 с. Цена: 8 кредитов (поиск, чтение источников и работа модели).

ParametersclaimrequiredquerylanguagetimeRangemaxSources

get_usage

Баланс, расход и лимиты

Баланс, остаток суточной квоты, время сброса окна, burst-лимит и расход за последние сутки и неделю - по услугам, в кредитах. Ответ - компактный JSON (машиночитаемые поля первыми). verbose: true - тот же отчёт человеческим текстом вместе с полным прайс-листом. Когда: вызов упал с [rate_limited] и надо понять, ждать секунды или до следующих суток; пользователь спрашивает про баланс и расходы; надо сверить свой лог вызовов с нашими списаниями; планируется большой батч. Возвращает: balance_credits, план, quota (used/limit/remaining/reset_min), burst, last24h (calls/credits/free и разбивка by_service) и week_credits. Без verbose прайс-листа в ответе нет - цены каждой услуги описаны у самой услуги, а здесь только то, что меняется от вызова к вызову. Тарификация: платите только за результат - ошибка и вызов, не принёсший ничего (пустая выдача, проверка без прочитанных источников), не списываются. Квота считает ВЫЗОВЫ, а не кредиты: 200 в сутки на бесплатном аккаунте и 2000 после первого пополнения баланса (burst 10 за 10 с). Цена: бесплатно, квоту и лимит запросов этот вызов не расходует - его можно звать без опасений.

Parametersverbose

map

Карта сайта

Собирает адреса страниц сайта: robots.txt → Sitemap:, затем /sitemap.xml и /sitemap_index.xml (включая вложенные карты), а если карт нет - ссылки со стартовой страницы. Возвращает найденные адреса, их общее число и разбивку по разделам: по ней видно, где на сайте что лежит. Когда: известен сайт, а не страница - «собрать все события с агрегатора», «какие разделы есть на сайте», «дай мне список страниц для чтения». Когда не: нужен текст страниц - crawl (он читает найденное); нужен ответ по теме без привязки к сайту - web_search. Фильтр search сравнивает подстроку с АДРЕСОМ (страницы мы не читаем), поэтому для русских сайтов указывайте часть латинского пути: search: "organizers" вместо «организаторы». Один вызов читает до 8 карт сайта: если сайт отдаёт больше, в ответе это сказано, а разделы показывают, куда идти дальше. Возвращает: pages (до limit адресов), total (сколько нашлось всего), sections (разделы с числом адресов), source (sitemap или links) и outcome: ok, blocked (сайт отвечает 403 - это не «страниц нет»), unreachable, empty. Цена: 1 кредит за каждые 10 возвращённых адресов, минимум 1 (200 адресов - 20 кредитов). Сайт, который нас не пустил, не тарифицируется: результата нет.

ParametersurlrequiredlimitintentsearchselectPathsexcludePathsincludeSubdomains

crawl

Обойти сайт

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

ParametersurlrequiredlimitintentsearchselectPathsexcludePathsincludeSubdomains

Version history

4
  1. v1.1.3LatestOct 30, 2026
  2. v1.1.2Oct 20, 2026
  3. v1.1.1Oct 12, 2026
  4. v1.0.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts