MCP server: One MCP server.

Yandex Webmaster

@theyahiaMCP server · External

MCP server for Yandex.Webmaster API — hosts, search queries, indexing status. Bearer token auth.

SEOv1.0.2MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@theyahia/yandex-webmaster-mcpv1.0.2

Run

npx -y @theyahia/yandex-webmaster-mcp

MCP client config

{
  "mcpServers": {
    "yandex-webmaster": {
      "command": "npx",
      "args": [
        "-y",
        "@theyahia/yandex-webmaster-mcp"
      ]
    }
  }
}
README3 min read

Этот сервер входит в сборку theYahia/YaAll — весь яндексовский слой в одном репозитории: десять MCP-серверов, скиллы Claude Code под SEO и валидацию спроса, плюс материалы официальных серверов Яндекса. Здесь он живёт отдельно, там — рядом с остальными: mcp/yandex-webmaster-mcp/

Part of theYahia/YaAll — the whole Yandex stack in one repo.

@theyahia/yandex-webmaster-mcp

MCP-сервер для API Яндекс.Вебмастер — сайты, индексация, поисковые запросы, sitemaps, диагностика и переобход. 13 инструментов, вывод в компактном Markdown (или сыром JSON).

npm License: MIT

Установка

Claude Desktop

json
{
  "mcpServers": {
    "yandex-webmaster": {
      "command": "npx",
      "args": ["-y", "@theyahia/yandex-webmaster-mcp"],
      "env": {
        "YANDEX_WEBMASTER_TOKEN": "ваш_oauth_токен"
      }
    }
  }
}

Claude Code

bash
claude mcp add yandex-webmaster -e YANDEX_WEBMASTER_TOKEN=ваш_oauth_токен -- npx -y @theyahia/yandex-webmaster-mcp

Авторизация

Нужен только YANDEX_WEBMASTER_TOKEN — OAuth-токен с правом webmaster:api. user_id определяется автоматически через GET /user/, задавать его руками не нужно.

Как получить токен:

  1. Создайте приложение на https://oauth.yandex.ru/ и выдайте ему право Яндекс.Вебмастер (webmaster:api).
  2. Получите OAuth-токен по инструкции Яндекса и положите его в YANDEX_WEBMASTER_TOKEN.

Переменные окружения

ПеременнаяОбяз.Назначение
YANDEX_WEBMASTER_TOKENдаOAuth-токен с правом webmaster:api
YANDEX_WEBMASTER_USER_IDнетЧисловой user ID. Если не задан — определяется автоматически
PORTнетПорт HTTP-режима (по умолчанию 3100)
MCP_ALLOWED_HOSTSнетРазрешённые Host для HTTP (CSV). * — отключить защиту от DNS-rebinding
MCP_HTTP_AUTH_TOKENнетЕсли задан — требует Authorization: Bearer <token> на POST /mcp

Инструменты (13)

ИнструментОписание
get_hostsСписок сайтов: URL, статус подтверждения
get_user_infoДанные аккаунта (user_id)
get_popular_search_queriesПоисковые запросы по сайту: показы, клики, средняя позиция (per-query)
get_query_analyticsАгрегированный тренд трафика во времени (НЕ per-query)
get_search_queries⚠️ deprecated — алиас get_popular_search_queries
get_indexingСводка индексации сайта
get_indexing_historyТренд проиндексированных/исключённых страниц
submit_urlОтправить URL на переобход (расходует дневную квоту)
get_recrawl_quotaОстаток дневной квоты переобхода
get_recrawl_taskСтатус задачи переобхода по task_id
get_sitemapsСписок sitemap'ов сайта
get_diagnosticsДиагностика сайта: ошибки обхода, DNS, проблемы сервера
get_important_urlsМониторинг важных URL

У каждого инструмента есть параметр format: markdown (по умолчанию, компактно) или json (сырой ответ API).

Примеры запросов

Какие сайты у меня в Вебмастере?
По каким запросам находят мой сайт за последнюю неделю?
Сколько страниц проиндексировано и есть ли деиндексация?
Отправь https://example.com/new-page на переобход и покажи остаток квоты.

HTTP-режим

Помимо stdio сервер умеет работать по Streamable HTTP:

bash
YANDEX_WEBMASTER_TOKEN=... npx @theyahia/yandex-webmaster-mcp --http
# POST /mcp  — MCP endpoint
# GET  /health — { "status": "ok", "version": "..." }

По умолчанию включена защита от DNS-rebinding (разрешены только localhost/127.0.0.1). Для доступа с другого хоста задайте MCP_ALLOWED_HOSTS. Токен в HTTP-режиме общий (берётся из окружения) — multi-tenancy не поддерживается.

Разработка

bash
npm install
npm run dev          # запуск из исходников (tsx)
npm test             # тесты (vitest)
npm run typecheck    # tsc --noEmit (src + tests)
npm run lint         # eslint
npm run format       # prettier --check
npm run build        # сборка в dist/

Лицензия

MIT

Similar modules

Browse SEO