ya-metrics-mcp

ya-metrics-mcp

MCP server for Yandex Metrika analytics, enabling AI assistants to access traffic, content, demographics, conversion, e-commerce, and drill-down reports.

Category
Visit Server

README

ya-metrics-mcp

License Python FastMCP

Model Context Protocol (MCP) server for Yandex Metrika analytics. Exposes 31 analytics tools to your AI assistant — traffic, content, demographics, geographic, conversion, e-commerce data, and hierarchical drill-down reports.

Documentation in Russian is available here / Документация на русском языке — здесь.

Quick Start

1. Get Your OAuth Token

  1. Go to oauth.yandex.ru/client/new and create a new application:

    • Name — any name you like
    • Platforms — select Web services
    • Redirect URI — enter https://oauth.yandex.ru/verification_code
    • Data access — add metrika:read (this is the only scope needed for all 31 tools)
  2. Click Create application and copy the ClientID.

  3. Open this URL in your browser (replace <ClientID> with your value):

    https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>
    
  4. Authorize and copy the token from the resulting page.

2. Configure Your IDE

Add to your Claude Desktop / Cursor MCP configuration:

{
  "mcpServers": {
    "ya-metrics": {
      "command": "uvx",
      "args": ["ya-metrics-mcp"],
      "env": {
        "YANDEX_API_KEY": "your_oauth_token"
      }
    }
  }
}

Running from source? Use uv run instead:

{
  "mcpServers": {
    "ya-metrics": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/ya-metrics-mcp", "ya-metrics-mcp"],
      "env": { "YANDEX_API_KEY": "your_oauth_token" }
    }
  }
}

3. Start Using

Ask your AI assistant to:

  • "List my Metrika counters" — start here to find your counter ID
  • "Show me visits for counter 12345678 over the last 30 days"
  • "What are the top traffic sources for my site?"
  • "Compare mobile vs desktop users this month"
  • "Show conversion rates for goals 1 and 2"
  • "Drill down into traffic by country → city"
  • "Compare organic vs direct traffic segments"

Tools

31 tools across 7 domains:

Account & Counters

Tool Description
list_counters List all counters on the account (use this first to find counter IDs)
list_goals List conversion goals for a counter (call before get_goals_conversion)
get_account_info Counter metadata: name, site, timezone, permissions

Traffic & Sources

Tool Description
get_visits Visit statistics with date range (defaults to 7 days)
sources_summary Traffic sources overview
sources_search_phrases Top search phrases
get_traffic_sources_types Breakdown by source type (organic, direct, referral)
get_search_engines_data Sessions by search engine, with robot/new-user filters
get_new_users_by_source New user acquisition by traffic source (defaults to 30 days)

Content Analytics

Requires Yandex Zen/Turbo publisher integration on the counter.

Tool Description
get_content_analytics_sources Sources driving readers to articles
get_content_analytics_categories Stats by content category
get_content_analytics_authors Author performance
get_content_analytics_topics Performance by topic
get_content_analytics_articles Top articles by views

Demographics & Devices

Tool Description
get_user_demographics Age, gender, device breakdown
get_device_analysis Browser and OS analysis
get_mobile_vs_desktop Mobile vs desktop comparison
get_page_depth_analysis Sessions by page depth

Geographic

Tool Description
get_regional_data Traffic by city (all cities by default, or filter by name)
get_geographical_organic_traffic Organic traffic by country and city

Performance & Conversion

Tool Description
get_page_performance Bounce rate and duration by entry URL path
get_goals_conversion Conversion rates for specified goals
get_organic_search_performance SEO performance by query and engine
get_conversion_rate_by_source_and_landing Conversion by source × landing page URL

Advanced & Drill-Down

Tool Description
get_ecommerce_performance E-commerce purchases by product name (requires e-commerce tracking)
get_data_by_time Time-series data with custom grouping
get_yandex_direct_experiment A/B experiment bounce rates
get_browsers_report Browser usage report
get_drilldown Single branch of a hierarchical tree-view report
compare_segments Compare two user segments side by side
compare_segments_drilldown Segment comparison as a hierarchical tree-view

Response Size Control

Many tools accept a limit parameter to cap the number of rows returned. This is useful when working with AI assistants to keep responses within context limits. Tools with limit support: sources_summary, sources_search_phrases, get_device_analysis, get_page_performance, get_organic_search_performance, get_conversion_rate_by_source_and_landing, get_regional_data, get_geographical_organic_traffic, get_drilldown, compare_segments, compare_segments_drilldown.

Configuration

All configuration via environment variables:

Variable Required Default Description
YANDEX_API_KEY Yandex OAuth token
YANDEX_TIMEOUT 30 Request timeout in seconds
YANDEX_RETRIES 3 Retry attempts for 5xx errors
YANDEX_RETRY_DELAY 1.0 Base delay between retries (seconds)
READ_ONLY_MODE false Restrict to read-only tools
ENABLED_TOOLS all Comma-separated list of allowed tools

Copy .env.example to .env and fill in your values.

CLI

# stdio (default, for MCP clients)
ya-metrics-mcp

# HTTP transport
ya-metrics-mcp --transport streamable-http --port 8000

# With verbose logging
ya-metrics-mcp -vv

# Load custom .env file
ya-metrics-mcp --env-file /path/to/.env

Installation

From PyPI:

uvx ya-metrics-mcp

From source:

git clone https://github.com/mrkhachaturov/ya-metrics-mcp
cd ya-metrics-mcp
uv sync
uv run ya-metrics-mcp

Development

# Install with dev dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Lint
uv run ruff check src/

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured