Skip to main content
Glama
antohins

seo-tools-mcp

by antohins

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GSC_SA_JSONNoPath to Google service account JSON key for GSC
YWM_HOST_IDNoDefault Yandex Webmaster host ID
XMLSTOCK_KEYNoXMLStock API key
GSC_CLIENT_IDNoGoogle OAuth client ID for GSC
XMLSTOCK_USERNoXMLStock user ID
WORDSTAT_API_KEYNoAPI key for Yandex Wordstat API
YANDEX_CLIENT_IDNoYandex OAuth client ID
GSC_CLIENT_SECRETNoGoogle OAuth client secret for GSC
GSC_REFRESH_TOKENNoGoogle OAuth refresh token for GSC
SEO_TOOLS_MCP_ENVNoPath to alternative environment file
METRIKA_COUNTER_IDNoDefault Yandex Metrika counter ID
WORDSTAT_FOLDER_IDNoYandex Cloud folder ID for Wordstat API
YANDEX_OAUTH_TOKENNoYandex OAuth token (implicit flow)
YANDEX_CLIENT_SECRETNoYandex OAuth client secret
YANDEX_REFRESH_TOKENNoYandex 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityActive
ResponsivenessUnresponsive