Yandex Metrika

io.github.dontsovcmc由 GitHub 帳號 dontsovcmc 發布v0.2.4更新於 Oct 24, 2026

MCP server for Yandex Metrika API — counters, goals, reports, segments, logs

已驗證STDIO僅桌面資料與分析商業與電商

概覽

AI 產生的概覽

面向 Yandex Metrika API 的本機 MCP 伺服器,讓助理讀取分析報表並管理計數器、目標、區隔、篩選器與日誌請求。

可以做什麼
讀取報表:依計數器與指標取得表格、依時間、下鑽及區隔/期間比較統計。檢視與管理圖表註解、存取篩選器、操作、標籤、帳戶與代理人。管理 Logs API 請求,包括評估、取消與下載 TSV。上傳離線轉換、通話、支出與使用者參數。建立、修改或刪除計數器、目標、篩選器、授權、區隔、標籤、操作、代理人與日誌請求。
適用情境
當你使用 Yandex Metrika,希望助理直接取得流量與轉換統計、檢視計數器與目標,或在對話中設定與管理追蹤物件及日誌匯出時適用。
執行需求
以 Python 套件形式在桌面 MCP 用戶端本機執行(uvx 或 pip)。需要具備 metrika:read 與 metrika:write 權限的 Yandex Metrika OAuth 權杖,透過 YANDEX_METRIKA_TOKEN 環境變數或 env 檔案提供。可選 METRIKA_TIMEOUT 與 METRIKA_FILE_TIMEOUT。需要連線至 Yandex Metrika API 的網路。
安裝前請注意
此 OAuth 權杖擁有 Metrika 帳戶的讀寫權限,應妥善保管,例如放在獨立的 env 檔案而非共用設定中。許多工具會建立、修改或刪除計數器、目標、篩選器、授權、區隔、標籤、代理人與日誌請求,部分工具還會上傳轉換、通話與支出資料,因此會改動線上分析資料。API 有速率限制,超限會回傳 HTTP 420。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Yandex Metrika,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-server-yandex-metrika

[Version]

MCP-сервер, CLI-утилита и библиотека Pydantic-моделей для API Яндекс Метрики.

  • MCP-сервер — интеграция с Claude Code, Claude Desktop и другими MCP-клиентами
  • CLI-утилита — работа с API из терминала, скрипты и автоматизация
  • Pydantic-модели — типизированные модели API для использования в своих Python-программах

Все данные остаются на вашем компьютере — токен никуда не передаётся.

Оглавление

Возможности

Отчёты (Reporting API)

ИнструментCLIОписание
ym_stat_datastat-dataТабличный отчёт по метрикам и измерениям
ym_stat_data_bytimestat-bytimeОтчёт по времени (группировка: час/день/неделя/месяц)
ym_stat_data_drilldownstat-drilldownDrill down отчёт с раскрытием уровней
ym_stat_data_comparisonstat-comparisonСравнение сегментов/периодов
ym_stat_data_comparison_drilldown—Сравнение с drill down

Счётчики

ИнструментCLIОписание
ym_counterscountersСписок счётчиков (поиск, фильтрация)
ym_countercounterИнформация о счётчике
ym_counter_createcounter-createСоздать счётчик
ym_counter_updatecounter-updateИзменить счётчик
ym_counter_deletecounter-deleteУдалить счётчик
ym_counter_undeletecounter-undeleteВосстановить удалённый

Цели

ИнструментCLIОписание
ym_goalsgoalsСписок целей счётчика
ym_goalgoalИнформация о цели
ym_goal_creategoal-createСоздать цель (url/number/step/action/...)
ym_goal_update—Изменить цель
ym_goal_deletegoal-deleteУдалить цель

Фильтры

ИнструментCLIОписание
ym_filtersfiltersСписок фильтров
ym_filter—Информация о фильтре
ym_filter_createfilter-createСоздать фильтр (IP, URL, реферер)
ym_filter_update—Изменить фильтр
ym_filter_deletefilter-deleteУдалить фильтр

Доступ (Grants)

ИнструментCLIОписание
ym_grantsgrantsСписок разрешений
ym_grant_creategrant-createВыдать разрешение
ym_grant_update—Изменить разрешение
ym_grant_deletegrant-deleteУдалить разрешение

Операции

ИнструментCLIОписание
ym_operationsoperationsСписок операций
ym_operation—Информация об операции
ym_operation_createoperation-createСоздать операцию (cut_parameter, to_lower, ...)
ym_operation_update—Изменить операцию
ym_operation_deleteoperation-deleteУдалить операцию

