Skip to main content
Glama
theYahia

Yandex Metrika MCP

by theYahia

🗄 Репозиторий заархивирован

Разработка переехала в theYahia/YaAll — сборку, где весь яндексовский слой лежит в одном месте: официальные MCP-серверы Яндекса, MCP под Директ и Метрику, скилл YaGEO и Wordstat-гейт.

Актуальная версия того, что лежало здесь: mcp/yandex-metrika-mcp/

Здесь больше ничего не обновляется. Задачи и pull request'ы — в YaAll.

Archived — development moved to theYahia/YaAll, a single repository bundling the whole Yandex stack. The current version of this package now lives at mcp/yandex-metrika-mcp/. Please open issues and pull requests there.

@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.

Related MCP server: ya-metrics-mcp

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:

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

Claude Code

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

Streamable HTTP (remote / multi-client)

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

Variable

Required

Description

YANDEX_METRIKA_TOKEN

Yes

OAuth 2.0 Bearer token from Yandex OAuth

Tools (15)

Management — Counters

Tool

Description

list_counters

List all counters. Filter by name/URL with search_string.

get_counter

Get full details of a single counter by ID.

create_counter

Create a new counter for a website.

update_counter

Update counter name or site URL.

delete_counter

Permanently delete a counter (irreversible).

Management — Goals

Tool

Description

list_goals

List all goals for a counter.

create_goal

Create a goal (url, number, step, action types).

delete_goal

Delete a goal from a counter.

Management — Logs

Tool

Description

export_logs

Export raw visit/hit logs via the Logs API.

Reporting API

Tool

Description

get_report

Flexible reporting — any metrics + dimensions + filters + sort.

get_report_comparison

Compare two date periods (A vs B).

get_report_drilldown

Hierarchical drill-down into report dimensions.

Convenience Wrappers

Tool

Description

get_traffic_summary

Quick overview: visits, pageviews, users, bounce rate, avg duration.

get_traffic_sources

Traffic sources breakdown by channel.

get_top_pages

Top 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

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

Available Tools

15 tools
create_counterA

Create a new Yandex.Metrica counter for a website. Returns the new counter ID and tracking code. You need to install the tracking code on the site afterwards.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCounter display name
siteYesWebsite domain (e.g. 'example.com')
mirrorsNoMirror domains to track alongside the main site

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It discloses the return value and a required follow-up action, but does not mention side effects, required permissions, or any potential errors. Basic behavioral coverage but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, compact and front-loaded: first sentence states purpose and return, second gives a clear next step. No redundant or extra information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description covers what the tool returns (counter ID and tracking code) and the necessary post-action. For a simple create tool with three parameters, this is nearly complete; could mention error handling or edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with descriptions for all three parameters. The tool description does not add additional meaning beyond the schema; e.g., it mentions 'website' but not the parameter details. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action 'create' and the resource 'Yandex.Metrica counter', with specific return values (ID and tracking code). Distinguishes from sibling tools like list_counters, update_counter, and delete_counter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes when to use (to create a new counter) and the post-requisite (install tracking code). Does not mention when not to use or alternative tools, but the context is clear given sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_goalB

Create a new conversion goal for a counter. Supports types: 'url' (page visit), 'number' (page count threshold), 'step' (multi-step funnel), 'action' (JavaScript event).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesGoal display name
typeYesGoal type: 'url' (page visit), 'number' (page count), 'step' (multi-step funnel), 'action' (JS event)
conditionsNoConditions array. Required for url, step, action goal types.
counter_idYesCounter ID to create the goal in

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. It states 'Create' implies mutation but does not disclose side effects, activation behavior, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with clear front-loaded purpose; no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a four-parameter creation tool but lacks details on return value, error handling, and behavioral nuances beyond type descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with property descriptions. Description adds context on goal types but largely mirrors schema content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Create a new conversion goal for a counter' and lists goal types with explanations, distinguishing from sibling tools like list_goals and delete_goal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites (e.g., counter must exist), and no when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_counterA

Permanently delete a Yandex.Metrica counter. This action is irreversible — all historical data for this counter will be lost.

