The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Yandex Metrika MCP listing page.
Query Yandex Metrika analytics in plain language, right inside Claude. "How many visits this week?", "Top traffic sources for June", "Mobile share today?" — the assistant queries Metrika and answers directly. No dashboards, no SQL, no API keys to manage.
Open-source by aiaiai — we build what we teach.
Задавай вопросы по Яндекс.Метрике обычным языком прямо в Claude. «Сколько визитов за неделю?», «топ источников за июнь», «доля мобильных?» — ассистент сам сходит в Метрику и ответит. Без дашбордов.

Claude.ai · Claude Code · Claude Desktop · Cursor · any MCP-compatible client
No installation needed — connect to the hosted service.
Claude.ai (Settings → Connectors → Add):
Click Connect → sign in with Yandex → allow access.
Claude Code CLI:
A browser window opens → sign in with Yandex → done. On headless/SSH: add --no-browser to mcp login and paste the redirect URL when prompted.
Claude Desktop / Cursor — add to mcpServers:
No app registration, no tokens to manage. Read-only — the service never writes to your Metrika account.
Claude.ai (Настройки → Коннекторы → Добавить):
Нажмите Подключить → войдите через Яндекс → разрешите доступ.
Claude Code CLI:
Откроется браузер → войти через Яндекс → готово.
| Tool | Description |
|---|---|
list_counters | List all Yandex Metrika counters available to the token (id, name, site) |
query | Run a Reporting API query — visits, users, pageviews, bounce rate, traffic sources, devices, geography, UTMs, and more |
query parameters| Parameter | Default | Description |
|---|---|---|
counter_id | required | Counter ID from list_counters |
metrics | required | Comma-separated metrics, e.g. ym:s:visits,ym:s:users |
dimensions | — | Group-by fields: ym:s:date, ym:s:lastTrafficSource, ym:s:deviceCategory, … |
date1 / date2 | 7daysAgo / today | Date range: YYYY-MM-DD or relative (today, yesterday, NdaysAgo) |
filters | — | Filter expression, e.g. ym:s:deviceCategory=='mobile' |
sort | — | Sort field; prefix - for descending, e.g. -ym:s:visits |
limit | 100 | Max rows returned |
Common metrics: ym:s:visits, ym:s:users, ym:s:pageviews, ym:s:bounceRate, ym:s:avgVisitDurationSeconds, ym:s:newUsers
Common dimensions: ym:s:date, ym:s:lastTrafficSource, ym:s:startURL, ym:s:deviceCategory, ym:s:regionCountry, ym:s:lastsourceUTMSource
Requires Python 3.10+ and uv.
Get a token. Go to oauth.yandex.ru, create an app (platform: "Web services"), enable Yandex Metrika → Read statistics (metrika:read), then get an OAuth token:
Connect (Claude Desktop / Cursor — add to mcpServers):
Run over HTTP:
Embed in your own backend. The engine accepts an injectable async token resolver — wrap it with your own auth:
Public API: build_server, YandexMetrikaClient, TokenResolver, env_token_resolver, main.