Yandex Webmaster MCP

io.github.askads由 GitHub 帳號 askads 發布v1.2.4更新於 Nov 3, 2026

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

概覽

AI 產生的概覽

將 AI 助理接入 Yandex Webmaster API v4,用來檢視網站的索引、搜尋查詢、診斷、sitemap 與外部連結資料。

可以做什麼
  • 列出並新增網站,查看驗證狀態並啟動權限驗證
  • 讀取網站摘要(品質指數、已收錄與排除頁面數)與目前診斷問題
  • 讀取熱門搜尋查詢與查詢歷史,含曝光、點擊與平均排名
  • 讀取檢索與索引歷史、重要頁面與外部連結範例
  • 列出並新增 sitemap,將網址排入重新檢索佇列
  • 管理帳號連線(狀態、對話內登入、登出),並可直接呼叫任一 API v4 路徑
適用情境
適合用自然語言了解網站在 Yandex 自然搜尋中的表現:哪些頁面被收錄或排除、Webmaster 回報哪些問題、能見度如何變化、sitemap 與外部連結是否正常。它不提供 Metrika 流量、Wordstat 需求或廣告資料。
執行需求
透過 npx 執行的本機 stdio 程序,需要 Node.js 20 以上版本。需要一個在 Webmaster 中能看到相關網站的 Yandex 帳號;通常不必事先準備權杖,登入會在對話中以免費一次性驗證碼完成。CI 情境可透過 YANDEX_OAUTH_TOKEN 提供 OAuth 權杖。選用變數:YANDEX_USER_ID、YANDEX_WEBMASTER_HOST_ID、YANDEX_WEBMASTER_API_BASE、YANDEX_WEBMASTER_MAX_RETRIES、YANDEX_WEBMASTER_TIMEOUT_MS。需要連線至 Yandex API 的網路。
安裝前請注意
YANDEX_OAUTH_TOKEN 可存取該帳號下的網站,請勿外流;對話內登入儲存的權杖以僅擁有者可讀的權限存放在本機。部分工具會改變狀態:新增網站或 sitemap、啟動驗證、提交重新檢索,後者會消耗網站每日配額。raw_request 可送出 POST 與 DELETE,DELETE 會永久刪除網站或 sitemap。預設會傳送匿名技術遙測,可用 ASKADS_TELEMETRY=0 關閉。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Yandex Webmaster MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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.

來源:README.md,提交 06e132e

工具

20

auth_status

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

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

無需輸入參數。

start_login

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

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

無需輸入參數。

finish_login

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

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

輸入參數code必填

logout

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

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

無需輸入參數。

get_user_id

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

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

無需輸入參數。

list_sites

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

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

無需輸入參數。

add_site

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

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

輸入參數host_url必填

get_site_summary

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

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

輸入參數host_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 при неудаче.

輸入參數host_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 — проверка уже идёт.

輸入參數host_idverification_type必填

get_site_diagnostics

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

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

輸入參數host_id

get_search_queries_history

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

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

輸入參數date_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. Требует подтверждённых прав на сайт.

輸入參數date_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 означает «в очереди», а не «переобойдена»: сам переобход Яндекс не гарантирует.

輸入參數url必填host_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, ...}}. Список страниц настраивается в интерфейсе Вебмастера. Требует подтверждённых прав на сайт.

輸入參數host_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. Требует подтверждённых прав на сайт.

輸入參數fromlimithost_idparent_id

add_sitemap

Добавить sitemap

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

輸入參數url必填host_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 удаляет безвозвратно.

輸入參數bodypath必填method

版本歷史

6
  1. v1.2.4最新Nov 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

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分