mcpField
Y
yandex-metrika

yandex-metrika

ローカル
github.com/dontsovcmcデータ・分析225 週間前に更新

yandex-metrika について

yandex-metrika は Yandex Metrika API 向けの MCP サーバー、CLI、Pydantic モデルライブラリです。分析レポートやカウンター、目標、ログなどを扱えます。

主な機能

  1. 01分析レポートと比較
  2. 02カウンターと目標の管理
  3. 03セグメント、フィルター、権限の管理
  4. 04ログ要求と TSV ダウンロード
  5. 05オフラインコンバージョンなどのアップロード
  6. 06CLI と型付き Pydantic モデル

活用シーン

  1. 01訪問数やユーザー指標の確認
  2. 02カウンターや目標の作成・変更
  3. 03訪問またはヒットログの出力
  4. 04Python プログラムでの型付き API モデル利用

MCP 対応

レポート、カウンターや目標の管理、ログ要求など、Yandex Metrika API の操作を MCP クライアント向けのツールとして公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dontsovcmc-yandex-metrika": {
"command": "uvx",
"args": [
"mcp-server-yandex-metrika"
],
"env": {
"YANDEX_METRIKA_TOKEN": "<YANDEX_METRIKA_TOKEN>"
}
}
}
}
起動コマンドuvx mcp-server-yandex-metrika
設定が必要な環境変数
YANDEX_METRIKA_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-server-yandex-metrika0.2.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-server-yandex-metrika

Version

API Яндекс Метрики向けの MCP サーバー、CLI ツール、Pydantic モデルライブラリです。

  • MCP サーバー — Claude Code、Claude Desktop、その他の MCP クライアントとの連携
  • CLI ツール — ターミナルからの API 利用、スクリプト、オートメーション
  • Pydantic モデル — 独自の Python プログラムで利用できる、型付き API モデル

すべてのデータはお使いのコンピューターに保存され、トークンが外部に送信されることはありません。

目次

機能

レポート(Reporting API)
ツールCLI説明
ym_stat_datastat-data指標とディメンションの表形式レポート
ym_stat_data_bytimestat-bytime時系列レポート(グループ化:時間/日/週/月)
ym_stat_data_drilldownstat-drilldown階層を展開するドリルダウンレポート
ym_stat_data_comparisonstat-comparisonセグメント/期間の比較
ym_stat_data_comparison_drilldown—ドリルダウンによる比較
カウンター
ツール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_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 — если не установлен:

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

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

pip install mcp-server-yandex-metrika

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

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

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:

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

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

{
  "mcpServers": {
    "yandex-metrika": {
      "command": "python",
      "args": ["-m", "mcp_server_yandex_metrika"],
      "env": {
        "YANDEX_METRIKA_TOKEN": "ваш_токен"
      }
    }
  }
}
Подключение через --mcp-config

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

Из JSON-строки:

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

Из файла:

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

Пример ~/mcp-servers.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)
pip install mcp-server-yandex-metrika

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

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

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

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

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

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

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

# Версия
mcp-server-yandex-metrika --version

# Справка
mcp-server-yandex-metrika --help
mcp-server-yandex-metrika <command> --help
Примеры команд
# Статистика визитов
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.

Установка (библиотеки)
pip install mcp-server-yandex-metrika
Использование в своих программах
from mcp_server_yandex_metrika.models import CounterBrief, Goal

# Валидация данных из API
data = {"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 можно указать файл:

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

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

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

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

# CLI
mcp-server-yandex-metrika --env ~/.config/metrika.env counters

Лимиты API

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

Разработка

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

Лицензия

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。