MCP Yandex Search API с отложенным поиском
Yandex Search MCP Server (Async Mode)
Форк официального сервера Яндекса с отложенным async-поиском по умолчанию, который экономит до 94% на тарифе Search API
Низкий риск
Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.
Почему такой уровень
- Сервер только читает публичные результаты поиска через официальный API
Установка
Ручная установка
docker build -t yandex-mcp-server-async:latest . && docker run -i --rm -e SEARCH_API_KEY=<your_api_key> -e FOLDER_ID=<your_folder_id> -v $(pwd)/data:/app/data yandex-mcp-server-async:latestСборка и запуск в Docker с сохранением SQLite-хранилища в volume.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дорабатывает официальный yandex/yandex-search-mcp-server: инструмент web_search по умолчанию уходит в отложенный (async) режим вместо синхронного, потому что отложенный тариф Яндекса дешевле в разы, особенно ночью. Статус и результат операции проверяются отдельным инструментом get_search_status по operation_id, список незавершенных запросов дает get_pending_searches, а cleanup_old_searches чистит старые записи. ID операций хранятся в локальной SQLite, а не только в памяти, так что их можно проверить позже даже после перезапуска сервера.
Для кого. Для тех, кто много и часто ищет через Yandex Search API и хочет платить по отложенному тарифу вместо синхронного.
Подходит, если
- Объем запросов достаточно большой, чтобы разница в цене между sync и async была заметна
- Агент может подождать результат или проверить его позже отдельным вызовом
- Нужно отслеживать статус пачки запросов и чистить старые записи автоматически
Не подходит, если
- Нужен мгновенный синхронный ответ на каждый запрос: можно передать mode sync, но тогда экономии нет
- Нужны картиночный или генеративный поиск: сервер сфокусирован на web_search
Пример запроса к агенту
Найди информацию про кофемашины в отложенном режиме и сообщи, когда результат будет готовОграничения
Async-режим по умолчанию означает, что результат не мгновенный, агенту нужно опрашивать get_search_status или явно передать wait true. Нужен сервисный аккаунт Yandex Cloud с ролью search-api.editor и API-ключ со scope yc.search-api.execute. Цены в README указаны на момент публикации и могут измениться у Яндекса.
Как отключить. Остановите контейнер или процесс сервера и удалите его из конфигурации MCP клиента.
MCP
- Транспорт
- stdio
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| SEARCH_API_KEY обязательная, секрет | API-ключ сервисного аккаунта Yandex Cloud со scope yc.search-api.execute |
| FOLDER_ID обязательная | ID папки Yandex Cloud |
Проверка безопасности
- Сервер только читает публичные результаты поиска через официальный API
Коротко о README
README на русском сравнивает цены синхронного и отложенного тарифов Яндекса с конкретной экономией в процентах и рублях, дает пошаговую настройку Yandex CLI, сервисного аккаунта и API-ключа, установку через Docker или Python, конфиги для Claude Desktop, Cursor и opencode, описание всех четырех инструментов и схему архитектуры сервера.
Частые вопросы
Можно ли получить синхронный ответ, как в оригинале?
Да, передайте mode sync в вызове web_search, но тогда действует более дорогой синхронный тариф.
Где хранятся ID операций?
В локальной SQLite базе, которая монтируется как volume /app/data в Docker.
Похожие
CLI, скилл и Python-библиотека для управления браузером: агент кликает, заполняет формы и читает страницы через CDP
Скилл собирает обсуждения темы за последние 30 дней из Reddit, X, YouTube, HN, Polymarket и GitHub и сводит их в бриф
Официальный MCP-сервер команды Chrome DevTools: агент управляет живым Chrome, смотрит сеть, консоль и записывает трейсы производительности
Быстрый CLI на Rust для автоматизации браузера агентами: снимки доступности со ссылками на элементы, MCP-сервер и скиллы