SuperAPI AI 工具集

memorydetective

memorydetective 是一个用于 iOS 内存泄漏与性能调查的 MCP 服务器,由 carloshpdoc 开发。它可以读取 Xcode 或自身在模拟器上采集的 .memgraph 文件,定位 ROOT CYCLE,并依据已知的 SwiftUI/Combine 模式进行分类,给出单行修复提示;同时可读取 .trace 文件进行性能分析。它原生支持 MCP 协议,可接入 Claude Code、Claude Desktop、Cursor、Cline 等 MCP 客户端,让智能体驱动「调查 → 分类 → 建议修复」的完整流程,无需打开 Instruments。项目提供 CLI 与命令行两种使用方式,仅支持 macOS。注意:官方资料未提供价格信息,官网仅指向 GitHub 仓库。

访问官网

工具介绍

memorydetective 是一个面向 iOS 泄漏排查与性能调查的 MCP 服务器,通过命令行或聊天窗口驱动,官方描述为“无需 Xcode 即可从聊天窗口诊断 iOS 引用环与性能回归”。

【用途】 读取由 Xcode(或 memorydetective 自身在模拟器上)采集的 .memgraph 文件,查找 ROOT CYCLE,依据已知的 SwiftUI/Combine 模式进行分类,并给出单行修复提示,全部可在脚本或聊天中完成。它原生支持 MCP 协议,可接入 Claude Code、Claude Desktop、Cursor、Cline 等 MCP 客户端,由智能体驱动完整的「调查 → 分类 → 建议修复」循环。

【主要能力】 官方说明其具备 28 个 MCP 工具、34 种模式的引用环分类器(带 Swift fixTemplate 代码片段)、用于 CI 门禁的 compareTracesByPattern,以及 SourceKit-LSP 源码桥接。可读取 .memgraph 与 .trace 文件,仅限 macOS。 根据更新日志,v1.18 新增 analyzeMetricKitPayload(第 42 个 MCP 工具),可摄入来自真机 TestFlight / App Store 构建的 Apple MetricKit .mxdiagnostic JSON 载荷,输出崩溃聚类(按异常类型/二进制/顶部帧)、卡顿热点(支持本地化时长解析,如 “5.4 sec” / “20秒”)、CPU 与磁盘异常,并提供跨工具链提示。v1.17 做了可靠性修复(环境变量真值解析、verifyFix 白名单匹配模式 exact/substring/regex 等)。v1.16 新增 recordViaInstrumentsApp,封装 Instruments.app 图形流程。v1.15 新增 analyzeMemoryFootprint、analyzeEnergyImpact、analyzeLeakTimeline。更早版本陆续加入 summarizeTrace、inspectTrace、diffMemgraphs、mainThreadViolations 等。

【使用方式】 作为 MCP 服务器,memorydetective 二进制通过 stdio 通信,可将任意兼容 MCP 的客户端指向它;官方给出了在 Claude Code 客户端配置中添加的示例,以及直接从命令行使用的方式(具体配置与命令见官方仓库文档)。它也支持注入 Claude Desktop、Cursor、Cline 等客户端。

【典型工作流】 官方示例展示了从导出 memgraph 诊断泄漏、用 diffMemgraphs 验证修复是否生效、构建并复现(bootAndLaunchForLeakInvestigation + replayScenario + captureScenarioState)的自包含验证循环,以及真机性能采样(listTraceDevices → recordTimeProfile → analyzeHangs)和 MetricKit 生产崩溃分析,最终可结合 SourceKit-LSP 源码桥接定位到具体文件与行号并给出修复建议。

【限制与已知问题】 官方明确说明:Memory Graph 采集在 Mac 应用与 iOS 模拟器上可用,物理 iOS 设备仍需 Xcode;卡顿分析在 xctrace 可符号化时可解析样本级 Time Profile,无法符号化时会返回结构化的工作区提示(xctrace 对重度未符号化 trace 的 SIGSEGV 属 Apple 侧限制)。macOS 26.x 上 Apple 存在 task_for_pid 内核回归,会阻断 leaks --outputGraph、heap 及 xctrace --template Allocations 针对 iOS 模拟器进程的操作,官方建议改用 iOS 18 模拟器运行时(可通过 Xcode > Settings > Platforms > +iOS 18.x 安装),并可用 MEMORYDETECTIVE_SUPPRESS_PLATFORM_ADVISORY=1 静默提示。macOS 26.x 上 xctrace record 对模拟器目标同样损坏,官方给出使用 recordViaInstrumentsApp、在搭载 Xcode 26.0 的旧 macOS 主机录制、或针对物理设备录制等变通方案。v1.18 的 MetricKit 载荷分析暂不提供符号化帧(仅输出 raw binaryUUID + offset,dSYM 查找为独立工具,未来版本提供)。

【价格与收费】 官方资料未提供价格或收费信息。