Сегменты

ИнструментCLIОписание
ym_segmentssegmentsСписок сегментов
ym_segment—Информация о сегменте
ym_segment_createsegment-createСоздать сегмент
ym_segment_update—Изменить сегмент
ym_segment_deletesegment-deleteУдалить сегмент

Метки

ИнструментCLIОписание
ym_labelslabelsСписок меток
ym_label_createlabel-createСоздать метку
ym_label_update—Изменить метку
ym_label_deletelabel-deleteУдалить метку
ym_counter_label_set—Привязать метку к счётчику
ym_counter_label_unset—Отвязать метку

Аккаунты и представители

ИнструментCLIОписание
ym_accountsaccountsСписок аккаунтов
ym_account_delete—Удалить аккаунт
ym_delegatesdelegatesСписок представителей
ym_delegate_adddelegate-addДобавить представителя
ym_delegate_deletedelegate-deleteУдалить представителя

Примечания на графике

ИнструментCLIОписание
ym_chart_annotationschart-annotationsСписок примечаний
ym_chart_annotation_createchart-annotation-createСоздать примечание
ym_chart_annotation_update—Изменить примечание
ym_chart_annotation_delete—Удалить примечание

Фильтры доступа

ИнструментCLIОписание
ym_access_filters—Список фильтров доступа
ym_access_filter_create—Создать фильтр доступа
ym_access_filter_update—Изменить фильтр доступа
ym_access_filter_delete—Удалить фильтр доступа

Logs API

ИнструментCLIОписание
ym_log_requestslog-requestsСписок запросов логов
ym_log_request—Информация о запросе
ym_log_request_createlog-request-createСоздать запрос (hits/visits)
ym_log_request_evaluatelog-request-evaluateОценить возможность запроса
ym_log_request_clean—Очистить обработанные логи
ym_log_request_cancel—Отменить запрос
ym_log_request_downloadlog-downloadСкачать часть лога (TSV)

Импорт данных

ИнструментCLIОписание
ym_offline_conversions_uploadupload-conversionsЗагрузить оффлайн-конверсии
ym_offline_conversions_uploads—Список загрузок конверсий
ym_offline_conversion_upload_info—Инфо о загрузке
ym_calls_uploadupload-callsЗагрузить звонки
ym_calls_uploads—Список загрузок звонков
ym_calls_upload_info—Инфо о загрузке звонков
ym_expenses_uploadupload-expensesЗагрузить расходы
ym_user_params_upload—Загрузить параметры пользователей

MCP-сервер

Установка

Шаг 1. Получить OAuth-токен Яндекс Метрики
  1. Зарегистрируйте приложение на oauth.yandex.com
  2. Укажите права: metrika:read, metrika:write
  3. Получите токен: https://oauth.yandex.com/authorize?response_type=token&client_id=<ваш_client_id>
Шаг 2. Подключить MCP-сервер

Подключение к Claude Code

Способ 1: через uvx (не требует установки пакета)

Требуется uv — если не установлен:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh
bash
claude mcp add yandex-metrika \  -e YANDEX_METRIKA_TOKEN=ваш_токен \  -- uvx mcp-server-yandex-metrika

Способ 2: через pip

bash
pip install mcp-server-yandex-metrika
claude mcp add yandex-metrika \  -e YANDEX_METRIKA_TOKEN=ваш_токен \  -- mcp-server-yandex-metrika

Для удаления:

bash
claude mcp remove yandex-metrika

Подключение к Claude Desktop

Добавьте в конфигурационный файл:

КлиентОСПуть к файлу
Claude Codeвсе~/.claude/settings.json (секция mcpServers)
Claude DesktopmacOS~/Library/Application Support/Claude/claude_desktop_config.json
Claude DesktopWindows%APPDATA%\Claude\claude_desktop_config.json
Claude DesktopLinux~/.config/Claude/claude_desktop_config.json

Через uvx:

json
{  "mcpServers": {    "yandex-metrika": {      "command": "uvx",      "args": ["mcp-server-yandex-metrika"],      "env": {        "YANDEX_METRIKA_TOKEN": "ваш_токен"      }    }  }}

Через pip (после pip install mcp-server-yandex-metrika):

json
{  "mcpServers": {    "yandex-metrika": {      "command": "python",      "args": ["-m", "mcp_server_yandex_metrika"],      "env": {        "YANDEX_METRIKA_TOKEN": "ваш_токен"      }    }  }}

