# Yandex Webmaster MCP [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/askads/mcp-yandex-webmaster  
**GitHub Stars:** 0  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/yandex-webmaster-mcp-2

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

## Tools
Capabilities this server exposes over MCP:

- **auth_status** — Показывает, подключён ли Яндекс Вебмастер: есть ли токен, откуда он взят (переменная окружения YANDEX_OAUTH_TOKEN или сохранённый вход), когда истекает и где лежит файл с сохранёнными данными. Ничего не отправляет в сеть и не показывает сам токен. Вызовите это, если инструменты Вебмастера отвечают, что подключение не настроено.
- **start_login** — Первый шаг подключения Яндекс Вебмастера без правки конфигурации и без перезапуска клиента. Возвращает ссылку на страницу Яндекс OAuth. Покажите ссылку пользователю целиком и попросите: открыть её в браузере под аккаунтом, которому в Вебмастере видны нужные сайты, подтвердить доступ и прислать показанный код подтверждения. Полученный код передайте в finish_login. Код действует 10 минут. Сам по себе код бесполезен для постороннего: обменять его может только этот сервер.
- **finish_login** — Второй шаг подключения: обменивает код подтверждения из start_login на токен доступа, сохраняет его в файл только для владельца (0600) и сразу проверяет живым запросом к Вебмастеру. После успеха остальные инструменты работают немедленно — перезапускать клиент не нужно. Код одноразовый и живёт 10 минут: если он не принят, вызовите start_login заново и попросите свежий.
- **logout** — Удаляет сохранённый токен Вебмастера с диска. Токен, заданный переменной окружения YANDEX_OAUTH_TOKEN, не трогает — его нужно убирать из конфигурации клиента вручную. Доступ, выданный приложению, остаётся активным на стороне Яндекса: отозвать его можно в Яндекс ID.
- **get_user_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 — превышен лимит сайтов.
- **get_site_summary** — Возвращает сводную статистику сайта: sqi (ИКС — индекс качества сайта), searchable_pages_count (страницы в поиске), excluded_pages_count (исключённые страницы) и site_problems — число проблем по категориям FATAL/CRITICAL/POSSIBLE_PROBLEM/RECOMMENDATION. Требует подтверждённых прав на сайт.
- **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 при неудаче.
- **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 — проверка уже идёт.
- **get_site_diagnostics** — Возвращает диагностику сайта — объект problems, где ключ — тип проблемы, а значение — {severity: FATAL/CRITICAL/POSSIBLE_PROBLEM/RECOMMENDATION, state: PRESENT/ABSENT/UNDEFINED, last_state_update}. Показывает, что именно Вебмастер считает проблемой сайта прямо сейчас. Требует подтверждённых прав на сайт.
- **get_popular_queries** — Возвращает ТОП поисковых запросов сайта за период: queries — массив {query_id, query_text, indicators: {TOTAL_SHOWS, TOTAL_CLICKS, AVG_SHOW_POSITION, AVG_CLICK_POSITION}}, плюс date_from/date_to и count. В топ попадает до 3000 запросов за последнюю неделю, выдача — до 500 за раз (листайте offset/limit). По умолчанию период — последняя неделя. Требует подтверждённых прав; 404 HOST_NOT_INDEXED — сайт ещё не проиндексирован.
- **get_search_queries_history** — Возвращает историю суммарных показателей по ВСЕМ поисковым запросам сайта: indicators — объект, где ключ — показатель (TOTAL_SHOWS и т.д.), значение — массив точек {date, value}. Подходит для динамики видимости сайта: показы, клики и средние позиции по датам. По умолчанию период — последняя неделя. Требует подтверждённых прав на сайт.
- **get_indexing_history** — Возвращает историю обхода сайта роботом: indicators — объект с массивами точек {date, value} по ключам HTTP_2XX, HTTP_3XX, HTTP_4XX, HTTP_5XX и OTHER (неподдерживаемый код или ошибка соединения). Показывает, сколько страниц робот загрузил и с какими кодами. По умолчанию — данные за текущий день; период задаётся date_from/date_to. Требует подтверждённых прав на сайт.
- **recrawl_url** — Отправляет страницу сайта в очередь на переобход роботом («Переобход страниц»). Возвращает {task_id: UUID, quota_remainder: остаток суточной квоты} со статусом 202. Квота на сайт суточная и зависит от сайта — показывайте пользователю quota_remainder. Ошибки: 400 INVALID_URL — URL не принадлежит сайту или некорректен; 409 URL_ALREADY_ADDED — страница уже в очереди; 429 QUOTA_EXCEEDED — суточная квота исчерпана, попробуйте завтра.
- **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, ...}}. Список страниц настраивается в интерфейсе Вебмастера. Требует подтверждённых прав на сайт.
- **list_sitemaps** — Возвращает 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. Требует подтверждённых прав на сайт.
- **add_sitemap** — Добавляет sitemap-файл вручную (аналог раздела «Файлы Sitemap» в интерфейсе Вебмастера). Возвращает {"sitemap_id": строка} со статусом 201. Ошибка 409 SITEMAP_ALREADY_ADDED — такой sitemap уже добавлен. Требует подтверждённых прав на сайт.
- **get_external_links** — Возвращает примеры внешних ссылок на сайт: count — общее число ссылок (int64, может прийти строкой) и links — массив {source_url (откуда ссылаются), destination_url (куда), discovery_date, source_last_access_date}. Листайте offset/limit. Требует подтверждённых прав на сайт.
- **raw_request** — Прямой вызов любого пути 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 удаляет безвозвратно.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

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

