{
  "markdown": "# Яндекс Вебмастер MCP\n\n[![npm](https://img.shields.io/npm/v/mcp-yandex-webmaster)](https://www.npmjs.com/package/mcp-yandex-webmaster)\n[![CI](https://github.com/askads/mcp-yandex-webmaster/actions/workflows/ci.yml/badge.svg)](https://github.com/askads/mcp-yandex-webmaster/actions/workflows/ci.yml)\n[![Glama](https://glama.ai/mcp/servers/askads/mcp-yandex-webmaster/badges/score.svg)](https://glama.ai/mcp/servers/askads/mcp-yandex-webmaster)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\n**Яндекс Вебмастер MCP** подключает AI-приложение — Claude, Cursor, Codex и другие — к данным Яндекс Вебмастера. Спросите на естественном языке, как сайт выглядит в поиске Яндекса: какие страницы попали или не попали в поиск, что происходит с показами и кликами, какие проблемы видит Вебмастер, как устроены sitemap и внешние ссылки. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.\n\n- **20 инструментов.** Сайты, диагностика, поисковые запросы, индексация, sitemap, внешние ссылки и подключение аккаунта прямо из диалога.\n- **Работает с органическим поиском.** Это не Метрика, не Вордстат и не рекламный кабинет: здесь нет данных о посещаемости, поисковом спросе и рекламе.\n- **Подключение в чате.** Яндекс откроет страницу входа; одноразовый код действует 10 минут, а сервер проверит доступ к сайтам сразу после подключения.\n- **Почти всё — чтение.** Отдельные инструменты могут добавить сайт или sitemap, запустить подтверждение прав либо поставить страницу в очередь на переобход.\n- **Только ваши сайты.** Сервер видит данные тех сайтов, к которым у токена есть доступ; для статистики и диагностики права на сайт должны быть подтверждены в Вебмастере.\n\nПопробуйте первым сообщением:\n\n> Какие критичные проблемы сейчас видит диагностика на моём сайте?\n\n[Подключить сервер](#быстрый-старт) · [Посмотреть сценарии](#что-можно-поручить) · [Открыть техническую документацию](#техническая-документация)\n\n---\n\n## Увидеть работу за минуту\n\n> **Вы:** Покажи мои сайты в Вебмастере и кратко оцени их состояние.\n>\n> **Ассистент:** Показывает сайты, доступные по токену, их ИКС, число страниц в поиске и исключённых страниц, а также количество проблем по степени серьёзности.\n>\n> **Вы:** Какие критичные проблемы есть у основного сайта и что проверить в первую очередь?\n>\n> **Ассистент:** Разбирает текущую диагностику Вебмастера, отделяет критичные проблемы от рекомендаций и объясняет, какие из них требуют действий на сайте.\n>\n> **Вы:** По каким запросам сайт чаще всего показывался за последнюю неделю?\n>\n> **Ассистент:** Показывает запросы с показами, кликами и средними позициями. При необходимости сравнивает динамику для компьютеров и мобильных устройств.\n\n## Содержание\n\n- [Быстрый старт](#быстрый-старт)\n- [Что можно поручить](#что-можно-поручить)\n- [Как это работает](#как-это-работает)\n- [Что может изменить данные](#что-может-изменить-данные)\n- [Подключение и настройка](#подключение-и-настройка)\n- [Данные и телеметрия](#данные-и-телеметрия)\n- [Ограничения](#ограничения)\n- [Техническая документация](#техническая-документация)\n- [Поддержка](#поддержка)\n\n## Быстрый старт\n\nНужен Node.js 20+. `npx` скачает сервер при первом запуске — отдельно устанавливать пакет не нужно.\nТокен заранее получать не нужно: подключение проходит прямо в диалоге.\n\n1. Добавьте сервер в своё AI-приложение. Выберите инструкцию ниже.\n2. Напишите: **«Подключи Яндекс Вебмастер»** — ассистент проведёт через вход в Яндекс и проверит, что видит ваши сайты.\n3. Задайте первый вопрос, например: **«Какие критичные проблемы сейчас видит диагностика на моём сайте?»**\n\nДля CI и автоматических установок можно задать готовый токен — см. [Подключение и настройка](#подключение-и-настройка).\n\n<details open>\n<summary><b>Codex</b></summary>\n\n**Через интерфейс.** Откройте <b>Settings → Plugins → MCP servers</b>, нажмите <b>Add server</b> и укажите:\n\n- имя: <code>yandex-webmaster</code>;\n- команда: <code>npx</code>;\n- аргументы: <code>-y mcp-yandex-webmaster@latest</code>.\n\nСохраните сервер. Он появится в списке MCP-серверов Codex.\n\n**Через командную строку.** Вместо интерфейса можно выполнить:\n\n```bash\ncodex mcp add yandex-webmaster \\\n  -- npx -y mcp-yandex-webmaster@latest\n```\n\nПроверить, что сервер добавлен: `codex mcp list`.\n\n</details>\n\n<details>\n<summary><b>Claude Code</b></summary>\n\n```bash\nclaude mcp add --transport stdio --scope user \\\n  yandex-webmaster -- npx -y mcp-yandex-webmaster@latest\n```\n\nПроверить подключение: `claude mcp list`.\n\n</details>\n\n<details>\n<summary><b>Claude Desktop</b></summary>\n\nОткройте <b>Settings → Developer → Edit Config</b> и добавьте в `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"yandex-webmaster\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-yandex-webmaster@latest\"]\n    }\n  }\n}\n```\n\nЕсли раздела Developer нет, откройте файл вручную: macOS — `~/Library/Application Support/Claude/claude_desktop_config.json`, Windows — `%APPDATA%\\Claude\\claude_desktop_config.json`. Перезапустите Claude Desktop.\n\n</details>\n\n<details>\n<summary><b>Cursor</b></summary>\n\nОткройте `~/.cursor/mcp.json`, чтобы подключить сервер во всех проектах, или `.cursor/mcp.json` в конкретном проекте. Добавьте:\n\n```json\n{\n  \"mcpServers\": {\n    \"yandex-webmaster\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-yandex-webmaster@latest\"]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><b>VS Code</b></summary>\n\nВ палитре команд выполните <b>MCP: Open User Configuration</b>. В открывшемся `mcp.json` добавьте сервер:\n\n```json\n{\n  \"servers\": {\n    \"yandex-webmaster\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-yandex-webmaster@latest\"]\n    }\n  }\n}\n```\n\nПосле сохранения выполните <b>MCP: List Servers</b> и запустите сервер из списка.\n\n</details>\n\n## Что можно поручить\n\n### Понять состояние сайта в поиске\n\n- «Покажи мои сайты в Вебмастере и их ИКС».\n- «Сколько страниц основного сайта находится в поиске и сколько исключено?»\n- «Какие критичные и фатальные проблемы есть на сайте?»\n- «Какие важные страницы изменили статус индексации?»\n\n### Разобраться с поисковыми запросами\n\n- «По каким запросам сайт чаще всего показывался за последнюю неделю?»\n- «Как менялись показы, клики и средняя позиция сайта за последний месяц?»\n- «Сравни видимость сайта на мобильных устройствах и компьютерах».\n\n### Проверить обход, sitemap и внешние ссылки\n\n- «Покажи, какие HTTP-ошибки робот Яндекса встречал при обходе сайта».\n- «Есть ли ошибки в sitemap и когда робот в последний раз его читал?»\n- «Покажи примеры внешних ссылок на сайт».\n\n### Подготовить действие на сайте\n\n- «Проверь, добавлен ли sitemap https://example.com/sitemap.xml, и объясни, что изменится при добавлении».\n- «Сколько переобходов осталось на сегодня для сайта и можно ли отправить страницу в очередь?»\n- «Как подтвердить права на новый сайт через DNS?»\n\n## Как это работает\n\nРабота начинается со списка сайтов. У каждого есть технический идентификатор `host_id` — сервер подхватывает его из вашего запроса или из переменной `YANDEX_WEBMASTER_HOST_ID`, если она задана.\n\nПосле подтверждения прав на сайт сервер может собрать в одном диалоге:\n\n- **состояние в поиске** — ИКС, число страниц в поиске и исключённых страниц, текущие проблемы;\n- **видимость по запросам** — показы, клики и средние позиции по датам и типам устройств;\n- **обход и индексацию** — HTTP-коды при обходе, статус важных страниц, sitemap и очередь на переобход;\n- **ссылочный профиль** — примеры страниц, которые ссылаются на ваш сайт.\n\nЕсли прав на сайт нет, Вебмастер вернёт `HOST_NOT_VERIFIED`. Если сайт ещё не загружен или не проиндексирован, `HOST_NOT_LOADED` и `HOST_NOT_INDEXED` означают, что данных пока нет, а не нулевые показатели.\n\n## Что может изменить данные\n\nБольшинство вопросов к серверу только читают данные. Следующие операции меняют состояние в Яндекс Вебмастере:\n\n| Действие | Что происходит | На что обратить внимание |\n| --- | --- | --- |\n| Добавить сайт | Сайт появляется в списке сайтов аккаунта. | Права на него нужно подтвердить отдельно. |\n| Запустить подтверждение прав | Вебмастер начинает проверять DNS-запись, HTML-файл или мета-тег. | Перед запуском нужно разместить код, который выдал Вебмастер. |\n| Добавить sitemap | Sitemap передаётся Вебмастеру. | Повторное добавление вернёт сообщение, что файл уже есть. |\n| Отправить страницу на переобход | URL попадает в очередь на обход роботом. | Тратится суточная квота сайта; ответ покажет её остаток. |\n| Выполнить прямой запрос API | `raw_request` открывает пути API, для которых нет отдельного инструмента. | `POST` тоже может менять данные, а `DELETE` — безвозвратно удалить сайт или sitemap. |\n\nИнструменты, которые меняют состояние, помечены для AI-приложения как действия, а `raw_request` с возможным удалением — как потенциально необратимое. Приложение может запросить подтверждение, но его поведение зависит от конкретного клиента. Для удаления нужна явная просьба.\n\n## Подключение и настройка\n\nСервер обращается к [Yandex Webmaster API v4](https://yandex.ru/dev/webmaster/) от имени вашего аккаунта Яндекса и видит те же сайты, которые доступны этому аккаунту в веб-интерфейсе Вебмастера.\n\nДля обычного использования токен заранее не нужен:\n\n1. В чате попросите подключить Яндекс Вебмастер.\n2. Откройте ссылку на Яндекс OAuth под аккаунтом, которому в Вебмастере видны нужные сайты.\n3. Подтвердите доступ и пришлите показанный код ассистенту. Код одноразовый, действует 10 минут и меняется на токен только внутри работающего сервера — перезапускать приложение и править конфигурацию не нужно.\n\nСервер использует PKCE: код из чата сам по себе нельзя обменять на токен, поэтому пересылать его в чате безопасно. Полученный токен хранится локально в `~/.config/mcp-yandex-webmaster/credentials.json` с правами только для владельца (`0600`). Дальше подключение живёт само: доступ продлевается автоматически и не отваливается через год. Проверить состояние — попросите «покажи статус подключения», отключить — «отключи Вебмастер»; выданный доступ отзывается в [Яндекс ID](https://id.yandex.ru/security).\n\nДля CI и нестандартных установок доступна настройка через переменные окружения:\n\n| Переменная | Назначение |\n|---|---|\n| `YANDEX_OAUTH_TOKEN` | Готовый OAuth-токен с доступом к Вебмастеру; имеет приоритет над входом из диалога — такой токен сервер не обновляет и не удаляет. |\n| `YANDEX_WEBMASTER_HOST_ID` | Сайт (`host_id`) по умолчанию, чтобы не уточнять его в каждом запросе. Узнать `host_id` можно командой «Покажи мои сайты в Вебмастере». |\n| `YANDEX_WEBMASTER_OAUTH_CLIENT_ID` | ClientID собственного OAuth-приложения вместо приложения по умолчанию. |\n| `YANDEX_USER_ID` | Идентификатор пользователя Вебмастера; по умолчанию определяется автоматически. |\n| `YANDEX_WEBMASTER_TIMEOUT_MS` | Таймаут запроса; по умолчанию 60 000 мс. |\n| `YANDEX_WEBMASTER_MAX_RETRIES` | Число повторов при временных ошибках; по умолчанию 3. |\n| `YANDEX_WEBMASTER_API_BASE` | Базовый адрес API; по умолчанию `https://api.webmaster.yandex.net/v4`. |\n\nГотовый токен для `YANDEX_OAUTH_TOKEN` можно получить так: создайте приложение на [oauth.yandex.ru](https://oauth.yandex.ru), в правах доступа выберите **API Яндекс Вебмастера** и получите токен по [инструкции Яндекс OAuth](https://yandex.ru/dev/id/doc/ru/access). Это же приложение подойдёт и для входа из диалога — задайте его ClientID в `YANDEX_WEBMASTER_OAUTH_CLIENT_ID` (Redirect URI — `https://oauth.yandex.ru/verification_code`).\n\nНе публикуйте токен в чате, репозитории или скриншотах: он даёт доступ к сайтам вашего аккаунта.\n\n## Данные и телеметрия\n\nПо умолчанию сервер отправляет анонимные технические события: случайный идентификатор установки, название вызванного инструмента, версии сервера, AI-приложения, Node.js и операционной системы. Токен Яндекса, данные аккаунта, аргументы инструментов, тексты запросов, значения и названия переменных окружения не отправляются.\n\nЧтобы отключить телеметрию для MCP-серверов Ask Ads, задайте переменную окружения:\n\n```bash\nASKADS_TELEMETRY=0\n```\n\n## Ограничения\n\n- **Подтверждённые права обязательны для статистики.** Без них доступны список сайтов и проверка статуса прав, но не диагностика, запросы и индексация.\n- **Переобход ограничен суточной квотой сайта.** В ответе есть `quota_remainder` — остаток на сегодня. При `429 QUOTA_EXCEEDED` ожидание не поможет: квота восстановится завтра.\n- **Популярные запросы ограничены данными Вебмастера.** В топ попадает до 3 000 запросов за последнюю неделю, а за один запрос можно получить до 500 строк.\n- **Повторы запросов предусмотрены только для временных ошибок.** Сервер делает до трёх повторов для обычных ограничений частоты; ошибки сети и сервера повторяются только при чтении, чтобы не продублировать действие.\n- **Нет постоянного наблюдения.** Сервер работает, когда его вызывает AI-приложение. Если приложение поддерживает регулярные задания, можно настроить периодический запрос к серверу для проверки нужных показателей.\n\n## Техническая документация\n\n- [Все инструменты](./docs/TOOLS.md) — параметры, ответы и примеры вызовов.\n- [Разработка](./docs/DEVELOPMENT.md) — устройство проекта и работа с исходным кодом.\n- [Пакет в npm](https://www.npmjs.com/package/mcp-yandex-webmaster).\n- [Документация Yandex Webmaster API](https://yandex.ru/dev/webmaster/) — первоисточник по API и его ограничениям.\n\n## Поддержка\n\nНашли ошибку или не хватает сценария? [Создайте issue](https://github.com/askads/mcp-yandex-webmaster/issues) или напишите в [Telegram](http://t.me/gistrec).\n",
  "bytes": 13480,
  "sha": "a0d9e1b93c030aef5672819607727e09b7e65c6d11c0471a3a7a78a363e305c2",
  "repo_slug": "askads/mcp-yandex-webmaster",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_askads_mcp_yandex_webmaster_b9e812a7/readme"
}