mcpField
Y
Yandex Metrika MCP

Yandex Metrika MCP

本地服务
github.com数据与分析192 天前更新

关于 Yandex Metrika MCP

Yandex Metrika MCP 提供 Yandex Metrika 计数器管理和网站分析数据访问。除常见流量分类外,还支持按指定指标、维度和筛选条件生成自定义报告。

主要功能

  1. 01列出并查看计数器
  2. 02创建和删除计数器
  3. 03汇总流量及来源
  4. 04按地域和设备分类
  5. 05查看热门页面和搜索词
  6. 06生成自定义报告

适用场景

  1. 01查看指定日期范围内的访问量和页面浏览量
  2. 02比较流量来源和受众地域
  3. 03查找热门页面及搜索词
  4. 04使用自定义指标和筛选条件查询分析数据

MCP 相关

通过 MCP 工具提供 Yandex Metrika 计数器管理和分析报告功能。删除计数器需要传入 `confirm: true`。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"stufently-yandex-metrika": {
"command": "npx",
"args": [
"-y",
"@stufently/yandex-metrika-mcp"
],
"env": {
"YANDEX_METRIKA_TOKEN": "<YANDEX_METRIKA_TOKEN>"
}
}
}
}
启动命令npx -y @stufently/yandex-metrika-mcp
需要配置的环境变量
YANDEX_METRIKA_TOKEN密钥OAuth token for Yandex Metrika (metrika:read; metrika:write for counter tools)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@stufently/yandex-metrika-mcp2.2.1

工具

12

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

yandex-metrika-mcp

用于 Yandex Metrika API 的 MCP 服务。访问网站分析数据——流量摘要、受众人口统计信息、流量来源、热门页面、搜索词和自定义报告。

安装

此软件包以 @stufently/yandex-metrika-mcp 发布;非限定名称 yandex-metrika-mcp 属于无关的发布者(请参阅根 README中的说明)。 目前该作用域下还没有任何内容,因此请从源代码运行:

git clone https://github.com/stufently/yandex-mcp.git
cd yandex-mcp && bun install
node packages/yandex-metrika-mcp/src/index.mjs

配置

将以下内容添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "yandex-metrika": {
      "command": "node",
      "args": ["/path/to/yandex-mcp/packages/yandex-metrika-mcp/src/index.mjs"],
      "env": {
        "YANDEX_METRIKA_TOKEN": "your-oauth-token"
      }
    }
  }
}

环境变量

变量必需说明
YANDEX_METRIKA_TOKEN是OAuth 令牌。metrika:read 可用于 10 个读取工具;create-counter 和 delete-counter 还需要 metrika:write
YANDEX_METRIKA_SCOPE否覆盖授权流程请求的作用域。默认值:metrika:read metrika:write
YANDEX_CLIENT_ID用于授权流程Yandex OAuth 应用客户端 ID
YANDEX_CLIENT_SECRET用于授权流程Yandex OAuth 应用客户端密钥

身份验证

如需交互式获取 OAuth 令牌:

node packages/yandex-metrika-mcp/src/index.mjs auth

这会打开浏览器进行 Yandex OAuth 授权并返回令牌。将其设为 YANDEX_METRIKA_TOKEN。

作用域

该辅助程序默认请求 metrika:read metrika:write。写入作用域并非 可有可无的装饰:没有它,create-counter 和 delete-counter 会被 HTTP 403 拒绝, 而且只有在尝试创建计数器时才会收到拒绝,而不是在设置时。

如果只需要读取权限,请请求更少的权限:

YANDEX_METRIKA_SCOPE="metrika:read" node packages/yandex-metrika-mcp/src/index.mjs auth

随后,这两个写入工具会失败并返回一条指出缺少作用域的 403 错误消息。两个工具的 说明中也都写明了这一点,因此模型在调用前可以区分“无权执行”和“发生故障”。

拥有可写入的令牌并不意味着可以不受限制地删除:无论作用域如何,delete-counter 都要求明确设置 confirm: true——请参阅删除计数器。

