MCP server for the Yandex Wordstat API via Yandex Cloud Search API v2 — search-demand statistics (top & related queries, time dynamics, regional distribution) for AI agents.
Strong schema definitions with proper JSON Schema types, enums, and constraints. Tool descriptions are detailed and domain-specific (Russian language, Yandex Wordstat context). All 5 tools have descriptions exceeding 100 chars. Input schemas are comprehensive with type definitions, min/max constraints, and pattern validation. However, output schemas are not documented in the source code, only inferred from descriptions. Error handling guidance is minimal. Tool naming follows verb_noun pattern (top_requests, dynamics, regions, list_regions, raw_request) but lacks action clarity for discovery tools.
Возвращает, как менялся спрос на фразу во времени, — ряд {date, count, share}, где share — доля от всех поисковых запросов Яндекса. Подходит для оценки сезонности и тренда. period задаёт шаг ряда (daily/weekly/monthly). fromDate/toDate ограничивают диапазон метками времени RFC3339, при этом toDate должен попадать на границу периода.
Возвращает справочное дерево регионов, которые поддерживает Вордстат, — id регионов и их названия (label). Эти id подставляются в regionIds/regionMode остальных инструментов, а названия расшифровывают id регионов в их ответах. Дерево большое и стабильное: достаточно запросить его один раз и закешировать.
Универсальный запрос: обращается напрямую к любому пути Wordstat в Yandex Cloud Search API — для эндпоинтов, у которых нет отдельного инструмента, например "v2/wordstat/topRequests". Все эндпоинты Вордстата работают методом POST; `body` отправляется как JSON (folderId подставляется автоматически).
Возвращает, как спрос на фразу распределён по регионам за последние 30 дней. В каждой строке — id региона, count, share и affinityIndex (>100% — интерес в регионе выше среднего, <100% — ниже). regionMode выбирает группировку: all, cities (только города) или regions (только области и субъекты). Сопоставить id регионов с названиями помогает list_regions.
Output schemas not documented. Tool descriptions infer return structure (e.g., 'results', 'associations', 'totalCount' for top_requests) but no formal schema is visible in source code. LLMs cannot reliably extract fields or plan downstream calls without documented output types.
Error handling lacks recovery guidance. INSTRUCTIONS mention '429, 5xx, 401/403' but tools do not document what errors they return or how to recover. No actionable error messages visible in tool definitions.
raw_request tool is overly generic. Accepts arbitrary 'path' and 'body' parameters, bypassing schema validation and error handling. This is a footgun, agents can construct invalid requests or leak secrets in the body. Should be removed or heavily gated.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Возвращает поисковый спрос по фразе за последние 30 дней: самые популярные запросы, которые СОДЕРЖАТ фразу (results), и семантически ПОХОЖИЕ запросы, которые могут её не содержать (associations), плюс totalCount. Подходит для подбора ключевых фраз и оценки спроса. Значения счётчиков могут приходить строками (int64). Необязательные regionIds и devices сужают выборку; numPhrases задаёт, сколько фраз вернуть (1..2000).
list_regions has empty input schema (no parameters required). Description says 'Дерево большое и стабильное' (tree is large and stable) but does not document pagination, filtering, or result limits. Agents cannot control result size.
Parameter descriptions use Russian language exclusively. While appropriate for Russian-speaking users, descriptions should be in English for international LLM compatibility and code review. Mixing languages reduces clarity.