Yandex Wordstat MCP

io.github.stufently由 GitHub 帳號 stufently 發布v2.2.1更新於 Oct 24, 2026

MCP server for Yandex Wordstat API — keyword research for Russian/CIS markets

概覽

AI 產生的概覽

本機 MCP 伺服器,串接 Yandex Wordstat 關鍵字研究,讓助理分析俄羅斯與獨立國協市場的搜尋需求、趨勢和地區分布。

可以做什麼
查詢包含某關鍵字的熱門搜尋詞,回傳近 30 天的關聯詞和搜尋量,可依地區和裝置類型篩選。依日、週或月分析關鍵字的搜尋量趨勢,日期會自動對齊到有效區間並回報調整。取得關鍵字的地區興趣分布,包括搜尋量、占比和親和指數。瀏覽 Wordstat 地區階層樹,並從快取樹中列出某地區的下層地區。
適用情境
適合為俄羅斯與獨立國協市場進行 SEO 或關鍵字研究、比較不同地區或裝置的搜尋需求,或追蹤某個詞的熱度隨時間的變化。
執行需求
以本機 Node.js 程序從原始碼執行(README 說明該作用域下尚未發布套件)。需要 Yandex Cloud 帳號並綁定計費帳戶,建立具有 search-api.webSearch.user 角色的服務帳戶,並設定 WORDSTAT_API_KEY(API 金鑰)和 WORDSTAT_FOLDER_ID(資料夾 ID)。憑證也可放在使用者家目錄下的設定檔。需要連線至 Yandex Cloud Search API 的網路存取。
安裝前請注意
需要保密的 Yandex Cloud API 金鑰(WORDSTAT_API_KEY)以及綁定計費帳戶的資料夾 ID,呼叫可能產生費用。README 提醒無作用域的套件名稱屬於無關的發布者,安裝前應核實來源。此伺服器只讀取 Wordstat 資料,不會修改任何內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Yandex Wordstat MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

yandex-wordstat-mcp

MCP server for Yandex Wordstat via Yandex Cloud Search API v2. Research keywords, analyze search volume trends, and explore regional search distribution for Russian and CIS markets.

v2.0: the legacy api.wordstat.yandex.net API was shut down by Yandex in 2026. The server now talks to searchapi.api.cloud.yandex.net/v2/wordstat/* and authenticates with a Yandex Cloud API key instead of an OAuth token. Tool names and parameters are unchanged.

Installation

This package is published as @stufently/yandex-wordstat-mcp; the unscoped name yandex-wordstat-mcp belongs to an unrelated publisher (see the note in the root README). Nothing is on the scope yet, so run it from source:

bash
git clone https://github.com/stufently/yandex-mcp.gitcd yandex-mcp && bun installnode packages/yandex-wordstat-mcp/src/index.mjs

Configuration

Add to your MCP client config:

json
{  "mcpServers": {    "yandex-wordstat": {      "command": "node",      "args": ["/path/to/yandex-mcp/packages/yandex-wordstat-mcp/src/index.mjs"],      "env": {        "WORDSTAT_API_KEY": "AQVN...",        "WORDSTAT_FOLDER_ID": "b1g..."      }    }  }}

Alternatively, put the credentials into ~/.config/yandex-cloud/wordstat.env (used as a fallback when the env vars are not set):

WORDSTAT_API_KEY=AQVN...WORDSTAT_FOLDER_ID=b1g...

Environment Variables

VariableRequiredDescription
WORDSTAT_API_KEYYesYandex Cloud API key (secret, AQVN...) of a service account
WORDSTAT_FOLDER_IDYesYandex Cloud folder ID (b1g...) used for billing and access checks

Authentication (how to get the key)

  1. Sign in to the Yandex Cloud console and pick (or create) a folder — its ID is visible in the URL: console.yandex.cloud/folders/<folderId>/.... A billing account must be linked to the cloud.
  2. Create a service account in that folder with the search-api.webSearch.user role.
  3. Open the service account → Create new key → API key, scope yc.search-api.execute.
  4. Copy the secret (shown once) into WORDSTAT_API_KEY; the key identifier (ajel...) is only needed to rotate or revoke the key later.

Rate Limiting

The server enforces a client-side rate limit of 10 requests per second using a sliding window. Requests exceeding the limit are automatically queued. Additionally, 429 and 5xx responses trigger automatic retry with exponential backoff.

Tool Reference

get-regions-tree

Get the Yandex Wordstat regions hierarchy tree.

ParameterTypeRequiredDefaultDescription
depthnumberNo3Maximum tree depth (1-5)

Returns a tree of regions with value (region ID), label (name), and children.

get-region-children

Get children of a specific region from the cached tree. Does not make an API call -- works from the cached region tree.

ParameterTypeRequiredDefaultDescription
regionIdnumberYes--Region ID to get children for
depthnumberNo2Maximum subtree depth (1-3)

top-requests

Find popular search queries containing a keyword (last 30 days), plus associated queries.

ParameterTypeRequiredDefaultDescription
phrasestringYes--Keyword or phrase to search for (max 400 chars)
regionsnumber[]No--Region IDs to filter by
devicesenum[]No--Device types: desktop, phone, tablet
limitnumberNo100Max phrases in response (1-2000)

Returns { topRequests: [{ phrase, count }], associations: [{ phrase, count }], totalCount } sorted by search volume.

dynamics

Analyze search volume trends over time for a keyword.

ParameterTypeRequiredDefaultDescription
phrasestringYes--Keyword or phrase (max 400 chars)
periodenumNomonthlyAggregation: daily, weekly, monthly
fromDatestringNoautoStart date (YYYY-MM-DD)
toDatestringNoautoEnd date (YYYY-MM-DD)
regionsnumber[]No--Region IDs
devicesenum[]No--Device types: desktop, phone, tablet

The API enforces window rules that are documented nowhere and are returned as raw gRPC errors when broken (verified against the live API on 2026-07-29):

PeriodRule
dailyfromDate must be within the last 60 days — exactly 60 days back is rejected
weeklyfromDate must be a Monday, toDate a Sunday, and the week must be over
monthlyfromDate must be the 1st of a month, toDate the last day, and the month must be over

Dates you pass are snapped to the nearest valid window instead of being rejected; every shift is listed in adjustments in both the text summary and structuredContent. A range that falls inside a single week or month expands to that whole period. A range that covers only the current, unfinished week or month cannot be served at all — the API rejects it — so the tool says so and names the latest available toDate instead of forwarding a 400.

Default date ranges by period:

  • daily: last 58 days (kept one day inside the limit so a request never expires on a UTC date rollover)
  • weekly: last 52 full weeks, Monday to Sunday
  • monthly: last 12 full months, 1st to end of month

All date math is done in UTC.

Returns an array of { date, count, share } data points.

regions

Get regional distribution of search interest for a keyword.

ParameterTypeRequiredDefaultDescription
phrasestringYes--Keyword or phrase (max 400 chars)
regionsnumber[]No--Region IDs to filter (client-side, includes descendants)
devicesenum[]No--Device types: desktop, phone, tablet
limitnumberNo20Maximum results (1-50)

Returns an array of { regionId, regionName, count, share, affinityIndex } sorted by count. Region names are enriched from the cached region tree.

Caching

The region tree is fetched once on the first call to get-regions-tree, get-region-children, or regions, and cached for the entire server session. A flat lookup map is built for O(1) region name resolution.

License

MIT

來源:packages/yandex-wordstat-mcp/README.md,提交 bdd6c64

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v2.2.1最新Oct 16, 2026
  2. v2.2.0Oct 15, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分