Я подключил Яндекс.Метрику к Claude и Cursor — и теперь спрашиваю аналитику текстом
Каждый, кто регулярно смотрит Метрику, знает этот ритуал: открыть счётчик, выбрать отчёт, накликать измерения, выставить период, отфильтровать ботов — и так ради простого вопроса вроде «откуда пришли конверсии на прошлой неделе».
Мне надоело, и я собрал MCP-сервер для Яндекс.Метрики. Теперь вопрос задаётся словами прямо в Claude или Cursor, а он сам ходит в API, тянет нужный отчёт и отвечает цифрами. Без дашбордов.
Как поставить
Нужен Node.js 18+ и доступ к счётчику Метрики. Дальше два шага.
Первый — добавить сервер в конфиг MCP-клиента (пример для Claude Desktop / Cursor). В конфиг добавляется команда запуска через npx — готовый JSON-пример есть в README на GitHub (ссылка в конце).
Второй шаг — залогиниться. И это, на мой взгляд, самая приятная деталь: логин одной командой, без регистрации приложения в Яндексе и без секрета на диске. Обычно, чтобы получить токен к API Яндекса, нужно идти в OAuth, регистрировать приложение, вытаскивать client_id и client_secret. Здесь ничего этого нет: команда открывает страницу согласия Яндекса, вы подтверждаете доступ, вставляете показанный код обратно в терминал — всё. Токен хранится локально и живёт около года.
Кто пользуется Claude Code — сервер ставится вообще как плагин, одной командой из маркетплейса.
Как это выглядит на реальных вопросах
Дальше вы просто пишете агенту человеческим языком. Несколько примеров с моего проекта (сайт BoxLab):
«Как отработали источники трафика за последние 7 дней?» — агент берёт отчёт по визитам и пользователям в разрезе источников и отдаёт таблицу: прямые заходы, поиск, переходы по ссылкам. Не сырой JSON, а нормальный ответ.
«Сравни органические конверсии этой недели с прошлой.» — сервер сам считает дельты в абсолюте и процентах, агент проговаривает, что выросло, что просело.
«Какими устройствами пользуются посетители? Дай разбивку, потом провались в браузеры.» — сначала разбивка по типам устройств, затем детализация до браузеров.
Отдельно про ботов и сэмплирование: сервер честно помечает, когда данные неточные, — на этом легко обжечься, если делать выводы вслепую.
Почему ещё один сервер, а не готовый
Существующие серверы под Метрику разного качества: часть тонкие и заброшенные, часть просто вываливает сырой ответ API в контекст модели. Я хотел аккуратный вариант и сфокусировался на четырёх вещах: логин без секрета на диске; сервер только читает и ничего не меняет в Метрике; данные приходят обработанными, а не простынёй JSON; понятные ошибки и устойчивость к лимитам API.
Смысл всего этого — не «код ради кода». Вся аккуратность внутри работает на одно: чтобы наружу вы получали предсказуемые ответы, случайно ничего не меняли в счётчике и могли доверять цифрам, а не перепроверять, где агент напутал.
Это ранняя версия — я активно пользуюсь ей сам, работа продолжается. Буду рад обратной связи и звёздам на GitHub.
GitHub:
npm: