Back to Browse

Yandex Metrika MCP Server

Developer ToolsModerate5.2MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.

About

Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.

Remote endpoints: streamable-http: https://mcp.getaiaiai.ru/yandex-metrika

Security Report

5.2
Moderate5.2Moderate Risk

This is a well-designed read-only MCP server for Yandex Metrika with proper authentication, clear scope limitations, and clean code structure. The server correctly uses environment variable-based token injection, implements proper error handling, and maintains appropriate API access patterns. Minor observations around input validation and error messaging do not significantly detract from the solid security posture. Supply chain analysis found 3 known vulnerabilities in dependencies (1 critical, 1 high severity).

7 files analyzed · 6 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

YANDEX_METRIKA_TOKENRequired

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

yandex-metrika-mcp

License: MIT Python 3.10+ FastMCP MCP

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. «Сколько визитов за неделю?», «топ источников за июнь», «доля мобильных?» — ассистент сам сходит в Метрику и ответит. Без дашбордов.

Спросил про географию аудитории обычным языком — агент сам построил карту из живой Яндекс.Метрики

Works with

Claude.ai  ·  Claude Code  ·  Claude Desktop  ·  Cursor  ·  any MCP-compatible client

Connect in one minute (hosted)

No installation needed — connect to the hosted service.

Claude.ai (Settings → Connectors → Add):

https://mcp.getaiaiai.ru/yandex-metrika

Click Connect → sign in with Yandex → allow access.

Claude Code CLI:

claude mcp add --transport http yandex-metrika https://mcp.getaiaiai.ru/yandex-metrika/
claude mcp login yandex-metrika

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:

{
  "mcpServers": {
    "yandex-metrika": {
      "type": "http",
      "url": "https://mcp.getaiaiai.ru/yandex-metrika/"
    }
  }
}

No app registration, no tokens to manage. Read-only — the service never writes to your Metrika account.

Claude.ai (Настройки → Коннекторы → Добавить):

https://mcp.getaiaiai.ru/yandex-metrika

Нажмите Подключить → войдите через Яндекс → разрешите доступ.

Claude Code CLI:

claude mcp add --transport http yandex-metrika https://mcp.getaiaiai.ru/yandex-metrika/
claude mcp login yandex-metrika

Откроется браузер → войти через Яндекс → готово.

Tools

ToolDescription
list_countersList all Yandex Metrika counters available to the token (id, name, site)
queryRun a Reporting API query — visits, users, pageviews, bounce rate, traffic sources, devices, geography, UTMs, and more

query parameters

ParameterDefaultDescription
counter_idrequiredCounter ID from list_counters
metricsrequiredComma-separated metrics, e.g. ym:s:visits,ym:s:users
dimensionsGroup-by fields: ym:s:date, ym:s:lastTrafficSource, ym:s:deviceCategory, …
date1 / date27daysAgo / todayDate range: YYYY-MM-DD or relative (today, yesterday, NdaysAgo)
filtersFilter expression, e.g. ym:s:deviceCategory=='mobile'
sortSort field; prefix - for descending, e.g. -ym:s:visits
limit100Max 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


Self-host with your own token

Requires Python 3.10+ and uv.

git clone https://github.com/expremiental/yandex-metrika-mcp.git
cd yandex-metrika-mcp
uv sync

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:

export YANDEX_METRIKA_TOKEN="<your-token>"

Connect (Claude Desktop / Cursor — add to mcpServers):

{
  "mcpServers": {
    "yandex-metrika": {
      "command": "uv",
      "args": ["run", "yandex-metrika-mcp"],
      "env": { "YANDEX_METRIKA_TOKEN": "<your-token>" }
    }
  }
}

Run over HTTP:

MCP_TRANSPORT=http PORT=8000 uv run yandex-metrika-mcp
# endpoint: http://localhost:8000/mcp

Embed in your own backend. The engine accepts an injectable async token resolver — wrap it with your own auth:

from yandex_metrika_mcp import build_server

async def my_token_resolver() -> str:
    return "<metrika:read token>"

build_server(token_resolver=my_token_resolver).run(transport="stdio")

Public API: build_server, YandexMetrikaClient, TokenResolver, env_token_resolver, main.

License

MIT · made by aiaiai

Reviews

No reviews yet

Be the first to review this server!