# antohins/seo-tools-mcp [Health: Active]

**Category:** 🎯 Marketing  
**Repository:** https://github.com/antohins/seo-tools-mcp  
**GitHub Stars:** 3  
**npm Downloads (last month):** 994  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/antohins-seo-tools-mcp

## Description
Five read-only SEO servers for the Google/Yandex (RU/CIS) market: SERP (XMLStock), Yandex Wordstat, Google Search Console (Search Analytics + URL Inspection), Yandex.Webmaster, and Yandex.Metrica. 38 tools, multi-account, OAuth with auto-refresh. Install: npx -y seo-tools-mcp-.

## Tools
Capabilities this server exposes over MCP:

- **xmlstock_auth_status** — Статус авторизации xmlstock: какие ключи заданы (маскированно), каких не хватает, как их получить. ВЫЗЫВАТЬ ПЕРВЫМ в начале работы с xmlstock. Если чего-то нет — запросить значения у пользователя и сохранить через xmlstock_set_credentials.
- **xmlstock_set_credentials** — Сохранить ключи xmlstock в /home/user/.config/seo-tools-mcp/.env (права 600) и применить сразу, без перезапуска сервера. Передавать только обновляемые поля. account — сохранить в именованный профиль (мультиаккаунт). Значения даёт пользователь; в ответе они маскируются.
- **xmlstock_serp** — Слепок выдачи Google/Yandex через XMLStock (ПЛАТНО за запрос). Возвращает { found, truncated (true = выдача кончилась раньше запрошенного depth), count, results: [{ position, url, title, snippet, text_bolds (подсветки hlword) }], serp_features: { featured_snippet, paa (только Google), related, sitelinks_top1, packs } }. Пустая выдача (код 15) ТАРИФИЦИРУЕТСЯ и помечается { results: [], empty: true, note }. depth>10 добирается пагинацией (каждая страница — отдельный платный запрос; у yandex_xml — до 100/страница). region: ОДИН регион (название или числовой id Яндекса) — работает для ВСЕХ движков. ОГРАНИЧЕНИЕ ИСТОЧНИКА: device=mobile отдаёт только позиции и сниппеты — без hlword/PAA/related; подсветки и SERP-фичи снимать с desktop. engine=yandex_xml — ОФИЦИАЛЬНЫЙ Яндекс XML (легальный API, тариф дороже: от 24 ₽/1000): groupby до 100 работает — до 100 результатов за ОДИН платный запрос (depth до 1000), hlword-подсветки на любых устройствах, статистика «найдено»: found (по запросу), found_docs (документов), found_human (строкой); в results доп. поля id/modtime/saved_copy_url/is_local. Отличие от yandex (live): SERP-фичей/packs нет — чистая органика; device/searchDomain/lang/l10n/period/exactQuery/includeAds/includeSimilar не применимы; safeSearch маппится в filter (strict/moderate/none).
- **xmlstock_images** — Поиск по картинкам Google через XMLStock (ПЛАТНО за запрос). Возвращает { position, url (страница-источник), imageUrl (сама картинка), title }. truncated: true = выдача кончилась раньше запрошенного depth.
- **xmlstock_news** — Поиск по новостям Google через XMLStock (ПЛАТНО за запрос). Возвращает { position, url, title, source (издание), date (часто относительная), snippet }. truncated: true = выдача кончилась раньше запрошенного depth.
- **xmlstock_video** — Поиск по видео Google через XMLStock (ПЛАТНО за запрос). Возвращает { position, url, title, thumbnail, host (YouTube...), channel, duration, snippet }. truncated: true = выдача кончилась раньше запрошенного depth.
- **xmlstock_balance** — Баланс и дневной расход аккаунта XMLStock (бесплатный сервисный вызов). Заодно проверка ключей.
- **xmlstock_wordstat** — Частотность и топ запросов Яндекс Wordstat через XMLStock (ПЛАТНО за запрос, ~19₽/1K). Возвращает { totalCount, results: [{ phrase, count }] (топ по фразе), associations: [{ phrase, count }] (похожие) }. Операторы Wordstat в query: "…" (точная), ! (форма слова), + (стоп-слово), - (минус), [ ] (порядок), | (или).
- **xmlstock_wordstat_dynamics** — Динамика частотности фразы по времени (Яндекс Wordstat через XMLStock, ПЛАТНО за запрос). period: day/week/month. from/to — YYYY-MM-DD (для month период автоматически растягивается на целые месяцы). Возвращает [{ date, count, share }].
- **xmlstock_wordstat_regions** — Распределение спроса по регионам для фразы (Яндекс Wordstat через XMLStock, ПЛАТНО — дороже топа/динамики). Возвращает [{ regionId, name, count, share, affinityIndex }]; имена регионов подставляются из дерева (кэш 24ч). ВНИМАНИЕ: при холодном кэше дерева (первый вызов за 24ч) делается дополнительный ПЛАТНЫЙ запрос regionsTree.
- **xmlstock_wordstat_regions_tree** — Дерево регионов Яндекс Wordstat через XMLStock (id + имя + путь) — id для параметра region в других запросах. ПЛАТНО за запрос.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "seo-tools-mcp": {
    "command": "npx",
    "args": ["-y","seo-tools-mcp-xmlstock"]
  }
}
```

## Documentation

## What antohins/seo-tools-mcp MCP server does

antohins/seo-tools-mcp MCP server gives MCP clients access to read-only SEO services aimed at Google and Yandex workflows, including the Russian and CIS markets. The repository describes separate stdio servers for SERP providers, Yandex Wordstat, Google Search Console, Google Analytics 4, Yandex.Webmaster, Yandex.Metrica, and self-hosted A-Parser. The supplied listing focuses on five of those service areas and reports 38 available tools.

Responses are returned as structured JSON. The tools do not publish content or modify data in the connected accounts. Defaults such as a Search Console property, GA4 property, Webmaster host, or Metrica counter can be selected during use rather than being fixed to one website.

## How it works

The package runs locally over stdio and can be used from an MCP-compatible client. Service credentials are selected according to the provider: XMLStock uses API keys, while Google Search Console, Yandex.Webmaster, and Yandex.Metrica use OAuth-based access. The README also documents service-account authentication for some Google services and automatic OAuth refresh for Yandex services.

XMLStock calls provide SERP, image, news, video, and Wordstat data. SERP requests can target Google or Yandex, use one region, and specify device and other search parameters. Requests that go beyond the initial result page are paginated. XMLStock search and Wordstat operations are charged by that provider, while the balance check is described as free.

## Setup and configuration

The repository identifies npm as a distribution channel and describes stdio installation with an `npx` command. The package name in the supplied installation text is incomplete, so the exact executable package should be verified in the repository or npm listing before putting it into an automated client configuration.

Credentials can be configured for the relevant provider. XMLStock has authorization-status and credential-setting tools: the status call reports which masked keys are present, and the setter can update selected fields, apply them without restarting, and save named profiles for multiple accounts. The README notes that XMLStock Wordstat uses the same XMLStock credentials as its other tools and does not require a separate Yandex Cloud key.

## Tools and capabilities

The XMLStock tool group includes:

- Google and Yandex organic SERP snapshots, including positions, URLs, titles, snippets, and selected SERP features.
- Google image, news, and video search results.
- Yandex Wordstat frequency, related phrases, time trends, regional demand, and a region tree.
- XMLStock account balance and credential checks.

The broader repository also documents Search Console queries and URL inspection, property and sitemap discovery, Yandex.Webmaster query and indexing data, and Yandex.Metrica reporting. The README lists additional GA4, XMLRiver, and A-Parser servers, although those are separate service groups rather than one combined tool namespace.

## Limitations and notes

Read-only describes account mutations, not cost. XMLStock SERP and Wordstat requests consume paid provider resources, and deeper SERP pagination creates additional requests. An empty SERP response can still be billed. Mobile XMLStock SERP results provide fewer features than desktop results, and the official `yandex_xml` mode has different fields and limitations from live Yandex search.

Search Console data uses Pacific Time, has roughly 16 months of history, and final data can lag by two to three days. The package therefore suits analysis and reporting, but users should account for provider billing, authentication scope, regional differences, and data freshness.

_Full upstream README: https://allmcps.com/mcp/antohins-seo-tools-mcp/readme_