## Documentation

## What Yandex Webmaster MCP MCP server does

Yandex Webmaster MCP MCP server exposes Yandex Webmaster information and selected account actions to AI applications through MCP. It is intended for sites managed in Yandex Webmaster and focuses on organic search data rather than advertising, keyword-demand research, or general traffic analytics.

The available functions cover several parts of site management:

- Listing accessible sites and viewing their IKS, indexed pages, excluded pages, and issue counts.
- Reviewing search queries with impressions, clicks, and average positions over selected dates.
- Comparing search visibility between mobile and desktop devices.
- Inspecting crawl HTTP errors, important-page indexing states, sitemap status, and recrawl queues.
- Viewing examples of external pages that link to a site.
- Adding sites or sitemaps, beginning ownership verification, and submitting URLs for recrawling.

## How it works

The Yandex Webmaster MCP MCP server starts by working with the sites available to the authenticated account. Each site has a `host_id`; the server can infer it from a request or use `YANDEX_WEBMASTER_HOST_ID` when that variable is set.

Authentication can be initiated from the conversation. The assistant directs the user to Yandex for sign-in, receives a one-time code that remains valid for 10 minutes, and checks which sites are accessible. Statistics and diagnostics require confirmed ownership of the relevant site. The server only returns data for sites the token can access.

Most operations are read-only. Actions that alter Webmaster state include adding a site, starting ownership verification, adding a sitemap, and placing a page in the recrawl queue. The queue operation consumes the site's daily quota. A `raw_request` capability can call API paths without dedicated tools; depending on the HTTP method, that request can also modify data or delete a site or sitemap. Clients may ask for confirmation, but confirmation behavior depends on the client.

## Setup and configuration

Node.js 20 or newer is required. The package can be started with `npx`, which downloads it on the first run, so a separate package installation is not needed. A typical MCP configuration uses the command `npx` with arguments `-y mcp-yandex-webmaster@latest`.

For Claude Desktop, add a `yandex-webmaster` entry to `claude_desktop_config.json` under `mcpServers`, then restart the application. Cursor accepts the same command and arguments in either the user-level `~/.cursor/mcp.json` file or a project-level `.cursor/mcp.json` file.

After adding the server, ask the client to connect Yandex Webmaster and complete the sign-in flow. For automated setups, a previously available token can be configured according to the project's technical documentation. `YANDEX_WEBMASTER_HOST_ID` is optional and can select a default site context.

## Tools and capabilities

The Yandex Webmaster MCP MCP server provides 20 tools spanning sites, diagnostics, search queries, indexing, sitemaps, external links, and account connection. Natural-language requests can retrieve recent query performance, identify serious diagnostic issues, show indexing changes, inspect sitemap reading errors, and report remaining recrawl capacity.

Use it for questions such as which pages are indexed, which queries generated impressions during a period, what crawl errors Yandex encountered, or whether a sitemap is registered. Use write-capable operations carefully: ownership verification requires placing the code supplied by Webmaster, and deletion through a raw API request may be irreversible.

The service does not provide Yandex Metrica traffic data, Wordstat search-demand data, or advertising-cabinet information. Statuses such as `HOST_NOT_VERIFIED`, `HOST_NOT_LOADED`, and `HOST_NOT_INDEXED` indicate access, loading, or indexing conditions rather than zero-valued metrics.

_Full upstream README: https://allmcps.com/mcp/yandex-webmaster-mcp-2/readme_