ParametersJSON Schema
NameRequiredDescriptionDefault
counter_idYesCounter ID to delete. This action is irreversible.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It clearly states the action is irreversible and all historical data will be lost, which is good. Could mention permission requirements or recovery options but still strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences front-load the action and consequence. Every word is necessary and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (single parameter, no output schema), the description is fairly complete. It explains what it does and the major consequence. Could add a note that the counter must exist or about permissions, but generally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter counter_id. The tool description adds no additional meaning beyond what is in the schema (both repeat 'this action is irreversible'). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it permanently deletes a Yandex.Metrica counter, explicitly noting irreversibility and data loss. It distinguishes from siblings like update_counter (modifies) and delete_goal (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for permanent deletion but does not provide explicit guidance on when to use this tool versus alternatives or any prerequisites. Lacks when-not-to-use or alternative tool suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_goalA

Delete a conversion goal from a counter. Historical goal data in reports is preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
goal_idYesGoal ID to delete
counter_idYesCounter ID the goal belongs to

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that historical data is preserved, which is a key behavioral trait beyond the delete action. With no annotations, this adds valuable context, though it could mention permissions or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, clear sentence with no redundant information. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple delete tool, but lacks information about expected output, error handling, or idempotency. Could be more complete given no output schema or annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented there. The description adds no additional meaning beyond what's in the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Delete a conversion goal from a counter' with specific verb and resource. It distinguishes from sibling tools like list_goals and create_goal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives. The behavioral note about historical data preservation provides some context but no guidance on when not to use or sibling differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_logsA

Export raw visit or hit logs via the Logs API. Creates a log request and evaluates feasibility. Use source='visits' for session data, source='hits' for pageview data.

ParametersJSON Schema
NameRequiredDescriptionDefault
date1YesДата начала в формате YYYY-MM-DD
date2YesДата окончания в формате YYYY-MM-DD
fieldsNoПоля через запятую. По умолчанию для visits: ym:s:date,ym:s:clientID,ym:s:lastTrafficSource,ym:s:visitDuration
sourceNoТип данных: visits (визиты) или hits (просмотры)visits
counter_idYesID счётчика Яндекс.Метрики

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully disclose behavior. It mentions 'creates a log request and evaluates feasibility' but does not clarify whether the export is synchronous, what the response contains (e.g., a job ID), or any side effects. More detail needed for a mutation-like operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, then usage. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers core parameters and usage, but missing details on output format, async behavior, and error handling. With no output schema, description should provide more context on what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but description adds value by explaining default fields for visits and the meaning of source values. It compensates for schema being in Russian, improving usability.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it exports raw visit or hit logs via Logs API, creating a log request. Distinguishes between source='visits' and source='hits' for session vs pageview data, which is specific and distinguishes from sibling reporting tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use source='visits' versus 'hits'. However, does not mention when not to use this tool or alternatives like get_report for aggregated data, but the sibling list implies those exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_counterA

Get full details of a single Yandex.Metrica counter by ID, including configuration, code snippet status, and goals count.

ParametersJSON Schema
NameRequiredDescriptionDefault
counter_idYesCounter ID to retrieve details for

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool returns 'full details' but does not disclose whether the operation is read-only, idempotent, or any potential side effects. The verb 'Get' implies a read, but explicit transparency about behavior is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence (17 words) that effectively communicates the tool's purpose without extraneous information. It is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema and no annotations, the description provides sufficient context for a simple read operation. It lists key elements returned (configuration, code snippet status, goals count), but could offer more detail on response structure. Still, it adequately covers the tool's functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'counter_id', which already has a clear description. The tool description does not add any additional meaning or constraints beyond what the schema provides, so it meets the baseline but does not improve it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'full details of a single Yandex.Metrica counter', and specific items included ('configuration, code snippet status, and goals count'). It distinguishes from siblings like list_counters by specifying 'single counter' and 'full details'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives such as list_counters or update_counter. Usage is implied by the purpose, but no direct guidance or conditions are provided, which is a gap given the number of sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_reportB

Flexible Yandex.Metrica reporting endpoint. Query any combination of metrics (ym:s:visits, ym:s:pageviews, ym:s:bounceRate, ym:s:avgVisitDurationSeconds, ym:s:users, ym:s:newUsers, etc.) with dimensions (ym:s:trafficSource, ym:s:searchEngine, ym:s:country, ym:s:browser, ym:s:deviceCategory, ym:s:date, etc.) over a date range. Supports filters and sorting.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort field, prefix with '-' for descending, e.g. '-ym:s:visits'
date1YesStart date YYYY-MM-DD
date2YesEnd date YYYY-MM-DD
limitNoMax rows to return (default 100)
filtersNoFilter expression, e.g. ym:s:trafficSource=='organic'
metricsYesMetrics array, e.g. ['ym:s:visits', 'ym:s:pageviews', 'ym:s:bounceRate', 'ym:s:avgVisitDurationSeconds']
counter_idYesYandex.Metrica counter ID
dimensionsNoDimensions array, e.g. ['ym:s:trafficSource', 'ym:s:browser', 'ym:s:country', 'ym:s:deviceCategory']

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It does not mention that the tool is read-only, any rate limits, authentication requirements, or pagination details beyond a default limit. The description lacks key behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first sentence defines the tool's purpose, second provides examples of metrics, dimensions, filters, and sorting. Every sentence is necessary and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers purpose and parameters, it does not describe the output format or behavior. Since no output schema exists, the description should mention what the response looks like (e.g., a JSON array). Adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value by listing example metrics and dimensions, and mentioning filters and sorting. This provides practical context beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a flexible reporting endpoint for Yandex.Metrica, listing specific metrics and dimensions. However, it does not differentiate from sibling tools like get_report_comparison or get_report_drilldown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Given multiple sibling report tools, the description should indicate scenarios where this flexible endpoint is preferred over more specific ones.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_report_comparisonA

Compare metrics between two date periods (A vs B). Useful for week-over-week, month-over-month, or campaign before/after analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
date1_aYesPeriod A start date YYYY-MM-DD
date1_bYesPeriod B start date YYYY-MM-DD
date2_aYesPeriod A end date YYYY-MM-DD
date2_bYesPeriod B end date YYYY-MM-DD
metricsYesMetrics to compare
counter_idYesYandex.Metrica counter ID
dimensionsNoDimensions to group by

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as authentication requirements, rate limits, data freshness, or whether the tool is read-only. The description only states what the tool does, not how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundant information. The purpose is front-loaded immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters (6 required) and no output schema, the description is too minimal. It lacks details on return format, comparison logic (e.g., percentage change, absolute difference), and any limitations. The complexity of comparing two date periods is not adequately addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description does not add meaningful details beyond the schema, e.g., it doesn't explain the relationship between the two periods or how metrics are compared.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Compare' and resource 'metrics between two date periods', and provides specific examples (week-over-week, month-over-month, campaign before/after) that distinguish it from sibling tools like get_report or get_report_drilldown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases (week-over-week, etc.) and implies when to use the tool. However, it does not mention when not to use it or suggest alternatives like get_report for non-comparison needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_report_drilldownA

Drill down into report data hierarchically. Start at top level, then pass parent_id to explore sub-dimensions (e.g., country -> city, traffic source -> campaign).

ParametersJSON Schema
NameRequiredDescriptionDefault
date1YesStart date YYYY-MM-DD
date2YesEnd date YYYY-MM-DD
metricsYesMetrics to retrieve
parent_idNoParent row ID to drill into. Omit for top-level.
counter_idYesYandex.Metrica counter ID
dimensionsYesDimensions for drill-down hierarchy

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral aspects. It explains the hierarchical drill-down behavior via parent_id, but does not disclose potential errors, rate limits, or authentication needs. The description is adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with core purpose and verb, followed by explanatory examples. No wasted words; concise yet informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and no annotations, the description covers the main usage scenario. It lacks details on return format and constraints on arrays, but the core drill-down concept is well communicated. Slightly more could be added about required parameters and limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds value by explaining the role of parent_id and the drill-down pattern with examples, going beyond the schema's basic parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool drills down hierarchically into report data, with specific verb 'drill down' and resource 'report data'. It distinguishes from siblings by indicating hierarchical exploration, unlike non-hierarchical report tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: start at top level, then use parent_id for deeper levels. It provides examples but does not explicitly state when not to use or mention alternatives like get_report for non-hierarchical queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_pagesA

Top pages by pageviews for a counter. Returns URL, visits, pageviews, bounce rate, and avg duration for each page. Useful for content performance analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
date1YesStart date YYYY-MM-DD
date2YesEnd date YYYY-MM-DD
limitNoNumber of pages to return (default 20)
counter_idYesYandex.Metrica counter ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns data (URL, visits, etc.) but does not explicitly state it is read-only, idempotent, or safe. The name 'get' implies read-only, but the description adds minimal behavioral context beyond what the name and schema already suggest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loading the purpose and then listing return fields and a usage hint. Every sentence adds value; there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description helpfully lists the return fields (URL, visits, pageviews, bounce rate, avg duration) and provides a usage context. It covers the key aspects of the tool's function, though it does not mention ordering, pagination, or default limits explicitly (though limit param is in schema). Overall, it is fairly complete for a retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter already described in the schema. The description does not add any additional meaning or clarification beyond what the schema provides, so it meets the baseline but does not go further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'top pages by pageviews' and lists the returned fields (URL, visits, pageviews, bounce rate, avg duration). This is a specific verb+resource that distinguishes it from sibling tools like get_report, get_counter, or list_counters which deal with different data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Useful for content performance analysis,' giving a usage hint, but does not explicitly state when to use this tool versus alternatives like get_report or get_traffic_sources. No exclusions or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_traffic_sourcesB

Traffic sources breakdown — visits and users by source channel (organic search, direct, social, referral, ad). Quick way to see where traffic comes from.

ParametersJSON Schema
NameRequiredDescriptionDefault
date1YesStart date YYYY-MM-DD
date2YesEnd date YYYY-MM-DD
counter_idYesYandex.Metrica counter ID

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the burden. It implies a read operation but does not disclose data freshness, pagination, or error conditions. The description adds some behavioral context (channels included) but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both substantive. Front-loaded with the key purpose and examples of channels. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema, the description could be more complete by describing the return format or data structure. It mentions visits and users by channel but not how they are presented, which may leave the agent uncertain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with clear parameter descriptions. The tool description adds context that the output is broken down by source channels, but does not enhance parameter semantics beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a breakdown of traffic sources by channel (organic search, direct, social, referral, ad), specifying visits and users. It is a specific verb-resource pair, though it could better differentiate from sibling tools like get_traffic_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as get_traffic_summary or get_report. There is no mention of prerequisites, limitations, or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_traffic_summaryA

Quick traffic overview for a counter over a date range. Returns visits, pageviews, unique users, bounce rate, and average visit duration in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
date1YesStart date YYYY-MM-DD
date2YesEnd date YYYY-MM-DD
counter_idYesYandex.Metrica counter ID

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It states what is returned but does not mention whether the operation is read-only, any required permissions, or potential side effects. For a tool lacking annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core purpose ('Quick traffic overview') and efficiently lists the returned metrics. Every word adds value; no unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the lack of an output schema, the description adequately explains what is returned (visits, pageviews, etc.). However, it could mention the data source (though the parameter description does) or any limitations. Overall, it is fairly complete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds the context of a 'quick overview' but does not provide additional meaning beyond what the schema offers. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') and clearly lists the exact metrics (visits, pageviews, etc.), distinguishing it from sibling tools like `get_report` which are more general.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Quick traffic overview' implies a consolidated summary, but there is no explicit guidance on when to use this tool instead of `get_traffic_sources` or `get_report`. No when-not-to-use or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_countersA

List all Yandex.Metrica counters available to the authenticated user. Returns counter ID, name, site URL, and status. Supports search filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldNoFields to return, comma-separated (e.g. 'name,site,status')
per_pageNoResults per page (default 100, max 10000)
search_stringNoFilter counters by name or site URL substring

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions authentication context and search filtering but omits details on pagination (implied by per_page param), rate limits, or whether the operation is read-only (assumed safe).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, followed by return fields and capabilities. No extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 3 params and no output schema, the description covers purpose and search but lacks mention of pagination behavior, sorting, error cases, or return format limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter described. The description adds 'search filtering' aligning with search_string but does not enhance meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all Yandex.Metrica counters and specifies returned fields (ID, name, site URL, status). It distinguishes from sibling CRUD tools like create_counter and update_counter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies listing as the use case but does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_counter for a single counter) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_goalsA

