Yandex Webmaster MCP

io.github.askadsPublished by GitHub account askadsv1.2.4Updated Nov 3, 2026

MCP server for Yandex Webmaster API: indexing, search queries, sitemaps, diagnostics, links.

Overview

AI-generated overview

Connects an AI assistant to Yandex Webmaster API v4 to inspect a site's indexing, search queries, diagnostics, sitemaps and backlinks.

What you can do
  • List and add sites, check verification status and start verification
  • Read site summary (quality index, indexed and excluded pages) and current diagnostics
  • Read top search queries and query history with impressions, clicks and average positions
  • Read crawl and indexing history, important pages and external links
  • List and add sitemaps, and queue a URL for recrawl
  • Manage the account connection (status, in-chat login, logout) and call any API v4 path directly
When to use it
Useful when you want to ask in plain language how a site appears in Yandex organic search: which pages are indexed or excluded, what problems Webmaster reports, how visibility changed, and whether sitemaps or backlinks look right. It is not for Metrika traffic, Wordstat demand or advertising data.
Requirements
Local stdio process run via npx, needs Node.js 20 or newer. A Yandex account with the sites visible in Webmaster; normally no token is needed because login happens in the chat via a one-time code. For CI, an OAuth token can be supplied in YANDEX_OAUTH_TOKEN. Optional variables: YANDEX_USER_ID, YANDEX_WEBMASTER_HOST_ID, YANDEX_WEBMASTER_API_BASE, YANDEX_WEBMASTER_MAX_RETRIES, YANDEX_WEBMASTER_TIMEOUT_MS. Network access to the Yandex API.
Before you install
YANDEX_OAUTH_TOKEN grants access to the account's sites and should not be shared; the token saved by in-chat login is stored locally with owner-only permissions. Some tools change state: adding a site or sitemap, starting verification, and queuing a recrawl, which consumes the site's daily quota. raw_request can send POST and DELETE, and DELETE permanently removes a site or sitemap. Anonymous technical telemetry is sent by default and can be disabled with ASKADS_TELEMETRY=0.

Installation

In SourceWeft

  1. Open Yandex Webmaster MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Яндекс Вебмастер MCP

[npm] [CI] [Glama] [License: MIT]

Яндекс Вебмастер MCP подключает AI-приложение — Claude, Cursor, Codex и другие — к данным Яндекс Вебмастера. Спросите на естественном языке, как сайт выглядит в поиске Яндекса: какие страницы попали или не попали в поиск, что происходит с показами и кликами, какие проблемы видит Вебмастер, как устроены sitemap и внешние ссылки. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.

  • 20 инструментов. Сайты, диагностика, поисковые запросы, индексация, sitemap, внешние ссылки и подключение аккаунта прямо из диалога.
  • Работает с органическим поиском. Это не Метрика, не Вордстат и не рекламный кабинет: здесь нет данных о посещаемости, поисковом спросе и рекламе.
  • Подключение в чате. Яндекс откроет страницу входа; одноразовый код действует 10 минут, а сервер проверит доступ к сайтам сразу после подключения.
  • Почти всё — чтение. Отдельные инструменты могут добавить сайт или sitemap, запустить подтверждение прав либо поставить страницу в очередь на переобход.
  • Только ваши сайты. Сервер видит данные тех сайтов, к которым у токена есть доступ; для статистики и диагностики права на сайт должны быть подтверждены в Вебмастере.

Попробуйте первым сообщением:

Какие критичные проблемы сейчас видит диагностика на моём сайте?

Подключить сервер · Посмотреть сценарии · Открыть техническую документацию


Увидеть работу за минуту

Вы: Покажи мои сайты в Вебмастере и кратко оцени их состояние.

Ассистент: Показывает сайты, доступные по токену, их ИКС, число страниц в поиске и исключённых страниц, а также количество проблем по степени серьёзности.

Вы: Какие критичные проблемы есть у основного сайта и что проверить в первую очередь?

