关于 appmetrica-mcp
appmetrica-mcp 将 AI Agent 连接到 Yandex AppMetrica,支持移动应用分析报告、原始日志、漏斗和营销活动管理。它还可审计事件埋点,并通过已登录的 Chrome 会话实验性地编辑工作区。
主要功能
- 01查询报告、指标和时间序列
- 02分析及管理漏斗与细分群体
- 03导出 13 类表中的原始日志
- 04查看崩溃数据和推送活动
- 05审计事件埋点
- 06通过实验性网页工具创建工作区
适用场景
- 01比较应用使用量和收入的变化
- 02导出购买或崩溃事件日志
- 03构建漏斗并查找缺失事件
- 04查看推送活动表现
MCP 相关
向 MCP 客户端提供 AppMetrica 分析和管理工具,包括报告、日志、漏斗、细分群体及推送活动。写入操作默认关闭;实验性工作区工具使用已登录的 Chrome 会话。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y appmetrica-mcpAPPMETRICA_OAUTH_TOKEN密钥Yandex OAuth token with AppMetrica scope; optional when `npx appmetrica-mcp auth` saved credentialsAPPMETRICA_ALLOW_WRITESet to "true" to enable write tools (funnels, segments, push campaigns, web workspaces)APPMETRICA_WORKSPACES_FILEPath of the local JSON file with saved dashboard widget sets (default ~/.config/appmetrica-mcp/workspaces.json)APPMETRICA_BROWSER_PROFILEChrome profile directory for the experimental web session (default ~/.config/appmetrica-mcp/chrome-profile)APPMETRICA_BROWSER_PATHPath to a Chrome/Chromium executable for the experimental web session (default: system Google Chrome)APPMETRICA_BROWSER_CHANNELPlaywright browser channel for the experimental web session (chrome | chromium | msedge; default chrome)APPMETRICA_BROWSER_IDLE_MSIdle time after which the headless web session closes Chrome and frees the profile (default 120000)APPMETRICA_OAUTH_CLIENT_ID密钥Your own Yandex OAuth app ClientID for `appmetrica-mcp auth` (default: bundled public app)APPMETRICA_CREDENTIALS_FILE密钥Where `appmetrica-mcp auth` stores the token (default ~/.config/appmetrica-mcp/credentials.json)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
45收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
AppMetrica MCP — 面向 Claude 和 AI Agent 的 Yandex App Metrica MCP 服务

