
Connects Claude to Yandex.Webmaster API with OAuth token authentication. Exposes three tools: get_hosts lists all sites registered in your Webmaster account, get_search_queries pulls metrics like clicks, impressions, CTR, and position data for search terms driving traffic to your site, and get_indexing returns the current indexing status. Useful if you're managing SEO for Russian markets where Yandex matters, need to monitor search performance directly from Claude, or want to check indexing health without switching to the web interface. Setup requires a Yandex OAuth token passed as an environment variable.
🗄 Репозиторий заархивирован
Разработка переехала в theYahia/YaAll — сборку, где весь яндексовский слой лежит в одном месте: свои MCP-серверы, скиллы Claude Code и материалы официальных наборов Яндекса.
Актуальная версия того, что лежало здесь:
mcp/yandex-webmaster-mcp/Пакет в npm прежний —
@theyahia/yandex-webmaster-mcp, ставится и работает как раньше. Здесь больше ничего не обновляется. Задачи и pull request'ы — в YaAll.
Archived — development moved to theYahia/YaAll, a single repository bundling the whole Yandex stack. The current version of this package now lives at
mcp/yandex-webmaster-mcp/. The npm package@theyahia/yandex-webmaster-mcpis unchanged. Please open issues and pull requests there.
Этот сервер входит в сборку theYahia/YaAll — весь яндексовский слой в одном репозитории: десять MCP-серверов, скиллы Claude Code под SEO и валидацию спроса, плюс материалы официальных серверов Яндекса. Здесь он живёт отдельно, там — рядом с остальными:
mcp/yandex-webmaster-mcp/Part of theYahia/YaAll — the whole Yandex stack in one repo.
MCP-сервер для API Яндекс.Вебмастер — сайты, индексация, поисковые запросы, sitemaps, диагностика и переобход. 13 инструментов, вывод в компактном Markdown (или сыром JSON).
{
"mcpServers": {
"yandex-webmaster": {
"command": "npx",
"args": ["-y", "@theyahia/yandex-webmaster-mcp"],
"env": {
"YANDEX_WEBMASTER_TOKEN": "ваш_oauth_токен"
}
}
}
}
claude mcp add yandex-webmaster -e YANDEX_WEBMASTER_TOKEN=ваш_oauth_токен -- npx -y @theyahia/yandex-webmaster-mcp
Нужен только YANDEX_WEBMASTER_TOKEN — OAuth-токен с правом webmaster:api.
user_id определяется автоматически через GET /user/, задавать его руками не нужно.
Как получить токен:
webmaster:api).YANDEX_WEBMASTER_TOKEN.| Переменная | Обяз. | Назначение |
|---|---|---|
YANDEX_WEBMASTER_TOKEN | да | OAuth-токен с правом webmaster:api |
YANDEX_WEBMASTER_USER_ID | нет | Числовой user ID. Если не задан — определяется автоматически |
PORT | нет | Порт HTTP-режима (по умолчанию 3100) |
MCP_ALLOWED_HOSTS | нет | Разрешённые Host для HTTP (CSV). * — отключить защиту от DNS-rebinding |
MCP_HTTP_AUTH_TOKEN | нет | Если задан — требует Authorization: Bearer <token> на POST /mcp |
| Инструмент | Описание |
|---|---|
get_hosts | Список сайтов: URL, статус подтверждения |
get_user_info | Данные аккаунта (user_id) |
get_popular_search_queries | Поисковые запросы по сайту: показы, клики, средняя позиция (per-query) |
get_query_analytics | Агрегированный тренд трафика во времени (НЕ per-query) |
get_search_queries | ⚠️ deprecated — алиас get_popular_search_queries |
get_indexing | Сводка индексации сайта |
get_indexing_history | Тренд проиндексированных/исключённых страниц |
submit_url | Отправить URL на переобход (расходует дневную квоту) |
get_recrawl_quota | Остаток дневной квоты переобхода |
get_recrawl_task | Статус задачи переобхода по task_id |
get_sitemaps | Список sitemap'ов сайта |
get_diagnostics | Диагностика сайта: ошибки обхода, DNS, проблемы сервера |
get_important_urls | Мониторинг важных URL |
У каждого инструмента есть параметр format: markdown (по умолчанию, компактно) или
json (сырой ответ API).
Какие сайты у меня в Вебмастере?
По каким запросам находят мой сайт за последнюю неделю?
Сколько страниц проиндексировано и есть ли деиндексация?
Отправь https://example.com/new-page на переобход и покажи остаток квоты.
Помимо stdio сервер умеет работать по Streamable HTTP:
YANDEX_WEBMASTER_TOKEN=... npx @theyahia/yandex-webmaster-mcp --http
# POST /mcp — MCP endpoint
# GET /health — { "status": "ok", "version": "..." }
По умолчанию включена защита от DNS-rebinding (разрешены только localhost/127.0.0.1).
Для доступа с другого хоста задайте MCP_ALLOWED_HOSTS. Токен в HTTP-режиме общий
(берётся из окружения) — multi-tenancy не поддерживается.
npm install
npm run dev # запуск из исходников (tsx)
npm test # тесты (vitest)
npm run typecheck # tsc --noEmit (src + tests)
npm run lint # eslint
npm run format # prettier --check
npm run build # сборка в dist/
MIT
YANDEX_WEBMASTER_TOKEN*secretAPI key