Ассистент: Разбирает текущую диагностику Вебмастера, отделяет критичные проблемы от рекомендаций и объясняет, какие из них требуют действий на сайте.

Вы: По каким запросам сайт чаще всего показывался за последнюю неделю?

Ассистент: Показывает запросы с показами, кликами и средними позициями. При необходимости сравнивает динамику для компьютеров и мобильных устройств.

Содержание

Быстрый старт

Нужен Node.js 20+. npx скачает сервер при первом запуске — отдельно устанавливать пакет не нужно. Токен заранее получать не нужно: подключение проходит прямо в диалоге.

  1. Добавьте сервер в своё AI-приложение. Выберите инструкцию ниже.
  2. Напишите: «Подключи Яндекс Вебмастер» — ассистент проведёт через вход в Яндекс и проверит, что видит ваши сайты.
  3. Задайте первый вопрос, например: «Какие критичные проблемы сейчас видит диагностика на моём сайте?»

Для CI и автоматических установок можно задать готовый токен — см. Подключение и настройка.

Codex

Через интерфейс. Откройте Settings → Plugins → MCP servers, нажмите Add server и укажите:

  • имя: yandex-webmaster;
  • команда: npx;
  • аргументы: -y mcp-yandex-webmaster@latest.

Сохраните сервер. Он появится в списке MCP-серверов Codex.

Через командную строку. Вместо интерфейса можно выполнить:

bash
codex mcp add yandex-webmaster \  -- npx -y mcp-yandex-webmaster@latest

Проверить, что сервер добавлен: codex mcp list.

Claude Code
bash
claude mcp add --transport stdio --scope user \  yandex-webmaster -- npx -y mcp-yandex-webmaster@latest

Проверить подключение: claude mcp list.

Claude Desktop

Откройте Settings → Developer → Edit Config и добавьте в claude_desktop_config.json:

json
{  "mcpServers": {    "yandex-webmaster": {      "command": "npx",      "args": ["-y", "mcp-yandex-webmaster@latest"]    }  }}

Если раздела Developer нет, откройте файл вручную: macOS — ~/Library/Application Support/Claude/claude_desktop_config.json, Windows — %APPDATA%\Claude\claude_desktop_config.json. Перезапустите Claude Desktop.

Cursor

Откройте ~/.cursor/mcp.json, чтобы подключить сервер во всех проектах, или .cursor/mcp.json в конкретном проекте. Добавьте:

json
{  "mcpServers": {    "yandex-webmaster": {      "command": "npx",      "args": ["-y", "mcp-yandex-webmaster@latest"]    }  }}
VS Code

В палитре команд выполните MCP: Open User Configuration. В открывшемся mcp.json добавьте сервер:

json
{  "servers": {    "yandex-webmaster": {      "type": "stdio",      "command": "npx",      "args": ["-y", "mcp-yandex-webmaster@latest"]    }  }}

После сохранения выполните MCP: List Servers и запустите сервер из списка.

Что можно поручить

Понять состояние сайта в поиске

  • «Покажи мои сайты в Вебмастере и их ИКС».
  • «Сколько страниц основного сайта находится в поиске и сколько исключено?»
  • «Какие критичные и фатальные проблемы есть на сайте?»
  • «Какие важные страницы изменили статус индексации?»

Разобраться с поисковыми запросами

  • «По каким запросам сайт чаще всего показывался за последнюю неделю?»
  • «Как менялись показы, клики и средняя позиция сайта за последний месяц?»
  • «Сравни видимость сайта на мобильных устройствах и компьютерах».

Проверить обход, sitemap и внешние ссылки

  • «Покажи, какие HTTP-ошибки робот Яндекса встречал при обходе сайта».
  • «Есть ли ошибки в sitemap и когда робот в последний раз его читал?»
  • «Покажи примеры внешних ссылок на сайт».

