ОБУЧЕНИЕ· 2 мин чтения · 30 июля, 18:24

MCP-сервер для Яндекс Вебмастера: пошаговая инструкция

Для автоматизации сбора SEO-данных из Яндекс Вебмастера через LLM-агент. Требуется Python 3.10+, fastmcp и OAuth-токен.

На основе статьи с Habr — создание MCP-сервера для API v4 Вебмастера. Сервер включает 8 инструментов: список хостов, информация о хосте, поисковые запросы, история показателей, ошибки индексации, внешние ссылки, сообщения, добавление сайта.

  1. Установите зависимости: pip install fastmcp httpx python-dotenv.
  2. Получите OAuth-токен Яндекса с правами webmaster:read и webmaster:write. Сохраните в .env. Токен живёт 1 год.
  3. Создайте server.py, импортируйте FastMCP, AsyncClient. Инициализируйте app = FastMCP('yandex-webmaster').
  4. Настройте HTTP-клиент с базовым URL https://api.webmaster.yandex.net/v4/ и заголовком Authorization: OAuth {token}. Оберните в middleware для доступа через Context.
  5. Реализуйте инструмент list_hosts: GET /user/{userId}/hosts/. Возвращает список хостов с host_id, domain, verified, in_search.
  6. Реализуйте get_host_info: GET /user/{userId}/hosts/{hostId}/. Возвращает данные о регистрации и индексации.
  7. Реализуйте get_host_queries: GET /user/{userId}/hosts/{hostId}/search/queries/. Параметры: site_id, date_from, date_to. Возвращает топ-запросы с shows, clicks, position.
  8. Реализуйте get_host_history: GET /user/{userId}/hosts/{hostId}/search/history/. Параметры: date_from, date_to. Возвращает дневные показы, клики, CTR, позицию.
  9. Реализуйте get_crawl_errors: GET /user/{userId}/hosts/{hostId}/crawl-errors/. Параметры: limit, offset, category. Возвращает ошибки с URL и кодом ответа.
  10. Реализуйте get_external_links: GET /user/{userId}/hosts/{hostId}/external-links/. Возвращает список ссылающихся доменов.
  11. Реализуйте get_messages: GET /user/{userId}/hosts/{hostId}/messages/. Возвращает уведомления от Яндекса.
  12. Реализуйте add_site: POST /user/{userId}/hosts/ с телом {"host_url": "https://example.com"}. Требует права webmaster:write.
  13. Оберните инструменты в @app.tool(). Используйте ctx для доступа к клиенту. Обрабатывайте HTTPStatusError.
  14. Запустите сервер: uvicorn server:app --host 0.0.0.0 --port 8000. Подключите LLM-агент через MCP-клиент.
Время на создание сервера1–2 часа для разработчика любого уровня
Экономия времени при сборе данныхот 2 часов вручную до 5 секунд через агента
Количество запросов к API бесплатнодо 5000 запросов в день на пользователя
✦ ProAgent AI

Обсудить внедрение ИИ-агентов в вашем бизнесе

Расскажите о задаче — посчитаем, сколько часов и денег сэкономит агент.

Обсудить внедрение →