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 |
Capabilities
Features and capabilities supported by this server
| 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 добирается пагинацией (каждая страница — отдельный платный запрос). region: ОДИН регион (название или числовой id Яндекса) — работает для ОБОИХ движков. ОГРАНИЧЕНИЕ ИСТОЧНИКА: device=mobile отдаёт только позиции и сниппеты — без hlword/PAA/related; подсветки и SERP-фичи снимать с desktop. |
| 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_treeB | Дерево регионов Яндекс 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 | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/antohins/seo-tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server