List all goals configured for a Yandex.Metrica counter. Goals track conversions like page visits, button clicks, or multi-step funnels.

ParametersJSON Schema
NameRequiredDescriptionDefault
counter_idYesCounter ID to list goals for

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the action (list) without disclosing behavioral traits such as readOnly vs destructive, authentication requirements, rate limits, pagination behavior, or response format. For a simple list tool, minimal transparency is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main action. Each sentence adds value without redundancy. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description covers the purpose and parameter. However, it lacks information about return format, pagination, limits, or any error conditions, leaving some completeness gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage (counter_id described clearly). The description adds context by explaining what goals represent ('conversions like page visits, button clicks, or multi-step funnels'), which aids understanding beyond the schema's basic parameter description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'List all goals configured for a Yandex.Metrica counter.' This clearly identifies the verb (list), resource (goals), and scope (for a counter), distinguishing it from siblings like list_counters (counters) and create_goal (goal creation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage when an agent needs to retrieve goals for a counter, but does not explicitly state when to use this tool versus alternatives like create_goal, delete_goal, or list_counters. No guidance on prerequisites or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_counterA

Update an existing Yandex.Metrica counter — change its name or site URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew counter display name
siteNoNew website domain
counter_idYesCounter ID to update

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description only says 'update' and lists the fields, but does not disclose behavioral aspects such as permissions required, idempotency, side effects, or reversibility. For a mutation tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose. It is concise with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters with good schema coverage, but no output schema. The description does not mention return values, error cases, or partial update behavior. For a simple update, it covers the basics but lacks completeness in describing what happens after the update.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter has a clear description. The tool description adds 'change its name or site URL', which is consistent with the schema but does not significantly enhance understanding beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an existing Yandex.Metrica counter — change its name or site URL.' It specifies the verb (update), resource (counter), and the specific fields (name, site URL), distinguishing it from siblings like create_counter or delete_counter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly suggests using this tool when you need to change the name or URL of a counter, but it does not explicitly state when not to use it or compare with alternatives like create_goal or delete_counter. No exclusions or prerequisites are provided.

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. Dates show when Glama detected each change.

  1. 15 tool updatesv2.1.1
    • First observedcreate_counter
    • First observedcreate_goal
    • First observeddelete_counter
    • First observeddelete_goal
    • First observedexport_logs
    • First observedget_counter
    • First observedget_report
    • First observedget_report_comparison
    • First observedget_report_drilldown
    • First observedget_top_pages
    • First observedget_traffic_sources
    • First observedget_traffic_summary
    • First observedlist_counters
    • First observedlist_goals
    • First observedupdate_counter

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct operation (e.g., CRUD for counters, goal management, specific report types) with no overlapping purposes, ensuring agents can easily differentiate them.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case (e.g., list_counters, create_goal, get_report), making the set predictable and easy to navigate.

Tool Count5/5

15 tools is well-scoped for an analytics server, covering counter management, goal management, and various reporting needs without being overwhelming or too sparse.

Completeness4/5

The tool surface covers core CRUD for counters, goal management (except update_goal), and comprehensive reporting (multiple specialized get_report_* tools). Minor gaps like goal updates are present but do not severely hinder workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
    -
  • A
    license
    A
    quality
    F
    maintenance
    MCP server for interacting with Yandex.Webmaster API to manage sites, retrieve search queries, and check indexing status. Requires an OAuth token.
    13
    71
    3
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server for managing Yandex Direct advertising, Yandex Metrica analytics, Wordstat keyword research, and Yandex Webmaster SEO tools, with self-configuring OAuth; provides 153 tools for complete ad and search workflows from AI assistants.
    100
    19
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/theYahia/yandex-metrika-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server