seo-tools-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GSC_SA_JSON | No | Path to Google service account JSON key for GSC | |
| YWM_HOST_ID | No | Default Yandex Webmaster host ID | |
| XMLSTOCK_KEY | No | XMLStock API key | |
| GSC_CLIENT_ID | No | Google OAuth client ID for GSC | |
| XMLSTOCK_USER | No | XMLStock user ID | |
| WORDSTAT_API_KEY | No | API key for Yandex Wordstat API | |
| YANDEX_CLIENT_ID | No | Yandex OAuth client ID | |
| GSC_CLIENT_SECRET | No | Google OAuth client secret for GSC | |
| GSC_REFRESH_TOKEN | No | Google OAuth refresh token for GSC | |
| SEO_TOOLS_MCP_ENV | No | Path to alternative environment file | |
| METRIKA_COUNTER_ID | No | Default Yandex Metrika counter ID | |
| WORDSTAT_FOLDER_ID | No | Yandex Cloud folder ID for Wordstat API | |
| YANDEX_OAUTH_TOKEN | No | Yandex OAuth token (implicit flow) | |
| YANDEX_CLIENT_SECRET | No | Yandex OAuth client secret | |
| YANDEX_REFRESH_TOKEN | No | Yandex OAuth refresh token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| xmlstock_auth_statusA | Статус авторизации xmlstock: какие ключи заданы (маскированно), каких не хватает, как их получить. ВЫЗЫВАТЬ ПЕРВЫМ в начале работы с xmlstock. Если чего-то нет — запросить значения у пользователя и сохранить через xmlstock_set_credentials. |
| xmlstock_set_credentialsA | Сохранить ключи xmlstock в /root/.config/seo-tools-mcp/.env (права 600) и применить сразу, без перезапуска сервера. Передавать только обновляемые поля. account — сохранить в именованный профиль (мультиаккаунт). Значения даёт пользователь; в ответе они маскируются. |
| xmlstock_serpA | Слепок выдачи 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_imagesA | Поиск по картинкам Google через XMLStock (ПЛАТНО за запрос). Возвращает { position, url (страница-источник), imageUrl (сама картинка), title }. truncated: true = выдача кончилась раньше запрошенного depth. |
| xmlstock_newsA | Поиск по новостям Google через XMLStock (ПЛАТНО за запрос). Возвращает { position, url, title, source (издание), date (часто относительная), snippet }. truncated: true = выдача кончилась раньше запрошенного depth. |
| xmlstock_videoA | Поиск по видео Google через XMLStock (ПЛАТНО за запрос). Возвращает { position, url, title, thumbnail, host (YouTube...), channel, duration, snippet }. truncated: true = выдача кончилась раньше запрошенного depth. |
| xmlstock_balanceA | Баланс и дневной расход аккаунта XMLStock (бесплатный сервисный вызов). Заодно проверка ключей. |
| xmlstock_wordstatA | Частотность и топ запросов Яндекс Wordstat через XMLStock (ПЛАТНО за запрос, ~19₽/1K). Возвращает { totalCount, results: [{ phrase, count }] (топ по фразе), associations: [{ phrase, count }] (похожие) }. Операторы Wordstat в query: "…" (точная), ! (форма слова), + (стоп-слово), - (минус), [ ] (порядок), | (или). |
| xmlstock_wordstat_dynamicsA | Динамика частотности фразы по времени (Яндекс Wordstat через XMLStock, ПЛАТНО за запрос). period: day/week/month. from/to — YYYY-MM-DD (для month период автоматически растягивается на целые месяцы). Возвращает [{ date, count, share }]. |
| xmlstock_wordstat_regionsA | Распределение спроса по регионам для фразы (Яндекс Wordstat через XMLStock, ПЛАТНО — дороже топа/динамики). Возвращает [{ regionId, name, count, share, affinityIndex }]; имена регионов подставляются из дерева (кэш 24ч). ВНИМАНИЕ: при холодном кэше дерева (первый вызов за 24ч) делается дополнительный ПЛАТНЫЙ запрос regionsTree. |
| xmlstock_wordstat_regions_treeA | Дерево регионов Яндекс Wordstat через XMLStock (id + имя + путь) — id для параметра region в других запросах. ПЛАТНО за запрос. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Tools are generally distinct: search types, wordstat variants, and auth/balance are clearly separated. However, xmlstock_wordstat_regions and xmlstock_wordstat_regions_tree share a very similar prefix and could cause initial confusion, though their descriptions resolve the ambiguity.
All tools share the xmlstock_ prefix and use snake_case, which is consistent. Some names are nouns (xmlstock_serp, xmlstock_images) while others use verbs (xmlstock_set_credentials), creating a minor stylistic deviation but no major inconsistency.
11 tools is well within the ideal range and each tool covers a meaningful XMLStock feature: auth, credentials, balance, SERP, three vertical searches, and a complete Wordstat suite. No tool feels redundant or unnecessary.
The tool surface fully covers the XMLStock SEO API scope: setup and validation, balance monitoring, web/image/news/video search, and wordstat frequency, dynamics, regional distribution, and region tree. No critical workflow dead ends are apparent.