MCP server for Yandex Metrica API: list counters, goals and pull web-analytics statistics.
Яндекс Метрика MCP подключает AI-приложение к веб-аналитике сайта. Спросите на естественном языке, откуда приходят посетители, как меняется конверсия или где растёт доля отказов — ассистент возьмёт данные из вашего счётчика и объяснит результат. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.
Попробуйте первым сообщением:
Сколько визитов, пользователей и отказов было у моего сайта за последнюю неделю?
Подключить сервер · Посмотреть сценарии · Открыть техническую документацию
Вы: Подключи Яндекс Метрику.
Ассистент: Даёт ссылку на вход в Яндекс. Откройте её под аккаунтом, у которого есть доступ к нужным счётчикам, подтвердите доступ и пришлите показанный код.
Вы: Отправляет код из страницы Яндекса.
Ассистент: Подключает Метрику, проверяет, видны ли счётчики, и сообщает результат. Перезапускать приложение не нужно.
Вы: За последние 30 дней покажи источники трафика и конверсию по цели «Оформление заказа».
Ассистент: Находит цель, строит отчёт по источникам и показывает визиты, достижения цели и конверсию. Если Метрика применила выборку, отмечает, что цифры приблизительные.
Нужен Node.js 20 или новее. Сервер запускается через npx, поэтому отдельно устанавливать пакет не требуется.
Через интерфейс приложения:
npx -y mcp-yandex-metrica@latest.Через командную строку:
codex mcp add yandex-metrica -- npx -y mcp-yandex-metrica@latest
Проверьте подключение:
codex mcp list
Затем в чате Codex попросите: «Подключи Яндекс Метрику».
claude mcp add --transport stdio --scope user yandex-metrica -- npx -y mcp-yandex-metrica@latest
Проверьте сервер командой:
claude mcp list
Затем начните диалог с просьбы подключить Метрику.
Откройте Settings → Developer → Edit Config и добавьте сервер в claude_desktop_config.json:
{
"mcpServers": {
"yandex-metrica": {
"command": "npx",
"args": ["-y", "mcp-yandex-metrica@latest"]
}
}
}
После сохранения откройте новый диалог и попросите подключить Метрику.
Для всех проектов создайте ~/.cursor/mcp.json; только для текущего проекта — .cursor/mcp.json:
{
"mcpServers": {
"yandex-metrica": {
"command": "npx",
"args": ["-y", "mcp-yandex-metrica@latest"]
}
}
}
В чате Cursor сервер появится среди доступных инструментов. Попросите подключить Метрику и пройдите вход через Яндекс.
Откройте палитру команд и выполните MCP: Open User Configuration. Добавьте в mcp.json:
{
"servers": {
"yandex-metrica": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-yandex-metrica@latest"]
}
}
}
Проверьте запуск командой MCP: List Servers, затем откройте чат и попросите подключить Метрику.
Сервер работает с тремя привычными сущностями:
| Сущность | Что можно узнать |
|---|---|
| Счётчик | Название сайта, его идентификатор и доступность для вашего аккаунта. |
| Цель | Настроенные на счётчике конверсии и их идентификаторы. |
| Отчёт | Метрики и срезы за период: например, визиты по дням, источникам или устройствам. |
Обычно ассистент сначала находит доступный счётчик, затем — при необходимости — цель, и только после этого строит отчёт. В ответе Метрики есть итог по всем строкам, размер выдачи и признак выборки.
| Действие | Что происходит |
|---|---|
| Список счётчиков, целей и отчёты | Только чтение данных Метрики. |
| Подключение | Сохраняет токен доступа локально на вашем компьютере и проверяет его чтением счётчиков. В Метрике ничего не меняет. |
| Отключение | Удаляет только сохранённый на компьютере токен. Доступ приложения в Яндекс ID остаётся; его можно отозвать там отдельно. |
| Произвольный запрос к API | GET читает данные. POST и DELETE могут менять реальные объекты Метрики и выполняются только с confirmWrite=true. |
Сервер помечает произвольную запись как потенциально разрушительное действие. Как именно AI-приложение запрашивает подтверждение, зависит от самого приложения; перед таким запросом проверьте путь, метод и данные.
Для обычного использования токен заранее не нужен:
Сервер использует PKCE: код из чата сам по себе нельзя обменять на токен. Полученный токен хранится локально в ~/.config/mcp-yandex-metrica/credentials.json с правами только для владельца. При сохранённом refresh-токене доступ продлевается автоматически.
Для CI и нестандартных установок доступна настройка через переменные окружения:
| Переменная | Назначение |
|---|---|
YANDEX_METRIKA_TOKEN | Готовый OAuth-токен с правом metrika:read; имеет приоритет над подключением из чата. |
YANDEX_METRIKA_COUNTER_ID | Счётчик по умолчанию для запросов без counterId. |
YANDEX_METRIKA_OAUTH_CLIENT_ID | Client ID собственного OAuth-приложения вместо приложения Ask Ads. |
YANDEX_METRIKA_LANG | Язык подписей в ответах API; по умолчанию ru. |
YANDEX_METRIKA_TIMEOUT_MS | Таймаут запроса; по умолчанию 60 000 мс. |
YANDEX_METRIKA_MAX_RETRIES | Число повторов при временных ошибках; по умолчанию 3. |
YANDEX_METRIKA_API_BASE | Базовый адрес API; по умолчанию https://api-metrika.yandex.net. |
Если используете собственное OAuth-приложение, запросите в нём право «Получение статистики, чтение параметров своих и доверенных счётчиков» (metrika:read).
По умолчанию сервер отправляет анонимную техническую телеметрию: случайный идентификатор установки, имя события или инструмента, версию сервера, версию Node.js, ОС и сведения о подключившемся AI-клиенте. В неё не попадают токен, данные счётчиков, аргументы инструментов, ваши сообщения и значения переменных окружения.
Чтобы отключить телеметрию для MCP-серверов Ask Ads, задайте переменную окружения:
ASKADS_TELEMETRY=0
sampled и sample_share; для более точного расчёта сузьте период или используйте accuracy: "full"._truncated.GET — при сетевой ошибке, 429 и 5xx; POST и DELETE — только при 429, чтобы не повторить изменяющее действие. Задержка учитывает Retry-After и не превышает 30 секунд.POST и DELETE через произвольный запрос меняют реальные объекты.Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y mcp-yandex-metricaMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-askads-mcp-yandex-metrica": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-metrica"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceYandex Metrica MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.