mcpField
Y
Yandex Analytics

Yandex Analytics

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

Yandex Analytics について

Yandex Analyticsは、AIエージェント向けの読み取り専用MCPサーバーで、Yandex Metrika、Webmaster、Direct、Wordstatのサイト・広告データを照会できます。少数のツールで指標や推移、検索語句を分析でき、トークンはローカルで扱います。

主な機能

  1. 01Metrikaのトラフィックと目標指標を照会
  2. 02期間比較とカスタムレポートの作成
  3. 03Webmasterの検索語句とインデックス状況を確認
  4. 04Directの広告実績とWordstatの検索頻度を確認
  5. 05PKCEでログインしトークンを管理

活用シーン

  1. 01サイトのトラフィックや流入元の変化を分析
  2. 02検索結果の1ページ目に近い検索語句を発見
  3. 03広告キャンペーン別の費用とクリック数を確認
  4. 04週次のサイト分析レポートを作成

MCP 対応

stdio経由で、クライアントがMetrika、Webmaster、Direct、Wordstatを照会するための分析ツールを公開します。明示的な確認を要するページ再クロールを除き、ツールは読み取り専用です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nozikov-yandex": {
"command": "uvx",
"args": [
"yandex-mcp"
],
"env": {
"YANDEX_MCP_DEFAULT_COUNTER": "<YANDEX_MCP_DEFAULT_COUNTER>",
"YANDEX_MCP_CLIENT_ID": "<YANDEX_MCP_CLIENT_ID>"
}
}
}
}
起動コマンドuvx yandex-mcp
設定が必要な環境変数
YANDEX_MCP_DEFAULT_COUNTERMetrika counter id used when a tool call omits counter_id
YANDEX_MCP_CLIENT_IDYandex OAuth application id; alternative to storing it in the OS keystore

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

パッケージ
pypiyandex-mcp2.1.0

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
date1stringいいえ開始日:YYYY-MM-DD または 30daysAgo
date2stringいいえ終了日:YYYY-MM-DD または yesterday
counter_idstringいいえMetrica カウンター ID。指定されていない場合は YANDEX_MCP_DEFAULT_COUNTER を使用します

詳細

yandex-mcp

ヤンデックスの分析データを、言葉でたずねましょう。 メトリカ、ウェブマスター、ダイレクト、ワードスタットを 1つの MCP サーバーにまとめました。

tests PyPI Python License: MIT

Yandex Analytics MCP server

> Как изменился трафик за последний месяц и откуда пришёл рост?
> По каким запросам мы на второй странице — там, где до топа осталось чуть-чуть?
> Сколько стоила заявка в Директе на прошлой неделе по каждой кампании?

仕組み

クライアントとサーバーはお使いのコンピューター上で動作し、ヤンデックスの API に直接アクセスします

サーバーは、お使いのコンピューター上で動作する通常のプログラムです。エージェントからデータを求められると、ヤンデックスの API にアクセスし、整形済みのテキストを返します。中継サーバーはありません。トークンもデータも、他人の手に渡りません。

依存関係は一切ありません。サードパーティー製ライブラリもありません。このプロセスを通じて分析データや広告アカウントにアクセスするため、他者のコードは少ないほど安心です。

インストール

Claude Code — 2つのコマンドを実行するだけです。サーバーと一緒にスキルもインストールされます。

/plugin marketplace add nozikov/yandex-mcp
/plugin install yandex-mcp@nozikov

Codex CLI — ~/.codex/config.toml に追記して、Codex を再起動します。

[mcp_servers.yandex]
command = "uvx"
args = ["yandex-mcp"]
env = { YANDEX_MCP_DEFAULT_COUNTER = "12345678" }

その他のクライアント — PyPI からインストールします。

claude mcp add yandex -e YANDEX_MCP_DEFAULT_COUNTER=12345678 -- uvx yandex-mcp

または、手動で設定ファイルに追加します。詳しくは .mcp.json.example をご覧ください。