Подготовить действие на сайте

  • «Проверь, добавлен ли sitemap https://example.com/sitemap.xml, и объясни, что изменится при добавлении».
  • «Сколько переобходов осталось на сегодня для сайта и можно ли отправить страницу в очередь?»
  • «Как подтвердить права на новый сайт через DNS?»

Как это работает

Работа начинается со списка сайтов. У каждого есть технический идентификатор host_id — сервер подхватывает его из вашего запроса или из переменной YANDEX_WEBMASTER_HOST_ID, если она задана.

После подтверждения прав на сайт сервер может собрать в одном диалоге:

  • состояние в поиске — ИКС, число страниц в поиске и исключённых страниц, текущие проблемы;
  • видимость по запросам — показы, клики и средние позиции по датам и типам устройств;
  • обход и индексацию — HTTP-коды при обходе, статус важных страниц, sitemap и очередь на переобход;
  • ссылочный профиль — примеры страниц, которые ссылаются на ваш сайт.

Если прав на сайт нет, Вебмастер вернёт HOST_NOT_VERIFIED. Если сайт ещё не загружен или не проиндексирован, HOST_NOT_LOADED и HOST_NOT_INDEXED означают, что данных пока нет, а не нулевые показатели.

Что может изменить данные

Большинство вопросов к серверу только читают данные. Следующие операции меняют состояние в Яндекс Вебмастере:

ДействиеЧто происходитНа что обратить внимание
Добавить сайтСайт появляется в списке сайтов аккаунта.Права на него нужно подтвердить отдельно.
Запустить подтверждение правВебмастер начинает проверять DNS-запись, HTML-файл или мета-тег.Перед запуском нужно разместить код, который выдал Вебмастер.
Добавить sitemapSitemap передаётся Вебмастеру.Повторное добавление вернёт сообщение, что файл уже есть.
Отправить страницу на переобходURL попадает в очередь на обход роботом.Тратится суточная квота сайта; ответ покажет её остаток.
Выполнить прямой запрос APIraw_request открывает пути API, для которых нет отдельного инструмента.POST тоже может менять данные, а DELETE — безвозвратно удалить сайт или sitemap.

Инструменты, которые меняют состояние, помечены для AI-приложения как действия, а raw_request с возможным удалением — как потенциально необратимое. Приложение может запросить подтверждение, но его поведение зависит от конкретного клиента. Для удаления нужна явная просьба.

Подключение и настройка

Сервер обращается к Yandex Webmaster API v4 от имени вашего аккаунта Яндекса и видит те же сайты, которые доступны этому аккаунту в веб-интерфейсе Вебмастера.

Для обычного использования токен заранее не нужен:

  1. В чате попросите подключить Яндекс Вебмастер.
  2. Откройте ссылку на Яндекс OAuth под аккаунтом, которому в Вебмастере видны нужные сайты.
  3. Подтвердите доступ и пришлите показанный код ассистенту. Код одноразовый, действует 10 минут и меняется на токен только внутри работающего сервера — перезапускать приложение и править конфигурацию не нужно.

Сервер использует PKCE: код из чата сам по себе нельзя обменять на токен, поэтому пересылать его в чате безопасно. Полученный токен хранится локально в ~/.config/mcp-yandex-webmaster/credentials.json с правами только для владельца (0600). Дальше подключение живёт само: доступ продлевается автоматически и не отваливается через год. Проверить состояние — попросите «покажи статус подключения», отключить — «отключи Вебмастер»; выданный доступ отзывается в Яндекс ID.

Для CI и нестандартных установок доступна настройка через переменные окружения:

ПеременнаяНазначение
YANDEX_OAUTH_TOKENГотовый OAuth-токен с доступом к Вебмастеру; имеет приоритет над входом из диалога — такой токен сервер не обновляет и не удаляет.
YANDEX_WEBMASTER_HOST_IDСайт (host_id) по умолчанию, чтобы не уточнять его в каждом запросе. Узнать host_id можно командой «Покажи мои сайты в Вебмастере».
YANDEX_WEBMASTER_OAUTH_CLIENT_IDClientID собственного OAuth-приложения вместо приложения по умолчанию.
YANDEX_USER_IDИдентификатор пользователя Вебмастера; по умолчанию определяется автоматически.
YANDEX_WEBMASTER_TIMEOUT_MSТаймаут запроса; по умолчанию 60 000 мс.
YANDEX_WEBMASTER_MAX_RETRIESЧисло повторов при временных ошибках; по умолчанию 3.
YANDEX_WEBMASTER_API_BASEБазовый адрес API; по умолчанию https://api.webmaster.yandex.net/v4.