Подключение через --mcp-config

Подключает сервер только на время одной сессии Claude, не сохраняя в настройки. Токен хранится в отдельном .env.mcp файле, а не в конфиге Claude.

Из JSON-строки:

bash
claude --mcp-config '{"yandex-metrika":{"command":"bash","args":["-c","source ~/.env.mcp && exec uvx mcp-server-yandex-metrika"]}}'

Из файла:

bash
claude --mcp-config ~/mcp-servers.json

Пример ~/mcp-servers.json:

json
{  "yandex-metrika": {    "command": "bash",    "args": ["-c", "source ~/.env.mcp && exec uvx mcp-server-yandex-metrika"]  }}

Пример ~/.env.mcp:

YANDEX_METRIKA_TOKEN=ваш_токен
Шаг 3. Проверить

Попросите Claude: «Покажи список моих счётчиков Яндекс Метрики» — он вызовет ym_counters.

Примеры (MCP)

  • «Покажи статистику по визитам за последнюю неделю для счётчика 12345678» → ym_stat_data
  • «Создай цель "Покупка" типа url с условием contain "/thank-you"» → ym_goal_create
  • «Выгрузи логи визитов за январь 2024» → ym_log_request_create

CLI-утилита

Установка (CLI)

bash
pip install mcp-server-yandex-metrika

Переменная окружения YANDEX_METRIKA_TOKEN должна быть установлена:

bash
export YANDEX_METRIKA_TOKEN=ваш_токен

Или через файл:

bash
mcp-server-yandex-metrika --env /path/to/.env counters

Формат файла — KEY=VALUE, по одной переменной на строку, #-комментарии.

Использование (CLI)

Без аргументов запускается MCP-сервер, с командой — CLI. Все команды выводят JSON.

bash
# Версияmcp-server-yandex-metrika --version
# Справкаmcp-server-yandex-metrika --helpmcp-server-yandex-metrika <command> --help

Примеры команд

bash
# Статистика визитовmcp-server-yandex-metrika stat-data --ids 12345678 --metrics ym:s:visits,ym:s:users
# Список счётчиковmcp-server-yandex-metrika counters --search "мой сайт"
# Цели счётчикаmcp-server-yandex-metrika goals 12345678
# Создать запрос логовmcp-server-yandex-metrika log-request-create 12345678 \  --date1 2024-01-01 --date2 2024-01-31 \  --fields "ym:s:date,ym:s:visitID" --source visits

Pydantic-модели

Пакет содержит типизированные Pydantic-модели всех объектов API. Модели можно использовать в своих Python-программах для валидации данных и автодополнения в IDE.

Установка (библиотеки)

bash
pip install mcp-server-yandex-metrika

Использование в своих программах

python
from mcp_server_yandex_metrika.models import CounterBrief, Goal
# Валидация данных из APIdata = {"id": 12345678, "name": "Мой сайт", "status": "Active"}counter = CounterBrief.model_validate(data)print(counter.name)  # type-safe доступ к полям
# Создание объектаgoal = Goal(name="Покупка", type="url")print(goal.model_dump_json())

Все модели используют extra="allow" для forward compatibility — неизвестные поля API не вызывают ошибок.

Полный список моделей: models.py


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

ПеременнаяОбязательнаяПо умолчаниюОписание
YANDEX_METRIKA_TOKENда—OAuth-токен Яндекс Метрики
METRIKA_TIMEOUTнет30Таймаут HTTP-запросов к API (секунды)
METRIKA_FILE_TIMEOUTнет60Таймаут скачивания файлов (секунды)

Загрузка из файла

Вместо передачи переменных через -e можно указать файл:

bash
mcp-server-yandex-metrika --env /path/to/.env

Формат файла — KEY=VALUE, по одной переменной на строку, #-комментарии.

Работает в обоих режимах: MCP-сервер и CLI:

bash
# MCP-серверclaude mcp add yandex-metrika -- mcp-server-yandex-metrika --env ~/.config/metrika.env
# CLImcp-server-yandex-metrika --env ~/.config/metrika.env counters

Лимиты API

  • 30 запросов/секунду на IP
  • 5000 запросов/день на пользователя
  • 3 параллельных запроса на пользователя
  • 200 запросов/5 минут для /stat/v1/data/
  • HTTP 420 при превышении лимитов

Разработка

bash
pip install -e ".[test]"ruff check src/ tests/pytest tests/ -v

Лицензия

MIT

來源:README.md,提交 cd20e21

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.4最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。