注意:Metrika API 使用 Authorization: OAuth {token}(而非 Bearer)。

工具参考(12 个工具)

管理(5 个)
工具说明参数
get-counters列出所有 Metrika 计数器(网站)--
get-counter获取特定计数器的详细信息counter_id
get-goals获取计数器的目标counter_id
create-counter创建新计数器(添加网站)。需要 metrika:writename、site、mirrors?、time_zone_name?、gdpr_agreement_accepted?
delete-counter删除计数器。不可逆——请参阅删除计数器。需要 confirm: true 和 metrika:writecounter_id、confirm
删除计数器

delete-counter 是这里唯一不可逆的工具,只有在调用中 包含 confirm: true 时才会运行:

{ "counter_id": 12345, "confirm": true }

如果未提供该参数,工具会返回错误结果,且不会向 Metrika API 发送任何内容:

Refused: `delete-counter` requires explicit confirmation.

Deleting counter 12345 is irreversible — the counter and every statistic it has collected are
gone for good. Yandex cannot restore them, and creating a new counter for the same site does
not bring the history back.

Nothing was sent to the Metrika API — no counter was touched.

To go ahead, call `delete-counter` again with counter_id 12345 and `confirm: true`. To check
which site this counter belongs to first, call `get-counter`.

有意将 confirm 设为 JSON 架构中的可选参数:缺少确认时,必须返回上述说明, 而不能返回模型无法处理的架构验证错误。只有字面值 true 才有效——"true"、1 和 "yes" 都会被拒绝,因为猜测协议并不等于决定删除任何内容。该工具在 MCP 注释中也标记为 destructiveHint: true,因此能够展示工具风险的客户端可以在调用前显示此信息。

设置此参数的原因:在默认 OAuth 作用域包含 metrika:write 之前,意外调用 delete-counter 会被只读令牌导致的 403 错误拦截。修复该 403(让设置过程能一次成功) 移除了唯一真正的制动措施,而说明中的“不可逆”只是寄希望于模型仔细阅读,并非防护机制。

报告(6)
工具描述参数
get-traffic-summary访问量、用户数、页面浏览量、跳出率、平均访问时长counter_id、date_from?、date_to?
get-traffic-sources按来源划分的流量counter_id、date_from?、date_to?、limit?(默认值:10)
get-geography按国家和城市划分的流量counter_id、date_from?、date_to?、limit?(默认值:10)
get-devices按设备、浏览器或操作系统划分的流量counter_id、group_by?(device/browser/os,默认值:device)、date_from?、date_to?、limit?(默认值:10)
get-popular-pages访问量最高的页面counter_id、date_from?、date_to?、limit?(默认值:10)
get-search-phrases带来流量的热门搜索词counter_id、date_from?、date_to?、limit?(默认值:20)
自定义(1)
工具描述参数
get-report使用任意指标和维度运行自定义报告counter_id、metrics、dimensions?、date_from?、date_to?、filters?、sort?、limit?(默认值:10)

get-report 参数

get-report 工具可全面访问 Metrika Stat API:

参数类型必填描述
counter_id数字是计数器 ID
metrics字符串是以逗号分隔的指标(例如:ym:s:visits,ym:s:users)
dimensions字符串否以逗号分隔的维度(例如:ym:s:trafficSource)
date_from字符串否开始日期 YYYY-MM-DD(默认值:30 天前)
date_to字符串否结束日期 YYYY-MM-DD(默认值:今天)
filters字符串否筛选表达式(例如:ym:s:trafficSource=='organic')
sort字符串否排序字段;添加 - 前缀表示降序
limit数字否最大结果数(默认值:10)

默认日期范围

未指定 date_from 和 date_to 时,所有报告工具默认使用最近 30 天的数据。

数据抽样

对于大型数据集,Metrika Stat API 可能会返回抽样数据。应用抽样时,响应中会包含一条说明,指出数据为近似值。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。