{
  "mcpServers": {
    "yandex": {
      "command": "uvx",
      "args": ["yandex-mcp"],
      "env": { "YANDEX_MCP_DEFAULT_COUNTER": "12345678" }
    }
  }
}

カウンターの指定は任意です。指定しない場合は、質問のたびにカウンター名を伝える必要があります。

ログイン

ログインの3ステップ:エージェントに依頼し、ブラウザーで確認して、コードをチャットに返します

ターミナルは不要です。エージェントに「ヤンデックスに接続して」と伝えれば、手順に沿って案内してくれます。

その前に一度だけ、ヤンデックスにアプリを登録する必要があります。登録は無料で、5分ほどで完了します。yandex-mcp setup を実行すると、必要なページが開き、入力内容が案内されます。アプリのパスワードは不要です。PKCE を使用します。

エージェントが代わりにできない唯一の手順は、アプリの登録そのものです。ご自身のアカウントが必要になります。取得した ClientID は秘密情報ではないので、そのままエージェントに伝えてかまいません。

yandex-mcp setup --client-id <ClientID>
アプリの登録時に入力する内容

ヤンデックスからアプリの種類を尋ねられます。どちらも使用できますが、ログイン方法が異なります。

種類Redirect URIログイン
「ユーザー認証用」任意の値:http://localhost:8765/callbackyandex-mcp login
「API アクセスまたはデバッグ用」ヤンデックスで固定yandex-mcp login --manual

「データへのアクセス」セクションで、名前を指定してアクセス権を追加します。

metrika:read
webmaster:hostinfo
webmaster:verify
direct:api           ← нужна заявка в кабинете Директа, рассматривают до 7 дней

ログインでは、すべてのアクセス権を一度に要求します。direct:api がまだ承認されていない場合、ヤンデックスは要求を拒否します。その場合、サーバーはそれを検知し、ダイレクトを使わずにログインして、その旨を知らせます。メトリカとウェブマスターはすぐに使えます。申請が承認された後に再度ログインすると、ダイレクトも利用できるようになります。

ターミナルで使えるコマンド:setup、login、status、logout。

## Что умеет

Метрика

metrika_summaryСводка за период: визиты, посетители, отказы, глубина, достижения всех целей
metrika_compareСравнение двух периодов — по итогам или построчно по источникам, устройствам, страницам
metrika_reportЛюбой отчёт: свои метрики, измерения и фильтры
metrika_countersКакие счётчики доступны

Вебмастер

webmaster_summaryИКС, страниц в поиске, исключено, активные проблемы
webmaster_queriesПоисковые запросы: показы, клики, средняя позиция
webmaster_indexingКак менялось число страниц в поиске
webmaster_sitemapsКакие карты сайта видит Яндекс и есть ли в них ошибки
webmaster_recrawlПоставить страницы на переобход. Единственное действие, а не чтение — требует явного подтверждения

Директ и Вордстат

direct_campaignsКампании и остаток баллов API
direct_reportРасход, показы, клики, CTR — по кампаниям, объявлениям, группам или запросам
wordstat_phrasesЧастотности: сколько раз в месяц ищут фразу и что ищут вместе с ней

Подключение

yandex_loginНачать вход — выдаёт ссылку
yandex_submit_codeЗавершить вход — принимает код
yandex_auth_statusЧто подключено и когда истекает
Скиллы

Ставятся вместе с плагином Claude Code:

/yandex-mcp:site-weeklyНедельный отчёт по сайту: трафик, источники, поиск, реклама — и что делать
/yandex-mcp:seo-opportunitiesЗапросы на границе топа: где до первой страницы осталось немного

Где лежит токен

Хранилище выбирается автоматически: переменная окружения, Keychain, secret-tool, файл 0600

Ничего настраивать не нужно — подходящее хранилище выбирается само. Форсировать можно переменной YANDEX_MCP_KEYSTORE.

Записи лежат под общим префиксом, чтобы logout не задел чужое:

yandex-mcp-token             общий токен
yandex-mcp-metrika-token     токен одного сервиса, если нужен узкий доступ
yandex-mcp-client-id         ID приложения Яндекса

