yandex-metrika-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@yandex-metrika-mcpshow me the traffic report for the last 7 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@rezlazy/yandex-metrika-mcp
MCP server for Yandex Metrika Reports API (/stat/v1/*) and Management API (/management/v1/*).
Exposes 68 tools: 6 report tools and 62 management tools (counters, goals, filters, grants, segments, labels, and more).
Requirements
Node.js 20+
OAuth token with
metrika:read(reports) and/ormetrika:write(create/update/delete)
Related MCP server: Yandex Direct MCP
Getting an OAuth token
Create a Yandex OAuth app — choose For API access or debugging.
Add permissions metrika:read (reports) and metrika:write (management changes).
Copy the app Client ID.
Open in browser:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<CLIENT_ID>Copy the token from the redirect URL (
access_token=...).
See Yandex Metrika authorization docs.
Cursor configuration
Add to .cursor/mcp.json or Cursor MCP settings:
From GitHub (builds dist via prepare on install):
{
"mcpServers": {
"yandex-metrika": {
"command": "npx",
"args": ["-y", "github:Rezlazy/yandex-metrika-mcp"],
"env": {
"METRIKA_TOKEN": "<your-oauth-token>"
}
}
}
}The default branch includes prepare. Pin a release with github:Rezlazy/yandex-metrika-mcp#v0.2.2 (v0.2.0 does not build from git).
For local development (.cursor/mcp.json in this repo):
{
"mcpServers": {
"yandex-metrika": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"],
"envFile": "${workspaceFolder}/.env"
}
}
}Create .env in the project root:
METRIKA_TOKEN=your_oauth_tokenEnvironment variables
Variable | Required | Description |
| yes | OAuth token ( |
| no | API base URL (default: |
Multi-root workspace (*.code-workspace)
If you open mcp.code-workspace (several folders in one window), Cursor may not show project MCP servers from .cursor/mcp.json in Settings → MCP. This is a known Cursor limitation.
Workarounds:
Open this repo directly: File → Open Folder →
yandex-metrika-mcp(not the.code-workspacefile).Or add to global config
~/.cursor/mcp.json(works in multi-root):
"yandex-metrika": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/yandex-metrika-mcp/dist/index.js"],
"envFile": "/absolute/path/to/yandex-metrika-mcp/.env"
}After config changes: Refresh MCP in settings or restart Cursor. Check logs: Output panel → MCP Logs.
Tools
Reports (stat_*) — 6 tools
Tool | Description |
| Table report |
| Time series (charts, trends) |
| Tree / drill-down report |
| Compare two segments (A vs B) |
| Segment comparison with drill-down |
| Pivot table |
Management (mgmt_*) — 62 tools
Covers Management API: counters, goals, filters, operations, grants, access filters, segments, chart annotations, labels, accounts, delegates, clients, cloud exports.
Common management tools:
Tool | Description |
| List available counters |
| Get counter details |
| Create counter |
| List counter goals |
| Create goal |
| List access grants |
| List saved segments |
For POST/PUT methods pass JSON in the body parameter (see API formats). Example for creating a counter:
{
"body": {
"counter": {
"name": "My site",
"site": "example.com"
}
}
}Report parameters
ids — counter ID(s), comma-separated
metrics — e.g.
ym:s:visits,ym:s:users,ym:s:pageviewsdimensions — e.g.
ym:s:trafficSource,ym:s:operatingSystemdate1 / date2 — period (
7daysAgo,today, orYYYY-MM-DD)filters — segmentation expression
preset — report preset
format —
json(default) orcsv
Full list of metrics and dimensions: attrandmetr.
Example: visits by traffic source
Tool: stat_data
{
"ids": "44147844",
"metrics": "ym:s:visits,ym:s:users",
"dimensions": "ym:s:trafficSource",
"date1": "30daysAgo",
"date2": "today",
"sort": "-ym:s:visits",
"limit": "10"
}Example: daily visits trend
Tool: stat_bytime
{
"ids": "44147844",
"metrics": "ym:s:visits",
"date1": "30daysAgo",
"date2": "today",
"group": "day"
}Development
npm install
npm run typecheck
npm test
npm run buildChangelog
See CHANGELOG.md.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.
Create projects and read their web analytics: views, referrers, countries, custom events.
MCP for Yandex Direct: manage ad campaigns & analytics from Claude or ChatGPT
Read-only access to your Nexly web analytics: traffic, pages, acquisition, events, and reports.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides access to Yandex Metrika analytics data through various tools and functions. This server allows AI assistants and applications to retrieve comprehensive analytics data from Yandex Metrika accounts.1-
- AlicenseBqualityAmaintenanceEnables managing Yandex Direct PPC campaigns, ad groups, ads, and keywords, plus pulling performance statistics via the Yandex Direct API v5.441001MIT
- AlicenseNot gradedqualityBmaintenanceEnables interaction with Yandex advertising and analytics APIs (Direct, Metrika, Audience, Webmaster, AdMetrica) through MCP tools, resources, and prompts for campaign management and data retrieval.MIT
- AlicenseAqualityDmaintenanceMCP server for Yandex Metrika API, enabling reporting, counter management, goals, filters, and other operations via natural language.122MIT