BatterySnap MCP 服务器
向 AI 助手询问安卓电池分析
BatterySnap 提供 Model Context Protocol 服务器,任何兼容 MCP 的 AI 助手都可以按需查询品牌、机型和单台设备的电池统计数据。无需认证。
https://mcp.battery-snap.com/mcp
传输方式
streamable-http
在您的客户端中安装
编辑 claude_desktop_config.json(设置 → 开发者 → 编辑配置)并添加:
{
"mcpServers": {
"batterysnap": {
"type": "http",
"url": "https://mcp.battery-snap.com/mcp"
}
}
}
对于不支持原生 HTTP 传输的旧版本,使用 mcp-remote 桥接:
{
"mcpServers": {
"batterysnap": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.battery-snap.com/mcp"]
}
}
}
在终端中执行一次:
claude mcp add --transport http batterysnap https://mcp.battery-snap.com/mcp
创建 ~/.cursor/mcp.json(或编辑):
{
"mcpServers": {
"batterysnap": {
"url": "https://mcp.battery-snap.com/mcp"
}
}
}
在 librechat.yaml 的 mcpServers 下添加:
mcpServers:
batterysnap:
type: streamable-http
url: https://mcp.battery-snap.com/mcp
在工作区的 .vscode/mcp.json 或您的用户设置中添加:
{
"servers": {
"batterysnap": {
"type": "http",
"url": "https://mcp.battery-snap.com/mcp"
}
}
}
任何支持 streamable-http 传输的 MCP 主机都可以将其指向 https://mcp.battery-snap.com/mcp 进行连接。发现元数据位于 /.well-known/mcp.json。
可用工具
从这里开始
search(query, limit?)把自由文本——品牌、机型名称、原始 Build.MODEL 代码,或三者的组合——解析为其他工具所需的规范品牌与机型标识。其他工具只做精确匹配,因此用户用日常说法提到某款手机时请先用此工具。
目录
brands(limit?, offset?, count filters?)列出所有具有电池统计记录的设备品牌,并附带机型和设备数量,以及 BatterySnap 上该品牌页面的 url。
models(brands?, sort?, limit?, offset?)列出机型及其设备数量、平均温度、安卓 API 范围、有代表性的原始 Build.MODEL 标识(raw_model_code)以及 BatterySnap 上该机型页面的 url(无原始机型代码时为 null)。可传入一个或多个品牌来缩小范围,省略则覆盖全部品牌;可按名称或设备数量排序。
devices(pairs)按一个或多个 {brand, model} 组合列出单台设备,并给出每台设备的聚合数据:活跃时间区间、电量、温度范围、充放电速度、唤醒比例、安卓 API 级别、时区,以及 BatterySnap 上该设备历史页面的 url。
聚合统计
device_summary(device_uid)单台设备的聚合电池指标:平均/最低/最高温度、平均电量、各电源(交流、USB、无线)的平均充电时间,以及近期(约 2 周)和长期(约 2 个月)窗口的平均放电时间,外加清醒比率、Android 信息和 BatterySnap 上设备历史页面的 url。
在支持 MCP Apps 的客户端中,此工具还会直接内嵌显示可交互的电池历史图表。
model_summary(brand, model)给定品牌 + 机型下所有设备的电池指标分布:温度、电量、放电速度、交流/USB/无线充电速度和清醒比率的平均值、中位数、p25、p75、最小值和最大值。还会返回代表性的 raw_model_code 和 BatterySnap 上该机型页面的 url(当没有可用的原始机型代码时为 null)。
fleet_summary(brand?)提供与 model_summary 相同的分布统计,但范围覆盖整个设备群——或在指定 brand 时仅限单一品牌。可作为比较某台设备或某款机型的基线。
fleet_totals()覆盖整个设备群的实时计数器:设备总数、机型总数、快照总数、会话总数、快照写入速率(条/秒)和最近一次插入批次的时间。可用于回答数据集规模和增长速度的问题。
排行榜
top_devices(metric, order?, brand?, model?, limit?, min_snapshots?)按任意电池指标对单台设备排名——最热、续航最久、充电最快——可选按品牌和机型过滤。快照数少于 min_snapshots(默认 100)的设备会被忽略,避免样本过少的设备登顶。
top_models(metric, order?, brand?, limit?, min_devices?)同一排行榜的机型版本:把某机型的所有设备聚合后,按该指标的中位数排序(中位数不易被离群值干扰)。结果同时返回均值,min_devices(默认 3)设定最小样本量。
device_ranking(device_uid, metric?)一次调用即可将某台设备在指定指标上与同机型其他设备以及整个设备总体进行对比:给出它的数值、名次(从 1 开始)、百分位,以及两个对照组各自的中位数 / 均值 / 最小值 / 最大值。
top_devices_by_uptime(brand?, model?, limit?)按两次重启之间记录到的最长单次运行时间排序的设备。品牌和机型过滤器可选。返回一小串 device_uid(每条均带有指向 BatterySnap 上对应设备历史页面的 url),可链式调用 device_summary。
top_devices_by_live_uptime(brand?, model?, limit?)与 top_devices_by_uptime 相同的排名,但仅限于运行时间尚未被重启打断的设备——它们仍在实时累计。每条记录还包含其对应设备历史页面的 url。
top_devices、top_models 和 device_ranking 接受的指标:temperature_c、max_temperature_c、min_temperature_c、battery_level_pct、discharge_hours、ac_charge_hours、usb_charge_hours、wireless_charge_hours、awake_ratio、snapshot_count 和 uptime_hours。充电与放电数值均为「完整 100 点变化所需小时数」:数值越小表示充电越快,数值越大表示续航越久。
brands、models 和 devices 工具还接受一个可选的 fields 参数 —— 传入属性名白名单可让响应保持紧凑。
brands 与 models 还支持 limit / offset 分页,以及设备数和机型数的最小 / 最大过滤条件。