Токен можно передать и напрямую, минуя хранилище: YANDEX_MCP_SECRET_TOKEN для общего, YANDEX_MCP_SECRET_METRIKA_TOKEN для узкого. Так удобно в Docker и CI.

Почему 15 инструментов, а не 130

Описания всех инструментов уходят в контекст модели при каждом запросе, пока сервер подключён. Здесь это около 1 800 токенов. У серверов со 130–150 инструментами — за 40 000, и это постоянный налог на каждый диалог.

Оставлено то, на что реально смотрят: цифры и их динамика. Управлять кампаниями и ставками отсюда нельзя — для этого есть кабинет Директа, и цена ошибки там другая.

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

ПеременнаяЗачем
YANDEX_MCP_DEFAULT_COUNTERСчётчик Метрики по умолчанию
YANDEX_MCP_CLIENT_IDID приложения Яндекса, если не хочешь держать его в хранилище
YANDEX_MCP_KEYSTOREkeychain, secret-tool или file — выбрать хранилище вручную
YANDEX_MCP_SECRET_TOKENГотовый токен мимо хранилища (Docker, CI)
YANDEX_MCP_DIRECT_SANDBOX1 — Директ отвечает из песочницы, баллы API не тратятся
YANDEX_MCP_DIRECT_CLIENT_LOGINЛогин клиента для агентских аккаунтов
YANDEX_MCP_WORDSTAT_WAITСколько секунд ждать отчёт Вордстата, по умолчанию 170

О чём стоит знать

  • Инструменты Директа и Вордстата требуют одобренной заявки на API Директа. До неё Директ отвечает ошибкой 58.
  • Отчёт Вордстата готовится у Яндекса около трёх минут. Если вернулось «ещё готовится» — повтори запрос с теми же фразами, готовый результат подхватится сразу.
  • Отчёт Директа тоже может готовиться минутами. Сервер ждёт сам, но в очереди Яндекса помещается не больше пяти таких отчётов на аккаунт.
  • Переобход страниц ограничен: 20 URL за вызов при суточной квоте 150 на сайт.
  • Ответ обрезается на 20 000 символах. Для больших выгрузок сужай период.
  • Токен живёт около полугода, потом нужно войти заново. Обновлять его автоматически Яндекс разрешает только приложениям с паролем, а у PKCE-приложения его нет.
  • Там, где системного хранилища нет (Windows, сервер без графики, контейнер), токен лежит в файле с правами 0600 — как ~/.aws/credentials или SSH-ключ без пароля.

Безопасность

Токен не появляется ни в ответе инструмента, ни в тексте ошибки: есть отдельный фильтр, вычищающий его из любого текста. status показывает только отпечаток.

Почти всё — чтение. Единственное изменяющее действие, переобход страниц, требует явного подтверждения в аргументах вызова.

Данные из API считаются недоверенными: поисковые фразы, UTM-метки и названия кампаний пишут посторонние люди. К каждому ответу добавляется пометка, что это данные для анализа, а не инструкции агенту.

Разработка

pip install -e ".[dev]"
pytest

Тесты не ходят в сеть и не трогают системное хранилище. CI гоняет их на Linux, macOS и Windows, на Python от 3.8 до 3.14.

src/yandex_mcp/
  cli.py         точка входа: без аргументов сервер, с аргументами настройка
  server.py      JSON-RPC поверх stdio
  registry.py    сборка списка инструментов
  httpclient.py  запросы к Яндексу
  scrub.py       вычищение секретов из ответов
  auth/          хранилище, токены, вход по PKCE
  tools/         по модулю на сервис

Код лежит в src/, чтобы import yandex_mcp брал установленный пакет, а не случайно подхваченную рабочую директорию — иначе тесты могут проходить на коде, которого нет в собранном колесе.

Диаграммы в docs/ собираются из scripts/make_diagrams.py, а scripts/check_metadata.py следит, чтобы README не разошёлся с кодом: версии, список инструментов и переменные окружения проверяются на каждом прогоне CI.

Лицензия

MIT

コメント

MCP は初めてですか?

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

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