← 返回目录
P

Perfetto MCP Server

社区
将自然语言转换为强大的 Perfetto 跟踪分析
分类
开发工具 第 74 / 438
Stars
★ 221 热门
传输方式
stdio(本地进程)
运行环境
Python 3.13+
凭据
无需凭据
许可证
Apache-2.0
最近提交
⚠
工具数
12
63FMRS · C

一个面向 Android 性能分析的综合 MCP 服务器,将自然语言提示转化为 12 种专用 Perfetto 分析工具,覆盖 ANR、CPU、帧性能、锁竞争、Binder IPC 和内存分析。仅支持 stdio 传输,要求 Python 3.13+ 和 uv,非官方(Apache-2.0 许可的社区项目)。

最强项 · 文档质量 15/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
14/20
维护活跃度
12/20
文档质量
15/20
安装易用性
14/20
查看各项评分依据
可靠性 8/20
README列出了12个工具(find_slices、execute_sql_query、detect_anrs等)并描述了输出格式(Summary/Details/Metadata),但仓库未提供可核查的CI工作流或已提交的测试用例来证明MCP初始化+工具列表握手、错误处理或declared工具与真实行为的一致性。没有源码、测试或CI证据,只能依据README的自述内容判断,按静态评审校准规则不能给高分。可信路径看似合理但未经证实,且trace_processor下载失败、SQL执行错误等边缘情况处理未见文档说明,故评分较低。
安全与权限 14/20
该服务器主要在本地读取用户提供的Perfetto trace文件并执行SQL查询,属于只读分析,未见删除/支付/部署等不可逆的危险默认操作,也未发现凭证硬编码或明显的数据窃取迹象。存在一个外部网络行为:默认情况下Perfetto Python库可能下载trace_processor_shell二进制文件,仓库提供了PERFETTO_MCP_TRACE_PROCESSOR_BIN_PATH环境变量以允许离线场景使用本地二进制,这是一个积极的缓解措施。但README未清楚说明trace文件内容(可能包含敏感应用数据)是否会以任何形式外传,也未提供明确的权限边界或数据流披露,因此不能给满分。
维护活跃度 12/20
项目采用Apache-2.0许可证,未被归档(archived: False),有214星和仅5个未解决issue,暗示有一定活跃度和维护基础。但源材料中没有提供commit频率、发布版本历史、CHANGELOG、依赖更新策略或安全响应渠道等具体证据,也没有CI徽章或版本发布记录可查,因此维护活跃度只能基于间接信号打中等分数,不能判定为持续、有明确治理结构的维护。
文档质量 15/20
README结构清晰,包含前置条件(Python 3.13+、uv)、四种主流客户端(Cursor、Claude Code、VS Code、Codex)的详细配置示例、本地开发和pip安装的备选方案、按类别组织的工具表格(含用途和示例prompt)、可选环境变量说明及外部资源链接。这体现了良好的分层文档结构。但缺少详细的工具参数schema(仅提及两个必需参数trace_path和process_name,可选过滤器描述较笼统)、故障排查章节、已知限制或成本说明,因此未达到满分。
安装易用性 14/20
README为主流客户端(Cursor、Claude Code、VS Code、Codex)提供了具体的一键安装或JSON配置示例,并提供pip和本地开发(uv sync + uv run)的备选安装路径,步骤清晰、门槛不高。但由于是纯静态评审,没有CI工作流或已提交测试来验证这些安装路径在真实环境中确实可用,按校准规则setup分数不得超过15分,故给出接近上限但保守的分数。

静态评测 · 未实际运行收录于 2026-09-07

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件执行命令或代码

适合谁

  • 需要分析 Android Perfetto 跟踪数据的 Android 开发者
  • 希望在无需手写 SQL 的情况下进行性能分析(卡顿、ANR、锁竞争、内存泄漏)的工程师
  • 支持 stdio MCP 的客户端(如 Cursor、Claude Code、VS Code、Codex)

不适合谁

  • 不分析 Perfetto 跟踪数据的用户
  • 不提供 trace_path 和 process_name 所需绝对路径的场景
  • 不支持通过 uvx 或 pip 运行 Python MCP 服务器的环境

所需权限

  • 需要读取本地 Perfetto 跟踪文件(通过 trace_path 传入的绝对路径)
  • 首次运行时可能需要下载 trace_processor_shell(或通过 PERFETTO_MCP_TRACE_PROCESSOR_BIN_PATH 使用本地二进制)