Готовый токен для YANDEX_OAUTH_TOKEN можно получить так: создайте приложение на oauth.yandex.ru, в правах доступа выберите API Яндекс Вебмастера — оба права, webmaster:hostinfo и webmaster:verify, и получите токен по инструкции Яндекс OAuth. Это же приложение подойдёт и для входа из диалога — задайте его ClientID в YANDEX_WEBMASTER_OAUTH_CLIENT_ID (Redirect URI — https://oauth.yandex.ru/verification_code).

Не публикуйте токен в чате, репозитории или скриншотах: он даёт доступ к сайтам вашего аккаунта.

Данные и телеметрия

По умолчанию сервер отправляет анонимные технические события: случайный идентификатор установки, название вызванного инструмента, версии сервера, AI-приложения, Node.js и операционной системы. При вызове инструмента сервер также отправляет его исход, а при ошибке - фрагмент её текста: код и сообщение, в которых e-mail, адреса, токены, числа от 4 цифр и текст в кавычках заменены на «#». Если в тексте ошибки есть значение из запроса, оно тоже может попасть во фрагмент. Токен Яндекса, данные аккаунта, аргументы инструментов, тексты запросов, значения и названия переменных окружения не отправляются.

Чтобы отключить телеметрию для MCP-серверов Ask Ads, задайте переменную окружения:

bash
ASKADS_TELEMETRY=0

Ограничения

  • Подтверждённые права обязательны для статистики. Без них доступны список сайтов и проверка статуса прав, но не диагностика, запросы и индексация.
  • Переобход ограничен суточной квотой сайта. В ответе есть quota_remainder — остаток на сегодня. При 429 QUOTA_EXCEEDED ожидание не поможет: квота восстановится завтра.
  • Популярные запросы ограничены данными Вебмастера. В топ попадает до 3 000 запросов за последнюю неделю, а за один запрос можно получить до 500 строк.
  • Повторы запросов предусмотрены только для временных ошибок. Сервер делает до трёх повторов для обычных ограничений частоты; ошибки сети и сервера повторяются только при чтении, чтобы не продублировать действие.
  • Нет постоянного наблюдения. Сервер работает, когда его вызывает AI-приложение. Если приложение поддерживает регулярные задания, можно настроить периодический запрос к серверу для проверки нужных показателей.

Техническая документация

Поддержка

Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.

Source: README.md at commit 06e132e

Tools

20

auth_status

Статус подключения к Вебмастеру

Показывает, подключён ли Яндекс Вебмастер: есть ли токен, откуда он взят (переменная окружения YANDEX_OAUTH_TOKEN или сохранённый вход), когда истекает и где лежит файл с сохранёнными данными. Ничего не отправляет в сеть и не показывает сам токен. Вызовите это, если инструменты Вебмастера отвечают, что подключение не настроено.

Takes no parameters.

start_login

Начать подключение Вебмастера

Первый шаг подключения Яндекс Вебмастера без правки конфигурации и без перезапуска клиента. Возвращает ссылку на страницу Яндекс OAuth. Покажите ссылку пользователю целиком и попросите: открыть её в браузере под аккаунтом, которому в Вебмастере видны нужные сайты, подтвердить доступ и прислать показанный код подтверждения. Полученный код передайте в finish_login. Код действует 10 минут. Сам по себе код бесполезен для постороннего: обменять его может только этот сервер.

Takes no parameters.

finish_login

Завершить подключение Вебмастера

Второй шаг подключения: обменивает код подтверждения из start_login на токен доступа, сохраняет его в файл только для владельца (0600) и сразу проверяет живым запросом к Вебмастеру. После успеха остальные инструменты работают немедленно — перезапускать клиент не нужно. Код одноразовый и живёт 10 минут: если он не принят, вызовите start_login заново и попросите свежий.

Parameterscoderequired

logout

Отключить Вебмастер

Удаляет сохранённый токен Вебмастера с диска. Токен, заданный переменной окружения YANDEX_OAUTH_TOKEN, не трогает — его нужно убирать из конфигурации клиента вручную. Доступ, выданный приложению, остаётся активным на стороне Яндекса: отозвать его можно в Яндекс ID.

Takes no parameters.

get_user_id

ID пользователя

Возвращает идентификатор пользователя (user_id) — владельца OAuth-токена: {"user_id": число}. Сервер подставляет user_id во все остальные вызовы автоматически, так что обычно этот инструмент нужен только для диагностики (например, чтобы задать YANDEX_USER_ID) или для путей raw_request.

Takes no parameters.

list_sites

Список сайтов

Возвращает список сайтов пользователя в Яндекс Вебмастере: массив hosts с полями host_id (идентификатор вида «https:example.com:443» — он нужен всем остальным инструментам), ascii_host_url/unicode_host_url, verified (подтверждены ли права) и main_mirror (главное зеркало, если сайт — не главное). С этого инструмента стоит начинать любую работу с Вебмастером.

Takes no parameters.

add_site

Добавить сайт

Добавляет сайт в список пользователя в Яндекс Вебмастере. Возвращает {"host_id": строка}. После добавления права на сайт нужно подтвердить (get_verification_status → start_verification). Ошибки: 409 HOST_ALREADY_ADDED — сайт уже в списке; 403 HOSTS_LIMIT_EXCEEDED — превышен лимит сайтов.

Parametershost_urlrequired

get_site_summary

Сводка по сайту

Возвращает сводную статистику сайта: sqi (ИКС — индекс качества сайта), searchable_pages_count (страницы в поиске), excluded_pages_count (исключённые страницы) и site_problems — число проблем по категориям FATAL/CRITICAL/POSSIBLE_PROBLEM/RECOMMENDATION. Требует подтверждённых прав на сайт.

Parametershost_id

get_verification_status

Статус подтверждения прав

Возвращает состояние подтверждения прав на сайт: verification_state (NONE/VERIFIED/IN_PROGRESS/VERIFICATION_FAILED/INTERNAL_ERROR), verification_type, verification_uin — код UIN, который нужно разместить на сайте перед запуском start_verification, applicable_verifiers (доступные способы), latest_verification_time и fail_info при неудаче.

Parametershost_id

start_verification

Запустить подтверждение прав

Запускает проверку прав на сайт выбранным способом. Перед вызовом разместите UIN-код из get_verification_status: dns — TXT-запись «yandex-verification: <UIN>»; html_file — файл yandex_<UIN>.html в корне сайта; meta_tag — <meta name="yandex-verification" content="<UIN>"> на главной. Ответ — как у get_verification_status (verification_state обычно IN_PROGRESS). Ошибка 409 VERIFICATION_ALREADY_IN_PROGRESS — проверка уже идёт.

Parametershost_idverification_typerequired

get_site_diagnostics

Диагностика сайта

Возвращает диагностику сайта — объект problems, где ключ — тип проблемы, а значение — {severity: FATAL/CRITICAL/POSSIBLE_PROBLEM/RECOMMENDATION, state: PRESENT/ABSENT/UNDEFINED, last_state_update}. Показывает, что именно Вебмастер считает проблемой сайта прямо сейчас. Требует подтверждённых прав на сайт.

Parametershost_id

get_search_queries_history

История показателей запросов

Возвращает историю суммарных показателей по ВСЕМ поисковым запросам сайта: indicators — объект, где ключ — показатель (TOTAL_SHOWS и т.д.), значение — массив точек {date, value}. Подходит для динамики видимости сайта: показы, клики и средние позиции по датам. По умолчанию период — последняя неделя. Требует подтверждённых прав на сайт.

Parametersdate_tohost_iddate_fromquery_indicatorsdevice_type_indicator

get_indexing_history

История обхода сайта

Возвращает историю обхода сайта роботом: indicators — объект с массивами точек {date, value} по ключам HTTP_2XX, HTTP_3XX, HTTP_4XX, HTTP_5XX и OTHER (неподдерживаемый код или ошибка соединения). Показывает, сколько страниц робот загрузил и с какими кодами. По умолчанию — данные за текущий день; период задаётся date_from/date_to. Требует подтверждённых прав на сайт.

Parametersdate_tohost_iddate_from

recrawl_url

Отправить страницу на переобход

Отправляет страницу сайта в очередь на переобход роботом («Переобход страниц»). Возвращает {task_id: UUID, quota_remainder: остаток суточной квоты} со статусом 202. Квота на сайт суточная и зависит от сайта — показывайте пользователю quota_remainder. Ошибки: 400 INVALID_URL — URL не принадлежит сайту или некорректен; 409 URL_ALREADY_ADDED — страница уже в очереди; 429 QUOTA_EXCEEDED — суточная квота исчерпана, попробуйте завтра. 202 означает «в очереди», а не «переобойдена»: сам переобход Яндекс не гарантирует.

Parametersurlrequiredhost_id

list_important_urls

Мониторинг важных страниц

Возвращает отслеживаемые «важные страницы» сайта: urls — массив {url, update_date, change_indicators (что изменилось: INDEXING_HTTP_CODE/SEARCH_STATUS/TITLE/DESCRIPTION), indexing_status {status, http_code, access_date} и search_status {title, description, searchable, excluded_url_status, target_url, ...}}. Список страниц настраивается в интерфейсе Вебмастера. Требует подтверждённых прав на сайт.

Parametershost_id

list_sitemaps

Список sitemap

Возвращает sitemap-файлы сайта, известные роботу: sitemaps — массив {sitemap_id, sitemap_url, last_access_date, errors_count, urls_count, children_count, sources (ROBOTS_TXT/WEBMASTER/INDEX_SITEMAP), sitemap_type (SITEMAP/INDEX_SITEMAP)}. Пагинация курсором: передайте в from последний sitemap_id предыдущей страницы; дерево индексных sitemap обходится через parent_id. Требует подтверждённых прав на сайт.

Parametersfromlimithost_idparent_id

add_sitemap

Добавить sitemap

Добавляет sitemap-файл вручную (аналог раздела «Файлы Sitemap» в интерфейсе Вебмастера). Возвращает {"sitemap_id": строка} со статусом 201. Ошибка 409 SITEMAP_ALREADY_ADDED — такой sitemap уже добавлен. Требует подтверждённых прав на сайт.

Parametersurlrequiredhost_id

raw_request

Прямой вызов Webmaster API

Прямой вызов любого пути Yandex Webmaster API v4 — для эндпоинтов без отдельного инструмента (информация о sitemap, квота переобхода GET user/{user-id}/hosts/{host-id}/recrawl/quota, статус задачи переобхода, владельцы сайта, удаление сайта/sitemap и т.п.). Путь указывается относительно /v4, напр. «user/{user-id}/hosts» — плейсхолдер {user-id} сервер подставит сам. Query-параметры можно включить прямо в path («...?limit=20»). body отправляется как JSON и используется только с POST. ВНИМАНИЕ: DELETE удаляет безвозвратно.

Parametersbodypathrequiredmethod

Version history

6
  1. v1.2.4LatestNov 1, 2026
  2. v1.2.3Oct 31, 2026
  3. v1.2.2Oct 31, 2026
  4. v1.2.1Oct 31, 2026
  5. v1.2.0Oct 30, 2026
  6. v1.1.1Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts