Мы сделали поисковый API | MCP для ИИ-агентов, который работает из России и успешно прошел бенчмарки!
Мы запустили srezAI - поисковый API, который отдаёт ИИ-агенту не сырую выдачу, а очищенный от рекламы и навигации контент, готовый класть в контекст LLM. Есть MCP-сервер (подключается к Cursor и Claude Desktop или любому локальному ИИ-агенту за 30 секунд), REST, поиск картинок и многошаговый DeepResearch. Оплата в рублях, данные и вычисления — в РФ, работает без VPN. При регистрации даём 100 ₽ на баланс, чтобы можно было попробовать без карты. Ниже описал - зачем это вообще нужно, как устроено внутри и на какие грабли мы наступили.
Проблема: LLM живёт в прошлом, а веб - грязный
У любой языковой модели два врождённых ограничения: она не знает, что было после обучения, и она не умеет ходить в интернет сама. Стандартное решение — RAG: находим релевантные страницы, подсовываем их в контекст. Но между «найти страницы» и «подсунуть в контекст» прячется куча грязной работы:
Обычный поисковый API отдаёт ссылки, а не контент. Дальше вы сами качаете HTML, парсите, вырезаете меню, футеры, баннеры и cookie-заглушки.Половина интересных страниц - это SPA: без выполнения JavaScript в HTML пусто. То, что осталось, надо ещё почистить: иначе в контекст LLM едут токены на навигацию типа "Главная / О нас / Контакты" и рекламу, за которые вы платите...
Для англоязычного рынка есть Tavily, Exa, Serper и другие. Но если вы в России: оплата зарубежной картой, серверы за рубежом, часто нужен VPN, и глубина по Рунету у них так себе — русскоязычные источники и госреестры они видят плохо. Мы делали внутренний инструмент под свои задачи, поняли, что боль общая, и причесали его до публичного API. Кроме того, вы можете развернуть это решение локально (если требуется конфиденциальность вашему проекту)
Что делает srezAI
Четыре инструмента:
1) web_search - живой веб-поиск по Рунету и глобальному вебу. Возвращает результаты, уже очищенные до Markdown/JSON. Есть категории (общее / новости / IT / наука), фильтр по свежести и языку.
2) fetch_page - открывает конкретную страницу в реальном браузере, дожидается отрисовки JavaScript и возвращает её текст в Markdown плюс скриншот - удобно скармливать vision-моделям.
3) image_search - поиск изображений с прямыми ссылками и метаданными.
4) deep_research - многошаговое агентное исследование: сам декомпозирует вопрос, обходит десятки источников и собирает ответ с цитатами.
Всё это доступно двумя способами: по REST и через MCP, а инструменты будут пополняться и улучшаться.
MCP: веб-поиск в Cursor и Claude за 30 секунд
Model Context Protocol - это открытый стандарт от Anthropic, по которому ИИ-клиенты подключают внешние инструменты. Мы подняли MCP-сервер, поэтому подключение сводится к одному блоку конфига.
Например для Cursor:
Перезапустили Cursor - и у агента появились инструменты web_search, fetch_page, image_search, deep_research и другие.
Дальше он сам решает, когда сходить в веб. Тот же конфиг работает в Claude Desktop, Cline, VS Code — мы собрали copy-paste под каждый на странице srezai.ru/mcp.
REST для тех, кому не нужен MCP
В ответе будет массив результатов с полями title, url, content и excerpt (готовый фрагмент страницы под запрос). Обязателен только query, остальное — опционально.
Как это устроено внутри
Стек намеренно скучный и предсказуемый:
- Next.js (App Router) - и лендинг, и личный кабинет, и API-роуты в одном приложении. Серверные компоненты + server actions, без отдельного бэкенда.
- Поисковый слой - самописный движок + опенсурс аналоги (для поиска зарубежных ресур. Результаты прогоняются через очистку HTML → Markdown, выкидываем boilerplate.
- fetch_page - headless-браузер (Crawl4AI) с полной отрисовкой страницы.
- Auth - Logto (OIDC). Регистрация, вход и API-ключи srz_live_…; в БД храним только SHA-256 хэш ключа, сам ключ показываем один раз.
- Данные - NocoDB поверх Postgres: пользователи, баланс (в копейках, целым числом, без float), журнал запросов, ключи.
- Rate limiting - распределённый, на Redis, чтобы держать лимиты на нескольких инстансах.
- Вся инфраструктура - на серверах в РФ.
Грабли, на которые наступили
1) Токены на мусоре. Первая наивная версия клала в контекст сырой текст страницы. Оказалось, до 40% токенов уходило на навигацию и рекламу. Агрессивная очистка до основного контента — это не «приятный бонус», а прямая экономия денег пользователя на инференсе.
2) Потеря реферального параметра через OIDC-редирект. ?ref=… терялся на раунд-трипе в Logto и обратно. Решили просто: перехватываем код в proxy.ts (в Next 16 middleware переименован в proxy) и кладём в cookie на входе, а начисляем бонус уже после возврата.
3) NocoDB и версии API. Наша база оказалась в формате API v3, а половина гайдов - про v2. v2-эндпоинты на v3-базе отдают ERR_TABLE_NOT_FOUND, что уводит в ложную отладку прав и кэша. Записи v3 ещё и завёрнуты в {id, fields:{…}} — пришлось написать тонкий клиент, который разворачивает их в плоские объекты.
4) Деньги во float - никогда. Баланс держим в копейках целым числом. Любая арифметика с рублями во float рано или поздно родит 99.99999.
Сколько стоит и что по бонусам
Оплата в рублях с баланса, для юрлиц - счёт и закрывающие документы. Один поисковый запрос - от [0,10] ₽ (актуальные цены на srezai.ru/#pricing).
При регистрации кладём 100 ₽ на баланс - попробовать без привязки карты. Плюс запустили рефералку: делитесь ссылкой - друг получает 100 ₽ сверх приветственного бонуса, а вам за каждого зарегистрировавшегося падает ещё 100 ₽.
Чем отличаемся от аналогов
Для англоязычного веба Tavily/Exa/Serper по-прежнему отличный выбор. Мы решаем ту же задачу, но для тех, кому важна конфиденциальность, данные в РФ, работа без VPN и глубина по Рунету. Развёрнутые сравнения по осям - на srezai.ru/compare.
Что дальше
Расширяем свои возможности и рынок присутствия! А так-же проходим бенчмарки чтобы быть еще круче "зарубежных партнеров" =)
Будем рады фидбеку в комментариях — особенно по инструментам и форматам ответа. Если хочется потрогать руками: srezai.ru, 100 ₽ на старте хватит на пару сотен запросов.
P.S. Вопросы по интеграции и баг-репорты — сюда же в комментарии или на hello@srezai.ru