appmetrica-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APPMETRICA_ALLOW_WRITE | No | Set to 'true' to enable push campaign creation | false |
| APPMETRICA_OAUTH_TOKEN | Yes | Yandex OAuth token with AppMetrica scope |
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 |
|---|---|
| list_applicationsA | List all AppMetrica applications available to the authenticated user. Returns application IDs, names, platforms, and creation dates. |
| get_applicationA | Get detailed information about a specific AppMetrica application by its ID. |
| get_reportA | Retrieve aggregated statistics from AppMetrica. Call list_metrics first for the catalogue with namespace grammar and known-bad keys. Quick reference: ym:u:* users · ym:s:* sessions · ym:cr:* crashes · ym:ge:* general events · ym:i:* installs · ym:pc:* push campaigns Common 4002 traps: ym:u:sessions, ym:u:crashes, ym:u:revenue do not exist — use ym:s:, ym:cr:, and event_json from export_events instead. Retention / per-user push opens / per-event aggregates are not exposed via get_report at all (use export_events / export_crashes, or the AppMetrica UI). Mixing ym:u:/ym:s:/ym:cr: in one metrics= call has been observed to work; mixing more distant prefixes (e.g. ym:ge:+ym:pc:) is unsupported per docs. |
| get_drilldownB | Retrieve drilldown statistics for a specific parent dimension value in AppMetrica. Useful for hierarchical data exploration. |
| list_metricsA | Catalogue of AppMetrica Reports API metric and dimension keys for get_report / get_drilldown, with namespace grammar and known traps. Each entry has status="verified" (confirmed live) or status="documented" (from AppMetrica docs / R-client examples but not yet probed by this MCP). This is NOT exhaustive — AppMetrica does not publish a public metadata endpoint and the docs are SmartCaptcha-gated. Unknown keys fail with HTTP 4002 (metric) or 4001 (dimension). |
| export_eventsA | Export raw event logs from AppMetrica Logs API. Revenue and in-app purchase data is stored in the event_json field as structured JSON. Default fields: event_name, event_datetime, event_json, appmetrica_device_id, app_version_name, os_version, device_model, country_iso_code, city. To get subscription/purchase data: filter by event_name (e.g. "subscription_purchase") and parse event_json field. Logs API is asynchronous — the first request usually returns "data not ready" and the result must be re-polled (this wrapper waits up to 60s, so a busy or wide query may need a manual retry after a few minutes). Start with 1-day windows; multi-day exports take noticeably longer to materialise. Run export_events sequentially — 4+ parallel calls hit HTTP 429. |
| export_crashesA | Export raw crash logs from AppMetrica for a given application and time range. Use this for per-crash-name breakdowns — get_report only exposes the total ym:cr:crashes count. Same async/rate-limit behaviour as export_events: poll up to ~60s, retry after a few minutes for wide ranges, run sequentially. |
| export_installationsA | Export raw installation logs from AppMetrica for a given application and time range. Same async/rate-limit behaviour as export_events: poll up to ~60s, retry after a few minutes for wide ranges, run sequentially. |
| list_push_campaignsB | List push notification campaigns (groups) for an AppMetrica application. Optionally filter by campaign status. |
| get_push_statsC | Get summary statistics for a specific push notification campaign in AppMetrica. |
| create_push_campaignA | Create a new push notification campaign in AppMetrica. Requires APPMETRICA_ALLOW_WRITE=true to be set. |
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 11 tools
Each tool targets a distinct resource or operation: export tools handle different data types (events, crashes, installations), report tools vary in granularity (report vs drilldown), and push campaign management is separated into create, list, and stats. No significant overlap.
All tool names follow a consistent verb_noun pattern in snake_case: create_, export_, get_, list_. Verbs are uniform and nouns clearly describe the resource or data type.
11 tools cover the core functionalities of the AppMetrica domain: application listing/detail, report generation, raw data export, and push campaign management. The count feels well-scoped without unnecessary redundancy.
The tool surface provides read operations (get, list, export, report) and a create operation for push campaigns. Missing update/delete for campaigns and apps, but the analytics reporting and data export are thoroughly covered. Minor gaps that agents can work around.