Yandex Metrika MCP
Server Details
Read-only MCP server for Yandex Metrika analytics. Query visits, sources, geography, devices and more in plain language — directly in Claude, Cursor, or any MCP client.
- Status
- Healthy
- Uptime
- 30.4% over 80 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
list_counters is a discovery tool and query is the execution tool; their purposes are completely distinct with no overlap. An agent can trivially select the right one.
list_counters follows the verb_noun snake_case convention, while query is a bare verb. Minor deviation but both are lowercase snake_case and readable, so it is only a small inconsistency.
Two tools is borderline thin even for a read-only Reporting API wrapper. A metadata/dictionary tool or a get_counter detail tool would round out the surface and reduce reliance on long inline documentation.
The read-only lifecycle (discover counters, then query stats) is covered end-to-end, and the query tool exposes metrics, dimensions, filters, sorting and dates. Minor gaps: no metadata endpoint for discovering valid fields and no segment/goal helpers, which agents must work around from the description.
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
Publisher details
- Operator
- aiaiai · Publisher source
- Operator website
- https://getaiaiai.ru · Publisher source
- Vendor relationship
- Independent
- Trust center
- Not available
- Restrictions
- Tool calls require sign-in with Yandex and access to the requested Yandex Metrika counter. Access is read-only (metrika:read). No custom OAuth application or manually managed API token is required for the hosted endpoint. · Publisher source
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.