适用于 AppMetrica 的 MCP 服务——Yandex 的移动分析平台。让 Claude 直接访问应用分析数据:报告、漏斗、仪表板、原始事件日志、崩溃数据和推送通知活动,还可以在 AppMetrica 中创建漏斗和细分。
更新 0.3.0(2026 年 10 月)。 该服务现在不仅能读取分析数据,还能在 AppMetrica 中构建分析内容:通过 Management API 创建已保存的漏斗和细分,还能通过实验性的已登录 Chrome 会话创建实际工作区和仪表板(
web_*工具,只需运行一次npx appmetrica-mcp login)。新增功能还包括:时间序列(get_report_bytime)、根据文档整理的 197 项指标目录、全部 13 个 Logs API 表、audit_events和analytics_setup工作流提示词。完整列表见 CHANGELOG.md。
为什么使用
AppMetrica 的移动产品分析数据(用户、会话、事件、漏斗、留存、收入、崩溃)分散在网页 UI 和多个 HTTP API 中。此 MCP 服务将这些数据和功能整合到一组工具中,让 Claude 等 AI Agent 能够回答问题并采取行动,例如:
- “本周 DAU、新用户和无崩溃会话有哪些变化?”
- “从首次启动到购买构建一个漏斗,并保存到 AppMetrica 中。”
- “应用发送了哪些事件?哪些事件已不再使用?注册漏斗还缺少什么?”
- “为营销团队创建一个包含受众、收入和漏斗组件的工作区。”
- “导出 9 月的原始购买事件,并比较不同国家。”
它适用于 Claude Code、Claude Desktop 和其他 MCP 客户端,并已作为 io.github.pavellunev/appmetrica-mcp 收录于 官方 MCP Registry。
功能
- Reporting API — 聚合指标(用户、会话、收入、崩溃、事件等),支持按维度细分、时间序列(
bytime)、筛选、排序和采样控制 - 漏斗 — 为已保存的网页 UI 漏斗或临时步骤生成逐步漏斗报告,支持绝对/相对转化;创建、更新和删除已保存的漏斗
- 仪表板和工作区 — 通过 Reporting API 计算预设或自定义组件集;将命名组件集作为工作区保存在本地
- 网页会话(实验性) — 通过已登录的无头 Chrome 会话创建和管理实际 AppMetrica 工作区(仪表板)及组件(
web_*工具;公共 API 无法实现此操作) - 细分 — 列出已保存的细分,并通过
segment_id将其应用到任意报告;创建、更新和删除细分 - 事件审计 —
audit_events对比已注册事件与实际事件量,并报告埋点缺失情况 - 工作流提示词 —
analytics_setup引导 Agent 分析应用、构建漏斗/细分/仪表板并列出埋点缺失项 - Logs API — 导出全部 13 个表的原始数据(事件、崩溃、错误、安装、会话、深度链接、回传、点击、推送令牌、用户档案、收入、电商、广告收入)
- Management API — 应用、事件名称、转化、Logs API 状态
- Push API — 查看活动和统计数据;启用写入模式后可创建活动
- 默认安全 — 除非明确选择启用,否则会禁用写入操作(推送活动、漏斗、细分)
要求
- Node.js 22+
- 至少包含一个应用的 AppMetrica 账户
- Yandex OAuth 令牌(见下文)
- 可选,仅适用于实验性的
web_*工具:Google Chrome,以及一次性运行npx appmetrica-mcp login(见“网页会话”)
获取 OAuth 令牌
选项 A — 一条命令(推荐)
npx appmetrica-mcp auth
向导会在 Yandex 授权页面打开一个 Chrome 窗口(使用 Web 会话工具所用的同一个 Chrome 配置文件,因此首次登录后就会保持登录状态)。你点击 Разрешить 后,向导会直接从页面 URL 中获取确认码——无需复制任何内容。令牌会保存到 ~/.config/appmetrica-mcp/credentials.json(权限模式为 0600;Yandex 令牌有效期约为一年,到期后只需再次运行 auth),服务器会自动读取令牌——无需设置 APPMETRICA_OAUTH_TOKEN。向导结束时,还会提供登录 AppMetrica Web 会话的选项(仅 web_* 工作区工具需要)。
详情:
- 使用标准 OAuth 2.0 授权码流程,并通过 PKCE 向随附的公开
appmetrica-mcpOAuth 应用授权;无需客户端密钥。 - 需要 Google Chrome(或
APPMETRICA_BROWSER_PATH/APPMETRICA_BROWSER_CHANNEL)。如果没有 Chrome,或通过 SSH 连接,请使用npx appmetrica-mcp auth --manual:系统会在默认浏览器中打开同一个页面,Yandex 会显示代码,你可以将其粘贴到终端中。 - 如果要使用自己的 Yandex OAuth 应用,而不是随附的应用:请设置
APPMETRICA_OAUTH_CLIENT_ID(重定向 URI 为https://oauth.yandex.ru/verification_code,并启用 AppMetrica 读写权限)。如果该应用还注册了http://127.0.0.1:8742/callback,--loopback会运行本地回调服务器,而不是启动 Chrome(APPMETRICA_OAUTH_PORT可用于更改端口)。 - MCP 服务本身不会打开浏览器:如果找不到令牌,工具会回复一条简短消息,提示运行
npx appmetrica-mcp auth。
选项 B — 自行粘贴令牌
请使用俄语 OAuth 门户(oauth.yandex.ru)——国际版(oauth.yandex.com)的界面不提供 AppMetrica 权限范围。
- 前往 oauth.yandex.ru/client/new,为应用命名,选择 Web services,并将回调 URI 设置为
https://oauth.yandex.ru/verification_code。 - 在 Доступы (Access) → AppMetrica 下,启用
Чтение данных AppMetrica(必需)和Запись данных AppMetrica(可选,用于写入工具)。复制 ClientID。 - 打开
https://oauth.yandex.ru/authorize?response_type=token&client_id=CLIENT_ID,登录并授权,然后从重定向 URL 中复制access_token,并将其作为APPMETRICA_OAUTH_TOKEN传入。
令牌默认不会过期;你可以随时在 passport.yandex.ru/profile/access 撤销令牌。环境变量中的令牌始终优先于已保存的凭据文件。
安装
Claude Code(推荐)
claude mcp add appmetrica -- npx -y appmetrica-mcp
npx appmetrica-mcp auth # one-time browser login (or pass -e APPMETRICA_OAUTH_TOKEN=... instead)
要启用写入操作(推送广告系列、创建/更新/删除漏斗和细分):
claude mcp add appmetrica \
-e APPMETRICA_ALLOW_WRITE=true \
-- npx -y appmetrica-mcp
Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"appmetrica": {
"command": "npx",
"args": ["-y", "appmetrica-mcp"],
"env": {
"APPMETRICA_ALLOW_WRITE": "true"
}
}
}
}
从源代码构建
git clone https://github.com/pavellunev99/app_metrica_mcp
cd app_metrica_mcp
npm install
npm run build
配置
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
APPMETRICA_OAUTH_TOKEN | 否 | — | Yandex OAuth 令牌;如果已通过 npx appmetrica-mcp auth 保存令牌,则此项为可选(环境变量优先) |
APPMETRICA_CREDENTIALS_FILE | 否 | ~/.config/appmetrica-mcp/credentials.json | auth 保存令牌的位置 |
APPMETRICA_OAUTH_CLIENT_ID | 否 | 内置公共应用 | 用于 auth 的自有 Yandex OAuth 应用 ClientID |
APPMETRICA_OAUTH_PORT | 否 | 8742 | auth --loopback 回调服务的端口(默认 Chrome 流程会忽略此项) |
APPMETRICA_ALLOW_WRITE | 否 | false | 设为 true 可启用写入工具:推送广告系列的创建、漏斗和细分的创建/更新/删除 |
APPMETRICA_WORKSPACES_FILE | 否 | ~/.config/appmetrica-mcp/workspaces.json | 用于存储本地工作区(已保存的仪表板组件集)的 JSON 文件 |
APPMETRICA_BROWSER_PROFILE | 否 | ~/.config/appmetrica-mcp/chrome-profile | 保存 Yandex 登录状态的 Chrome 配置文件目录,供实验性的 web_* 工具使用 |
APPMETRICA_BROWSER_PATH | 否 | — | Chrome/Chromium 可执行文件的路径(优先于浏览器渠道) |
APPMETRICA_BROWSER_CHANNEL | 否 | chrome | 网页会话的浏览器渠道:chrome、chromium、msedge 等 |
APPMETRICA_BROWSER_IDLE_MS | 否 | 120000 | 无操作多久后无头网页会话会关闭 Chrome 并释放配置文件(以便运行 login) |
可用工具
管理
| 工具 | 说明 |
|---|---|
list_applications | 列出账户中的所有 AppMetrica 应用 |
get_application | 按 ID 获取特定应用的详细信息 |
list_events | 列出应用的客户端事件名称(将其用作漏斗步骤) |
list_conversions | 列出已配置的转化(归因事件) |
get_logs_api_status | 检查账户是否已启用 Logs API |
报告
| 工具 | 说明 |
|---|---|
get_report | 指定日期范围的汇总指标,支持 filters、sort、segment_id、currency、accuracy、include_undefined、lang、offset |
get_report_bytime | 按时间序列返回相同报告(group:day / week / month / hour / all)。每次调用仅使用一个命名空间前缀 |
get_drilldown | 深入查看某个维度值,以获取详细分类 |
list_metrics | 指标/维度目录(197 个指标、188 个维度):可获取精简概览,或使用 search / namespace / kind / limit 筛选条目 |
audit_events | 指定时段的事件埋点审计:已注册、活跃和零流量事件,并可选提供 expected_events,输出通俗易懂的审查结果(只读) |
细分
| 工具 | 说明 |
|---|---|
list_segments | 列出已保存的细分(id、name、expression) |
get_segment | 获取一个细分的所有字段 |
漏斗
| 工具 | 说明 |
|---|---|
list_funnels | 列出已保存的漏斗及解码后的步骤和选项 |
get_funnel_report | 获取已保存漏斗(funnel_id)或临时 steps 的逐步设备数和转化率 |
仪表板与工作区
| 工具 | 说明 |
|---|---|
get_dashboard | 针对日期范围运行预设组件(widgets)或已保存的工作区(workspace) |
list_dashboard_presets | 列出预设组件及其指标 |
list_workspaces | 列出本地保存的工作区 |
get_workspace | 获取包含组件规格的工作区 |
save_workspace | 创建或更新本地工作区(仅限本地文件) |
delete_workspace | 删除本地工作区(仅限本地文件) |
网页会话(实验性)
通过已登录的无头 Chrome 驱动 AppMetrica 网页界面内部 API 的非官方工具 — 参见 网页会话。每个工具都需要先运行一次 npx appmetrica-mcp login;标记为 Write 的工具还需要设置 APPMETRICA_ALLOW_WRITE=true。
| 工具 | 访问权限 | 描述 |
|---|---|---|
web_session_status | 读取 | 检查网页会话:登录状态、Yandex 登录信息、配置文件目录 |
web_list_workspaces | 读取 | 列出应用的 AppMetrica 工作区(系统工作区和自定义工作区) |
web_get_workspace | 读取 | 获取单个工作区:包含名称、指标和维度的分组、标题和小组件 |
web_list_widget_presets | 读取 | 列出网页预设小组件(widget_id = preset 值),可选 category |
web_list_report_namespaces | 读取 | 列出报告命名空间及其 Reporting API 前缀;指定 namespace_id 可查看有效指标和维度 |
web_create_workspace | 写入 | 一次性创建包含 groups({header?, widgets?})的工作区 |
web_add_widgets | 写入 | 向工作区添加一行小组件(position 可选) |
web_add_header | 写入 | 添加一个分区标题行 |
web_rename_workspace | 写入 | 重命名工作区 |
web_remove_widget | 写入 | 根据 dashboard_widget_id 移除小组件 |
web_delete_workspace | 写入 | 删除自定义工作区(不允许删除系统 <appId>/… 仪表板) |
web_push_workspace | 写入 | 根据本地工作区创建 AppMetrica 工作区(workspace,name 可选) |
日志
| 工具 | 描述 |
|---|---|
export_events | 导出原始自定义事件日志 |
export_crashes | 导出原始崩溃日志 |
export_installations | 导出原始安装日志 |
export_logs | 导出任意 Logs API 表(共 13 张表),并验证字段;push_tokens 无需日期 |
推送通知
| 工具 | 访问权限 | 描述 |
|---|---|---|
list_push_campaigns | 读取 | 列出推送通知活动,可选按状态筛选 |
get_push_stats | 读取 | 获取某个活动的送达统计信息 |
create_push_campaign | 写入 | 创建推送活动(需要设置 APPMETRICA_ALLOW_WRITE=true) |
写入操作
所有这些操作都需要设置 APPMETRICA_ALLOW_WRITE=true(以及拥有写入权限的 OAuth 令牌);否则会返回错误且不会发送请求。
| 工具 | 描述 |
|---|---|
create_funnel | 创建已保存的漏斗(name、steps、comment、foreground_only、single_session、events_between_steps) |
update_funnel | 重命名漏斗/修改漏斗备注,或重建其步骤和选项(其余已保存的漏斗内容会保留) |
delete_funnel | 删除已保存的漏斗 |
create_segment | 根据 events 创建细分群体(完成所有这些事件的用户) |
update_segment | 更改细分群体的 name 和/或 events |
delete_segment | 删除细分群体 |
create_push_campaign | 创建推送活动(请参阅 Push Notifications) |
web_create_workspace、web_add_widgets、web_add_header、web_rename_workspace、web_remove_widget、web_delete_workspace、web_push_workspace | 实验性 Web 会话工具(请参阅 Web session);这些工具使用 Chrome 登录状态,而非 OAuth 令牌 |
可以和不可以创建的内容。 漏斗和细分群体通过 Management API 创建,并会显示在 AppMetrica Web UI 中。公开 API 无法创建仪表板和工作区:Web UI 通过内部 GraphQL 端点管理这些内容,该端点需要 Cookie 会话和 CSRF 令牌,OAuth 令牌无法使用。实验性的 web_* 工具通过已登录的 Chrome 会话绕过这一限制(请参阅 Web session);否则请使用本地工作区和预设(请参阅 Dashboards & workspaces);analytics_setup 提示词还会输出一份“Web 仪表板蓝图”,供你手动搭建。
已保存的漏斗仅支持 Web 漏斗编辑器可以展示的内容:客户端事件步骤(每个步骤可包含多个事件,表示其中任意一个;每个步骤最多设置一个事件参数 key/value,并应用于该步骤的所有事件)以及 install 步骤。其他步骤类型(crash、purchase、session_start 等)和每个步骤中的多个参数都会被拒绝——可使用 get_funnel_report 临时运行这些查询。细分群体仅可根据 events 创建(完成所有这些事件的用户):API 会根据 Web 编辑器的筛选条件 JSON 推导细分表达式,因此其他条件类型(设备、地理位置、版本、用户档案等)必须在 Web UI 中创建。若需临时筛选,请使用报告工具的 filters 参数。
提示词
| 提示词 | 参数 | 描述 |
|---|---|---|
analytics_setup | app_id、project_path(可选)、goal(可选) | 端到端工作流:审查应用最近 28 天的事件,扫描源代码中的 AppMetrica 事件调用,设计并验证 3-6 个漏斗(写入模式开启时通过 create_funnel 保存,否则输出漏斗),创建细分群体,构建仪表板(通过 get_dashboard + save_workspace,然后在 Web 会话已登录时使用 web_push_workspace 推送到 AppMetrica,否则生成 Web 仪表板蓝图),最后输出“埋点缺口”部分 |
漏斗
get_funnel_report 与网页版“Funnels”报告保持一致。它会从 Reporting API 读取每个步骤的指标 ym:uf:devicesInStep1..N(单会话漏斗使用 ym:sf:):按顺序完成每个步骤的设备数。绝对转化率以第 1 步为基准,相对转化率以上一步为基准。
- 已保存的漏斗 —
list_funnels会显示在 Web UI 中创建的漏斗;传入funnel_id后,将原样使用已保存的模式(对于保存时关闭了“步骤之间的事件”的漏斗,会像 Web UI 一样,根据编辑器中的步骤重新构建限制条件)。此模式下会忽略以下漏斗选项。 - 临时漏斗 — 传入
steps。步骤可以是客户端events的列表(匹配其中任意一个)、可选的event_params(key==value),或另一种kind:install、session_start、crash、error、purchase、ad_revenue、deeplink、any_event。使用list_events查找事件名称。 - 选项(临时漏斗):
foreground_only(默认true)、single_session(默认false)、events_between_steps(默认true;false会使用next连接步骤并发送funnel_restriction)、window_seconds。 - 细分 —
dimensions(完整键名或简写后缀,如date、appVersion、operatingSystemInfo、regionCountry)、filters、segment_id、group(day/week/month,会添加一个bytime请求以获取时间序列)。
临时漏斗示例:
{
"app_id": 12345,
"date_from": "2026-09-01",
"date_to": "2026-09-30",
"steps": [
{ "title": "Open", "events": ["app_open"] },
{ "title": "Paywall", "events": ["paywall_shown"] },
{ "title": "Purchase", "kind": "purchase" }
],
"dimensions": ["operatingSystemInfo"]
}
信息中心与工作区
AppMetrica 的 Web 工作区和“Обзор”信息中心由一个需要 Cookie 身份验证的内部端点提供服务,公共 API(OAuth 令牌)无法访问该端点。因此,这个 MCP 会自行构建信息中心(如需管理实际的 Web 工作区,请使用实验性的 Web 会话工具;web_push_workspace 会将本地工作区复制到那里):
- 预设 —
get_dashboard会运行根据 Reporting API 计算的命名组件:audience、installs、installs_by_country、engagement、app_versions、events、crashes、errors、anr、revenue、ad_revenue、ad_revenue_by_type、conversions、traffic、push、funnels(所有已保存的漏斗)和retention(公共 API 不支持——会返回一条unavailable说明)。默认组件集:audience、installs、engagement、crashes、events。list_dashboard_presets会显示每个预设包含的指标。 - 每个组件单独发起一个请求,按顺序运行,绝不混用命名空间;失败的组件会返回
{name, error},而不会导致整个信息中心失败。请留意配额(每秒 30 个请求,每天 5000 个请求)。group会将没有细分的组件转换为时间序列;currency(默认USD)应用于收入组件;segment_id会将所有组件限制在一个已保存的细分中。 - 工作区 —
save_workspace会将命名组件集保存到本地 JSON 文件(默认路径为~/.config/appmetrica-mcp/workspaces.json,可通过APPMETRICA_WORKSPACES_FILE覆盖);get_dashboard(workspace=...)会运行该组件集。一个组件包含name,且必须且只能指定preset、metrics(自定义,单一命名空间;可选dimensions、filters、segment_id、limit)或funnel_id中的一项。工作区可以定义默认的app_id。工作区工具只会操作本地文件——不受APPMETRICA_ALLOW_WRITE限制,也绝不会写入 AppMetrica。
Web 会话(实验性):AppMetrica 中的工作区与信息中心
功能说明。 web_* 工具可以列出、创建、编辑和删除 AppMetrica 中实际的工作区(信息中心)及其组件——这是公共 API 无法管理的产品部分。Web UI 会调用内部 GraphQL 端点(POST https://appmetrica.yandex.ru/api),该端点只接受 Yandex Cookie 会话以及嵌入页面中的 CSRF 令牌;OAuth 令牌会被拒绝。因此,MCP 会通过真实的 Google Chrome(playwright-core,持久化配置文件)调用该端点,并复用你的登录状态。
登录(仅需一次)。
npx appmetrica-mcp login # opens Chrome; log in to Yandex, the window closes by itself
npx appmetrica-mcp session-status # prints {"logged_in": true, "login": "...", ...}
此后,每次 web_* 调用都会以无头模式复用保存的配置文件(首次调用会启动 Chrome,耗时约 7 秒;所有调用共享同一会话,服务退出时会关闭会话)。Yandex 每次访问都会续期会话,并自动刷新 CSRF 令牌,因此只有在 Yandex 使会话失效时才需要重新登录——届时工具会返回“未登录”错误,提示你运行 npx appmetrica-mcp login。Chrome 配置文件同一时间只能由一个 Chrome 使用,因此无头会话会在 2 分钟没有 web_* 调用后关闭 Chrome(APPMETRICA_BROWSER_IDLE_MS),并在发现自己已退出登录时立即关闭——工具闲置时请运行 login;如果 Chrome 提示配置文件正在使用,请等待几分钟或停止服务。
安全提示。 配置文件包含该账户的完整 Yandex 会话(并非受限令牌),且 Chrome 使用基础密钥链存储会话,因此请将配置文件目录视为凭据:将其保存在自己的计算机上,并优先使用仅有权访问所需 AppMetrica 应用的专用 Yandex 账户。web_session_status 会报告账户名称(yandex_login);不会返回任何其他 Cookie 或令牌值。
环境变量。 APPMETRICA_BROWSER_PROFILE(配置文件目录,默认值为 ~/.config/appmetrica-mcp/chrome-profile)、APPMETRICA_BROWSER_PATH(Chrome/Chromium 可执行文件)和 APPMETRICA_BROWSER_CHANNEL(默认值为 chrome;也可以是 chromium、msedge 等)。要求:已安装 Google Chrome(或通过 APPMETRICA_BROWSER_PATH 指定浏览器)。
组件。 所有接受组件的工具都接受相同的 WidgetInput,且必须且只能是以下一种:
{ "preset": "AudienceMulti" }— 网页预设组件(ID 来自web_list_widget_presets,例如Installs、Audience、Crashes、CrashFreeSessions、Revenue、AppVersion、PushSent);view_kind可选。{ "funnel_id": 267628 }— 已保存的漏斗(list_funnels),作为Funnels组件(默认视图为FunnelFirstStep)。{ "name": "...", "metrics": ["ym:u:users"], "dimensions": ["ym:u:appVersion"], "segment_id": 5, "view_kind": "Table" }— 自定义组件。报告命名空间根据第一个指标的前缀推导(ym:u:→Audience、ym:r2:→Revenue、ym:ce2:→Events等;对于多个命名空间共用的前缀,ym:i:使用Cohort,ym:ts:使用UserAcquisition),也可以通过namespace显式指定(web_list_report_namespaces)。系统会根据命名空间验证指标和维度 ID;未知 ID 会报错并列出相似 ID。
view_kind 的取值:Timeline(默认值)、TimeColumn、Table、Pie、MultiTimeColumn、FunnelFirstStep;其他字符串会原样传递。组的格式为 { "header": "text", "widgets": [...] };同时包含标题和组件的组会先生成标题行,再生成组件行。AppMetrica 限制每个工作区最多包含 20 个组件和 40 个组,每个应用最多包含 20 个信息中心。
{
"app_id": 12345,
"name": "Product overview",
"groups": [
{ "header": "Audience" },
{ "widgets": [{ "preset": "AudienceMulti" }, { "preset": "NewUsers" }] },
{ "header": "Funnels" },
{ "widgets": [{ "funnel_id": 267628 }] },
{ "widgets": [{ "name": "Users by version", "metrics": ["ym:u:users"], "dimensions": ["ym:u:appVersion"], "view_kind": "Table" }] }
]
}
web_create_workspace 通过一次请求创建整个工作区,并返回 {dashboard_id, name, url, groups}。
本地工作区 → AppMetrica。 web_push_workspace(app_id, workspace, name?) 会接收通过 save_workspace 保存的工作区,并在 AppMetrica 中创建它:一个标题行(组件名称)加上每个本地组件对应的一行 Web 组件。本地预设会映射到有明确对应项的 Web 预设:audience → AudienceMulti、installs → Installs、engagement → UserTimeSpent + AvgSessionTime + UserSessionsCount、app_versions → AppVersion、crashes → CrashFreeSessions + Crashes、errors → ErrorLogsIos + ErrorLogsAndroid、revenue → RevenueTotal + RevenuePurchases、ad_revenue → AdRevenue + AdRevenueARPU + AdRevenueECPM、traffic → Clicks + Installs + InstallConversion、push → PushSent + PushReceived + PushOpened、retention → RetentionDynamics、funnels → 为每个已保存的漏斗创建一个 Funnels 组件。installs_by_country、events、conversions、anr、ad_revenue_by_type 和本地自定义 metrics 组件会变成自定义组件;本地 funnel_id 组件会变成 Funnels 组件。无法创建的组件(未知的指标 ID、没有已保存的漏斗)会被跳过,并列在 skipped 中;notes 会列出无法迁移的内容(预设组件上的 filters、segment_id)。
限制。
- 这是 Web 客户端使用的非官方内部 API:它可能会在不事先通知的情况下发生变化,导致工具无法使用。GraphQL 文档保存在
src/web/operations.ts中;要更新它们,请使用node scripts/record-graphql.mjs录制真实流量(先运行npm run build;它会使用已登录的配置文件打开 Chrome,并录制你的所有操作),然后相应地更新src/web/operations.ts中的片段和操作。 - MCP 服务运行的机器上需要安装 Google Chrome,并登录 Yandex。
- 修改操作需要设置
APPMETRICA_ALLOW_WRITE=true。web_delete_workspace无法删除系统仪表板(<appId>/General,……)。 - Yandex 可能会对 Web 端点实施速率限制(HTTP 429):等待一分钟后重试。
API 覆盖范围
- Reporting API —
data、data/bytime、data/drilldown;筛选器、排序、细分(segment_id)、币种和抽样参数;通过funnel_pattern获取漏斗步骤指标。 - Logs API — 全部 13 张表:
events、crashes、errors、installations、sessions_starts、deeplinks、postbacks、clicks、push_tokens、profiles_v2、revenue_events、ecommerce_events、ad_revenue_events。 - Management API — 应用、事件列表、转化、细分和已保存的漏斗(读取,以及在写入模式下创建/更新/删除)、Logs API 状态。
- 指标/维度目录和 Logs API 字段列表来自官方文档,并存储在
src/catalog.generated.ts中。使用node scripts/update-catalog.mjs重新生成。
使用示例
连接后,你可以向 Claude 提出以下请求:
- “列出我的 AppMetrica 应用”
- “显示应用 12345 过去 7 天的 DAU 和会话数”
- “导出应用 12345 在 2024-01-01 至 2024-01-07 期间的崩溃日志”
- “应用 12345 当前有哪些活跃的推送活动?”
- “按应用版本细分,显示新用户数量”
- “显示应用 12345 上个月已保存漏斗的转化情况”
- “为 9 月的 iOS 用户构建 app_open -> paywall_shown -> purchase 漏斗”
- “为应用 12345 创建过去 14 天的概览仪表板,按周展示”
- “保存一个名为 'weekly' 的工作区,包含受众、崩溃和收入组件”
- “审核应用 12345 过去一个月的事件,并告诉我哪些事件已失效”
- “创建一个 app_open -> paywall_shown -> purchase_completed 漏斗,以及一个包含看过付费墙用户的细分”(需要
APPMETRICA_ALLOW_WRITE=true) - “对 ~/Projects/MyApp 运行 analytics_setup 提示词,应用 12345”
- “为应用 12345 创建一个名为 'Product overview' 的 AppMetrica 工作区,包含受众、无崩溃会话和我的付费墙漏斗”(实验性 Web 会话;需要
APPMETRICA_ALLOW_WRITE=true)
速率限制
AppMetrica 对所有 API 请求施加以下限制:
- 每个 OAuth token 每秒 30 次请求
- 每个 OAuth token 每天 5,000 次请求
客户端会在收到 429 和 5xx 响应时自动重试,并采用指数退避策略(1s → 2s → 4s,最多尝试 3 次)。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。