yandex-metrica-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YANDEX_METRIKA_TOKEN | No | Static OAuth token for Yandex Metrica API (alternative to interactive login) | |
| YANDEX_OAUTH_CLIENT_ID | No | Your own OAuth client ID (optional, to use your own app) | |
| YANDEX_METRIKA_COUNTER_ID | Yes | Your Yandex Metrica counter ID | |
| YANDEX_OAUTH_CLIENT_SECRET | No | Your own OAuth client secret (optional, required if using own client ID) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Sign in to Yandex from here. Opens your browser to approve access; the code returns automatically over a local redirect, so this usually finishes in one call. If the local port is unavailable it returns a URL to approve and you then call submit_code with the code Yandex shows. Run this once (the token lasts ~1 year); needed before the data tools if you are not signed in yet. |
| submit_codeA | Complete a copy-paste sign-in started by login: pass the code Yandex showed you after you approved access. |
| get_metadataA | Discovery tool. Lists the counters available to your token plus a curated catalog of common dimensions and metrics (Metrica has no enumeration API), attribution options and Logs API fields. Call this before run_report or logs_request to use real field names and to find a counterId. For a counter's own goals, segments, filters or grants, use describe_counter. Read-only. |
| describe_counterA | Read a single counter's configuration — settings, goals, segments, filters, operations and access grants — choosing sections with |
| run_reportA | Query a Yandex Metrica table report (/stat/v1/data): one or more metrics grouped by dimensions over a date range, with optional filter and sort. Read-only. Use get_metadata first to discover valid metric/dimension ids and the account counters. |
| run_comparisonA | Compare two segments/periods (A vs B) for the same metrics and dimensions (/stat/v1/data/comparison). Returns per-metric values for A and B plus the absolute and percentage delta, computed server-side: delta = B − A (segment A is the baseline), delta_pct = (B − A) / A × 100. Defaults to last 7 days (B) vs the prior 7 days (A), so a positive delta means growth. Read-only. |
| run_drilldownA | Return one level of a hierarchical (tree) report (/stat/v1/data/drilldown). Each row has an "expandable" flag; pass parentId with the path of dimension keys to expand deeper. Requires dimensions. Read-only. |
| run_timeseriesA | Return metrics split into a time series (/stat/v1/data/bytime): each metric comes back as an array of values, one per interval (day/week/month/…) over the date range. Use for trends and charts. Optionally group by dimensions (topKeys rows). Read-only. |
| logs_requestA | Create a Yandex Metrica Logs API request for RAW, un-sampled rows (source="visits" sessions or "hits" events) over a date range. Checks feasibility, then queues preparation (takes minutes). Returns a request_id to poll with logs_status; then logs_download, then logs_clean. Discover field ids with get_metadata. Not read-only: preparing data consumes the counter storage quota. |
| logs_statusA | Inspect a Logs API request by request_id (status, parts, size, next step), or omit request_id to list all of the counter's log requests and current storage-quota usage. Poll this after logs_request until status="processed". Read-only. |
| logs_downloadA | Download prepared log data for a request_id (must be status="processed"; check logs_status). Default mode "sample" returns up to maxRows parsed rows inline — cheap and bounded. Mode "file" streams the FULL export to a file and returns its path plus a small preview; the raw content (potentially millions of rows) is never loaded into context. Read-only. |
| logs_cleanA | Free the counter storage quota by cleaning a finished (processed) log request, or cancel one still being prepared. Dispatches by current status. Destructive: cleaned data must be requested again to download later. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct action: auth (login, submit_code), metadata discovery (get_metadata, describe_counter), reporting variations (run_report, run_comparison, run_drilldown, run_timeseries), and Logs API lifecycle (logs_request, logs_status, logs_download, logs_clean). The run_* and logs_* groups are clearly differentiated by their descriptions, and get_metadata is explicitly distinct from describe_counter for listing vs. single counter config.
Tool names follow a consistent lowercase snake_case convention with predictable prefixes: run_* for report types, logs_* for Logs API operations, and descriptive verb_noun names like get_metadata and describe_counter. Login and submit_code are also verb-focused and fit the pattern. The naming is uniform and intuitive.
12 tools is well-scoped for a Metrica MCP covering authentication, metadata, four reporting modes, and the complete Logs API cycle (request, status, download, clean). Each tool has a clear purpose and the count is within the ideal 3-15 range, with no redundancy.
The tool surface covers the full workflow: sign-in, discover counters and fields, run standard/comparison/drilldown/timeseries reports, and for raw data: create, poll, download, and clean Logs API requests. There are no dead ends—logs_download requires processed status, logs_clean handles both finished and in-progress requests, and metadata tools guide users to valid fields. The domain is fully addressed for read-heavy analytics.