Mcp Server Yandex Metrika — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server Yandex Metrika (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.dontsovcmc/yandex-metrika -->
MCP-сервер, CLI-утилита и библиотека Pydantic-моделей для API Яндекс Метрики.
Все данные остаются на вашем компьютере — токен никуда не передаётся.
| Инструмент | CLI | Описание |
|---|---|---|
ym_stat_data | stat-data | Табличный отчёт по метрикам и измерениям |
ym_stat_data_bytime | stat-bytime | Отчёт по времени (группировка: час/день/неделя/месяц) |
ym_stat_data_drilldown | stat-drilldown | Drill down отчёт с раскрытием уровней |
ym_stat_data_comparison | stat-comparison | Сравнение сегментов/периодов |
ym_stat_data_comparison_drilldown | — | Сравнение с drill down |
| Инструмент | CLI | Описание |
|---|---|---|
ym_counters | counters | Список счётчиков (поиск, фильтрация) |
ym_counter | counter | Информация о счётчике |
ym_counter_create | counter-create | Создать счётчик |
ym_counter_update | counter-update | Изменить счётчик |
ym_counter_delete | counter-delete | Удалить счётчик |
ym_counter_undelete | counter-undelete | Восстановить удалённый |
| Инструмент | CLI | Описание |
|---|---|---|
ym_goals | goals | Список целей счётчика |
ym_goal | goal | Информация о цели |
ym_goal_create | goal-create | Создать цель (url/number/step/action/...) |
ym_goal_update | — | Изменить цель |
ym_goal_delete | goal-delete | Удалить цель |
| Инструмент | CLI | Описание |
|---|---|---|
ym_filters | filters | Список фильтров |
ym_filter | — | Информация о фильтре |
ym_filter_create | filter-create | Создать фильтр (IP, URL, реферер) |
ym_filter_update | — | Изменить фильтр |
ym_filter_delete | filter-delete | Удалить фильтр |
| Инструмент | CLI | Описание |
|---|---|---|
ym_grants | grants | Список разрешений |
ym_grant_create | grant-create | Выдать разрешение |
ym_grant_update | — | Изменить разрешение |
ym_grant_delete | grant-delete | Удалить разрешение |
| Инструмент | CLI | Описание |
|---|---|---|
ym_operations | operations | Список операций |
ym_operation | — | Информация об операции |
ym_operation_create | operation-create | Создать операцию (cut_parameter, to_lower, ...) |
ym_operation_update | — | Изменить операцию |
ym_operation_delete | operation-delete | Удалить операцию |
| Инструмент | CLI | Описание |
|---|---|---|
ym_segments | segments | Список сегментов |
ym_segment | — | Информация о сегменте |
ym_segment_create | segment-create | Создать сегмент |
ym_segment_update | — | Изменить сегмент |
ym_segment_delete | segment-delete | Удалить сегмент |
| Инструмент | CLI | Описание |
|---|---|---|
ym_labels | labels | Список меток |
ym_label_create | label-create | Создать метку |
ym_label_update | — | Изменить метку |
ym_label_delete | label-delete | Удалить метку |
ym_counter_label_set | — | Привязать метку к счётчику |
ym_counter_label_unset | — | Отвязать метку |
| Инструмент | CLI | Описание |
|---|---|---|
ym_accounts | accounts | Список аккаунтов |
ym_account_delete | — | Удалить аккаунт |
ym_delegates | delegates | Список представителей |
ym_delegate_add | delegate-add | Добавить представителя |
ym_delegate_delete | delegate-delete | Удалить представителя |
| Инструмент | CLI | Описание |
|---|---|---|
ym_chart_annotations | chart-annotations | Список примечаний |
ym_chart_annotation_create | chart-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 | — | Удалить фильтр доступа |
| Инструмент | CLI | Описание |
|---|---|---|
ym_log_requests | log-requests | Список запросов логов |
ym_log_request | — | Информация о запросе |
ym_log_request_create | log-request-create | Создать запрос (hits/visits) |
ym_log_request_evaluate | log-request-evaluate | Оценить возможность запроса |
ym_log_request_clean | — | Очистить обработанные логи |
ym_log_request_cancel | — | Отменить запрос |
ym_log_request_download | log-download | Скачать часть лога (TSV) |
| Инструмент | CLI | Описание |
|---|---|---|
ym_offline_conversions_upload | upload-conversions | Загрузить оффлайн-конверсии |
ym_offline_conversions_uploads | — | Список загрузок конверсий |
ym_offline_conversion_upload_info | — | Инфо о загрузке |
ym_calls_upload | upload-calls | Загрузить звонки |
ym_calls_uploads | — | Список загрузок звонков |
ym_calls_upload_info | — | Инфо о загрузке звонков |
ym_expenses_upload | upload-expenses | Загрузить расходы |
ym_user_params_upload | — | Загрузить параметры пользователей |
#### Шаг 1. Получить OAuth-токен Яндекс Метрики
metrika:read, metrika:writehttps://oauth.yandex.com/authorize?response_type=token&client_id=<ваш_client_id>#### Шаг 2. Подключить MCP-сервер
Способ 1: через uvx (не требует установки пакета)
Требуется uv — если не установлен: ``bash 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 Code | все | ~/.claude/settings.json (секция mcpServers) |
| Claude Desktop | macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop | Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Desktop | Linux | ~/.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": "ваш_токен"
}
}
}
}Подключает сервер только на время одной сессии 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.
ym_stat_dataym_goal_createym_log_request_createpip install mcp-server-yandex-metrikaПеременная окружения YANDEX_METRIKA_TOKEN должна быть установлена:
export YANDEX_METRIKA_TOKEN=ваш_токенИли через файл:
mcp-server-yandex-metrika --env /path/to/.env countersФормат файла — KEY=VALUE, по одной переменной на строку, #-комментарии.
Без аргументов запускается 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-модели всех объектов API. Модели можно использовать в своих Python-программах для валидации данных и автодополнения в IDE.
pip install mcp-server-yandex-metrikafrom 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/stat/v1/data/pip install -e ".[test]"
ruff check src/ tests/
pytest tests/ -vMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.