Skip to main content
Glama
Yandex Webmaster MCP

Yandex Webmaster MCP

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

npm CI Glama License: MIT

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

  • 20 инструментов. Сайты, диагностика, поисковые запросы, индексация, sitemap, внешние ссылки и подключение аккаунта прямо из диалога.

  • Работает с органическим поиском. Это не Метрика, не Вордстат и не рекламный кабинет: здесь нет данных о посещаемости, поисковом спросе и рекламе.

  • Подключение в чате. Яндекс откроет страницу входа; одноразовый код действует 10 минут, а сервер проверит доступ к сайтам сразу после подключения.

  • Почти всё — чтение. Отдельные инструменты могут добавить сайт или sitemap, запустить подтверждение прав либо поставить страницу в очередь на переобход.

  • Только ваши сайты. Сервер видит данные тех сайтов, к которым у токена есть доступ; для статистики и диагностики права на сайт должны быть подтверждены в Вебмастере.

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

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

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


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

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

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

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

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

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

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

Related MCP server: Yandex Webmaster MCP Server

Содержание

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

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

  1. Добавьте сервер в своё AI-приложение. Выберите инструкцию ниже.

  2. Напишите: «Подключи Яндекс Вебмастер» — ассистент проведёт через вход в Яндекс и проверит, что видит ваши сайты.

  3. Задайте первый вопрос, например: «Какие критичные проблемы сейчас видит диагностика на моём сайте?»

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

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

  • имя: yandex-webmaster;

  • команда: npx;

  • аргументы: -y mcp-yandex-webmaster@latest.

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

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

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

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

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

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

Откройте Settings → Developer → Edit Config и добавьте в claude_desktop_config.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/mcp.json, чтобы подключить сервер во всех проектах, или .cursor/mcp.json в конкретном проекте. Добавьте:

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

В палитре команд выполните MCP: Open User Configuration. В открывшемся mcp.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-файл или мета-тег.

Перед запуском нужно разместить код, который выдал Вебмастер.

Добавить sitemap

Sitemap передаётся Вебмастеру.

Повторное добавление вернёт сообщение, что файл уже есть.

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

URL попадает в очередь на обход роботом.

Тратится суточная квота сайта; ответ покажет её остаток.

Выполнить прямой запрос API

raw_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_ID

ClientID собственного 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, задайте переменную окружения:

ASKADS_TELEMETRY=0

Ограничения

  • Подтверждённые права обязательны для статистики. Без них доступны список сайтов и проверка статуса прав, но не диагностика, запросы и индексация.

  • Переобход ограничен суточной квотой сайта. В ответе есть quota_remainder — остаток на сегодня. При 429 QUOTA_EXCEEDED ожидание не поможет: квота восстановится завтра.

  • Популярные запросы ограничены данными Вебмастера. В топ попадает до 3 000 запросов за последнюю неделю, а за один запрос можно получить до 500 строк.

  • Повторы запросов предусмотрены только для временных ошибок. Сервер делает до трёх повторов для обычных ограничений частоты; ошибки сети и сервера повторяются только при чтении, чтобы не продублировать действие.

  • Нет постоянного наблюдения. Сервер работает, когда его вызывает AI-приложение. Если приложение поддерживает регулярные задания, можно настроить периодический запрос к серверу для проверки нужных показателей.

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

Поддержка

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

Available Tools

20 tools
add_siteДобавить сайтA

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

Inputs: host_url (required).

add_sitemapДобавить sitemapA

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

Inputs: url (required), host_id.

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

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

Inputs: no named parameters.

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

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

Inputs: code (required).

get_indexing_historyИстория обхода сайтаA
Read-onlyIdempotent

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

Inputs: date_to, host_id, date_from.

get_search_queries_historyИстория показателей запросовA
Read-onlyIdempotent

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

Inputs: date_to, host_id, date_from, query_indicators, +1 more.

get_site_diagnosticsДиагностика сайтаA
Read-onlyIdempotent

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

Inputs: host_id.

get_site_summaryСводка по сайтуA
Read-onlyIdempotent

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

Inputs: host_id.

get_user_idID пользователяA
Read-onlyIdempotent

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

Inputs: no named parameters.

get_verification_statusСтатус подтверждения правA
Read-onlyIdempotent

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

Inputs: host_id.

list_important_urlsМониторинг важных страницA
Read-onlyIdempotent

Возвращает отслеживаемые «важные страницы» сайта: 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, ...}}. Список страниц настраивается в интерфейсе Вебмастера. Требует подтверждённых прав на сайт.

Inputs: host_id.

list_sitemapsСписок sitemapA
Read-onlyIdempotent

Возвращает 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. Требует подтверждённых прав на сайт.

Inputs: from, limit, host_id, parent_id.

list_sitesСписок сайтовA
Read-onlyIdempotent

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

Inputs: no named parameters.

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

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

Inputs: no named parameters.

raw_requestПрямой вызов Webmaster APIA
Destructive

Прямой вызов любого пути 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 удаляет безвозвратно.

Inputs: path (required), body, method.

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

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

Inputs: url (required), host_id.

start_loginНачать подключение ВебмастераA
Read-onlyIdempotent

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

Inputs: no named parameters.

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

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

Inputs: verification_type (required), host_id.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 20 tools

    Disambiguation4/5

    Most tools target clearly distinct resources and actions: auth lifecycle, site management, verification, diagnostics, query analytics, sitemaps, and links are well separated. Minor overlap exists between get_site_summary/get_site_diagnostics and between the history tools, and raw_request functionally overlaps every tool, but it is explicitly framed as a fallback for endpoints without dedicated tools.

    Naming Consistency4/5

    Names follow a strong verb_noun snake_case convention (get_*, list_*, add_*, start_*, finish_*), which is readable and predictable. A few deviations (auth_status, logout, raw_request) are natural exceptions for lifecycle/utility operations rather than genuine inconsistency.

    Tool Count4/5

    Twenty tools is on the heavier side but the domain is broad (auth, sites, verification, diagnostics, search analytics, sitemaps, links), and each tool maps to a distinct endpoint or workflow. No obvious filler tools, though a few read-heavy endpoints could have been consolidated.

    Completeness4/5

    Core workflows are covered: auth setup, site listing/adding, verification lifecycle, diagnostics, indexing history, recrawl requests, query analytics, and sitemap/link inspection. Missing operations such as deleting sites/sitemaps, sitemap detail, and recrawl quota/task status are acknowledged and reachable via raw_request, so they are workable gaps rather than dead ends.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      MCP server for interacting with Yandex.Webmaster API to manage sites, retrieve search queries, and check indexing status. Requires an OAuth token.
      13
      77 npm
      6
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      MCP server that provides 46 tools for managing Yandex Webmaster API v4, enabling site management, sitemaps, indexing, search analytics, and more through natural language.
      46
      17 npm
      6
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Local-first MCP server for Yandex Webmaster that exposes tools for SEO operations including search query analytics, sitemap management, indexing history, recrawl quota, and diagnostics.
      15
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for Yandex Metrica analytics: query web analytics metrics, goals, conversions, and raw API data using natural language from AI clients like Claude and Cursor.
      8
      708 npm
      4
      MIT