MCP server: One MCP server.

yandex-metrika-mcp

@theyahiaMCP server · External

MCP server for Yandex Metrika — web analytics, counters, goals, traffic (Russia)

Web analyticsv2.1.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@theyahia/yandex-metrika-mcpv2.1.1

Run

npx -y @theyahia/yandex-metrika-mcp

MCP client config

{
  "mcpServers": {
    "yandex-metrika-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@theyahia/yandex-metrika-mcp"
      ]
    }
  }
}
README2 min read

@theyahia/yandex-metrika-mcp

MCP server for Yandex.Metrica API — counters, goals, reports, logs, traffic sources, top pages. 15 tools, OAuth Bearer token auth.

npm License: MIT

Part of the Russian API MCP series by @theYahia.

Getting a Token

  1. Go to oauth.yandex.ru
  2. Create an app (or use an existing one)
  3. Under Platforms, select "Web services"
  4. Under Access, add: Yandex.Metrica -> Read statistics and counter parameters
  5. Get the OAuth token:
    https://oauth.yandex.ru/authorize?response_type=token&client_id=YOUR_CLIENT_ID
    
  6. Copy the token from the redirect URL (access_token=...)

Installation

Claude Desktop

Add to claude_desktop_config.json:

json
{
  "mcpServers": {
    "yandex-metrika": {
      "command": "npx",
      "args": ["-y", "@theyahia/yandex-metrika-mcp"],
      "env": {
        "YANDEX_METRIKA_TOKEN": "your_token"
      }
    }
  }
}

Claude Code

bash
claude mcp add yandex-metrika -e YANDEX_METRIKA_TOKEN=your_token -- npx -y @theyahia/yandex-metrika-mcp

Streamable HTTP (remote / multi-client)

bash
YANDEX_METRIKA_TOKEN=your_token npx @theyahia/yandex-metrika-mcp --http --port=3000

Endpoint: POST http://localhost:3000/mcp Health check: GET http://localhost:3000/health

Smithery

Use smithery.yaml from the repository. Requires YANDEX_METRIKA_TOKEN.

Environment Variables

VariableRequiredDescription
YANDEX_METRIKA_TOKENYesOAuth 2.0 Bearer token from Yandex OAuth

Tools (15)

Management — Counters

ToolDescription
list_countersList all counters. Filter by name/URL with search_string.
get_counterGet full details of a single counter by ID.
create_counterCreate a new counter for a website.
update_counterUpdate counter name or site URL.
delete_counterPermanently delete a counter (irreversible).

Management — Goals

ToolDescription
list_goalsList all goals for a counter.
create_goalCreate a goal (url, number, step, action types).
delete_goalDelete a goal from a counter.

Management — Logs

ToolDescription
export_logsExport raw visit/hit logs via the Logs API.

Reporting API

ToolDescription
get_reportFlexible reporting — any metrics + dimensions + filters + sort.
get_report_comparisonCompare two date periods (A vs B).
get_report_drilldownHierarchical drill-down into report dimensions.

Convenience Wrappers

ToolDescription
get_traffic_summaryQuick overview: visits, pageviews, users, bounce rate, avg duration.
get_traffic_sourcesTraffic sources breakdown by channel.
get_top_pagesTop pages by pageviews with performance metrics.

Demo Prompts

Show me all my Yandex.Metrica counters
Compare last week's traffic to the previous week for counter 12345678
What are the top 10 pages on my site this month, sorted by pageviews?

Development

bash
npm install
npm run build
npm test
npm run dev           # stdio mode
npm run start:http    # HTTP mode on port 3000

API Reference

License

MIT

Similar modules

Browse Web analytics