The three data tools cover the three questions keyword research actually asks: how big, which way is it moving, and where. Two practical notes before you script it: one call covers one phrase, so a long keyword list is better narrowed first than fired through wholesale against the shared quota, and counts can arrive as strings, because Yandex sends large integers that way in JSON.
A read-only server over Yandex Wordstat's search-demand data, reached through the Yandex Cloud Search API rather than a Yandex Direct advertising account. Five tools cover how often a phrase is searched, how that moves over time, and where the interest is.
- top_requests returns the most popular queries containing a phrase and the semantically related ones that may not contain it, with a total count over the last 30 days.
- dynamics returns a demand series by day, week or month, each point carrying its share of all Yandex searches — which is what makes seasonality readable.
- regions splits demand by region over the last 30 days with an affinity index: above 100% means interest there runs above average, below means under it.
- list_regions returns the reference tree of region ids and names — fetch it once, since every other tool takes those ids and reports them back.
- raw_request calls any Wordstat path directly, for endpoints that have no dedicated tool.
- Device filters — desktop, phone, tablet — on the demand and trend lookups, so a mobile-first market can be seen separately.
Node.js 20 or newer, a Yandex Cloud API key for the Search API in WORDSTAT_API_KEY, and the cloud folder id in WORDSTAT_FOLDER_ID. No Yandex Direct OAuth and no advertising account. Wordstat exposes no writes, so nothing here can create or change a campaign — and the quota is billed against that one key, shared by every call.
One command plus a key — npx -y mcp-yandex-wordstat@latest, then supply credentials