风险与副作用

  • 跟踪文件包含应用和系统运行时细节,共享跟踪数据可能泄露敏感信息
  • 默认行为可能下载外部二进制文件,受限网络环境应配置本地路径
  • 由 LLM 生成查询,结果需人工验证

安装接入

准备工作

运行环境:Python 3.13+

其他可选配置项(1 个)
PERFETTO_MCP_TRACE_PROCESSOR_BIN_PATH 可选 可选,指向本地 trace_processor_shell 二进制的绝对路径;当网络下载被阻止时使用,否则不设置。

需要 Python 3.13+ 和 uv(macOS 可通过 brew install [email protected] 和 brew install uv 安装)。在 Cursor、Claude Code、VS Code 或 Codex 中添加 MCP 服务器配置,命令为 uvx perfetto-mcp。也可通过 pip3 install perfetto-mcp 后运行 python3 -m perfetto_mcp。如网络受限,可设置环境变量 PERFETTO_MCP_TRACE_PROCESSOR_BIN_PATH 指向本地 trace_processor_shell 二进制的绝对路径。开发模式可在 perfetto-mcp-server 目录中运行 uv sync 和 uv run mcp dev src/perfetto_mcp/dev.py。

.cursor/mcp.json
{"mcpServers":{"perfetto-mcp":{"command":"uvx","args":["perfetto-mcp"]}}}

以 Cursor 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "perfetto-mcp": {
      "command": "uvx",
      "args": [
        "perfetto-mcp"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add perfetto-mcp -- uvx perfetto-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

安装后在客户端工具列表中确认出现 find_slices、detect_anrs 等工具;用提示「使用 perfetto trace /path/to/trace.perfetto-trace 分析进程 com.example.app,检测 ANR」获得结构化 JSON 结果即证明连接成功。

常见排障

  1. 确认 trace_path 是指向 .perfetto-trace 文件的绝对路径
  2. 确认 process_name 与跟踪中的进程名一致(如 com.example.app)
  3. 如 trace_processor_shell 下载失败,设置 PERFETTO_MCP_TRACE_PROCESSOR_BIN_PATH 指向本地二进制
  4. 确认已安装 Python 3.13+ 和 uv
  5. 在提示中明确写出跟踪路径和进程名,例如 'Use perfetto trace /absolute/path for process com.example.app'

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 使用 perfetto trace /absolute/path/to/trace.perfetto-trace,分析进程 com.example.app 中的 ANR 并总结严重程度
  • 找出主线程上超过 50ms 的热点操作,时间范围 10s–25s
  • 检测超过 16.67ms 的掉帧,列出最严重的 20 个
  • 分析进程 com.example.app 的堆支配类,找出占用内存最多的类

工具能力 12

find_slices 只读
调查 slice 名称并定位热点路径
execute_sql_query 只读
运行自定义 PerfettoSQL 进行高级分析
detect_anrs 只读
查找 ANR 事件并按严重程度分类
anr_root_cause_analyzer 只读
深入分析 ANR 根因并按可能性排序
cpu_utilization_profiler 只读
分析线程级 CPU 使用率和调度情况
main_thread_hotspot_slices 只读
找出主线程上运行时间最长的操作
detect_jank_frames 只读
识别错过帧截止时间的卡顿帧
frame_performance_summary 只读
汇总整体帧健康指标
展开其余 4 个工具
thread_contention_analyzer 只读
查找同步瓶颈
binder_transaction_profiler 只读
分析 Binder IPC 性能
memory_leak_detector 只读
发现持续内存增长模式
heap_dominator_tree_analyzer 只读
识别占用内存最多的类

使用场景

解释为何 FragmentManager 执行耗时 438ms
检测并分析 ANR 的根本原因
找出 CPU 热点线程和主线程热点操作
检测超过 16.67ms 的卡顿帧并汇总帧性能
定位锁竞争和缓慢的 Binder 事务
发现内存泄漏信号和占用堆内存最多的类

支持客户端

Cursor
Claude Code
VS Code
Codex

依据项目文档列出,未经本站实测。

详细介绍

Perfetto MCP Server 是一个 Model Context Protocol(MCP)服务器,可将自然语言提示转化为针对性的 Perfetto 分析。它无需编写 SQL 即可解释卡顿、诊断 ANR、找出 CPU 热点线程、揭示锁竞争并发现内存泄漏。每个工具都需要 trace_path(Perfetto 跟踪文件的绝对路径)和 process_name(目标进程/应用名称)。所有工具都返回包含摘要、详情和元数据的结构化 JSON。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 63.3k · 工具数 2 与当前对比 →

源版本 174d14570b62 数据同步于 2026-10-19 查看 FMRS 评分方法