Yandex Metrika MCP
Server Details
Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.
- Status
- Healthy
- Uptime
- 15.5% over 63 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- expremiental/yandex-metrika-mcp
- GitHub Stars
- 1
- Server Listing
- yandex-metrika-mcp
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: list_counters discovers counter IDs and query runs the actual reporting request. The descriptions even state the intended hand-off (pick a counter_id for query), so misselection is unlikely.
list_counters follows a clean verb_noun pattern, but query is a bare generic verb rather than the matching verb_noun form (e.g. query_stats). Still readable and consistent in snake_case style, with only a minor deviation.
Two tools is thin for a full analytics platform, though for a minimal read-only wrapper around the Reporting API it is defensible. It sits at the borderline where more surface (metadata, segments, goals) would be expected.
Read-only discovery plus aggregation covers the core reporting workflow, but there is no access to goals, segments, filters, log-request exports, or counter management. Agents can work around some gaps by composing filters, yet notable operations are missing.
Available Tools
2 toolslist_countersAInspect
List Yandex Metrika counters available to the token.
Returns each counter's id, name and site so you can pick a counter_id
for query. Read scope is enough.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully reveals the auth requirement ('Read scope is enough') and the returned fields, but omits pagination or result-size behavior for a token-scoped listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose, then the return payload, then the permission requirement. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the description still names the key returned fields and the required scope. Only pagination/scale behavior for large token counter lists is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema baseline of 4 applies. The description adds no parameter information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List Yandex Metrika counters') plus the scoping qualifier 'available to the token', which distinguishes it from the sibling `query` that operates on a chosen counter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the purpose as discovery: 'so you can pick a counter_id for query', which tells the agent when this tool is the right call. It does not state any exclusion or failure condition, but the routing intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queryAInspect
Run a Reporting API query against a Metrika counter (aggregated stats).
Pass Metrika field names directly. Common ones:
Metrics (comma-separated): ym:s:visits, ym:s:users, ym:s:pageviews, ym:s:bounceRate, ym:s:avgVisitDurationSeconds, ym:s:newUsers
Dimensions (comma-separated, optional — groups the result): ym:s:date, ym:s:lastTrafficSource, ym:s:startURL, ym:s:deviceCategory, ym:s:regionCountry, ym:s:UTMSource
date1 / date2: YYYY-MM-DD or relative (today, yesterday, NdaysAgo). filters: Metrika filter expression, e.g. "ym:s:deviceCategory=='mobile'". sort: field to sort by; prefix with '-' for descending, e.g. "-ym:s:visits".
Returns the raw Reporting API response (query meta, totals and data rows).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| date1 | No | 7daysAgo | |
| date2 | No | today | |
| limit | No | ||
| filters | No | ||
| metrics | Yes | ||
| counter_id | Yes | ||
| dimensions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose that it is a read of aggregated stats and describes the return shape (query meta, totals, data rows). It says nothing about auth/permissions, rate limits, or cost of expensive dimension combinations, which are significant gaps for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then cleanly grouped headers for metrics, dimensions, dates, filters, and sort, each with a concrete example. The metric/dimension enumerations are long but justified given 0% schema coverage; the trailing return-value sentence is slightly redundant since an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no schema descriptions, the description supplies the domain vocabulary needed to build a valid call. The gaps are the undocumented counter_id origin (the list_counters sibling) and the limit parameter, but the output schema means return values need not be re-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate, and it largely does: it enumerates valid metric and dimension names, explains date1/date2 relative syntax (NdaysAgo, today, yesterday), filter expression syntax, and the '-' descending prefix for sort. It omits counter_id (required, only inferred from 'Metrika counter') and the limit parameter entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name 'query' is generic, but the first sentence clarifies the specific action and resource: a Reporting API query against a Metrika counter returning aggregated stats. It does not explicitly contrast itself with the sibling list_counters, but the resource scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumerated field names and filter/sort syntax, and 'aggregated stats' hints at what kind of data this returns versus raw logs. However, it never states when to prefer this tool, nor that counter_id must first come from list_counters, and gives no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
list_counters - First observed
query
Related MCP Connectors
Hosted, read-only Google Analytics 4 MCP: reports, period comparisons, realtime, custom fields.
Read-only access to your Nexly web analytics: traffic, pages, acquisition, events, and reports.
MCP for Yandex Direct: manage ad campaigns & analytics from Claude or ChatGPT
Read-only Google Analytics 4 MCP server for AI assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for Yandex Metrika analytics, enabling report retrieval via MCP clients like Claude Code or Cursor without modifying any data.17 npmMIT
- AlicenseAqualityAmaintenanceMCP server for Yandex Metrica analytics: query web analytics metrics, goals, conversions, and raw API data using natural language from AI clients like Claude and Cursor.8133 npm4MIT
- AlicenseAqualityAmaintenanceMCP server for Yandex Metrica — query your web analytics in plain language from Claude, Cursor, and other AI agents. Secretless one-command login (PKCE), read-only, TypeScript.1292 npm15MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to retrieve comprehensive analytics data from Yandex Metrika accounts, including traffic, content, e-commerce, and user demographics.68 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.