← 返回目录
最多同时对比 4 个 SERVER

MCP Server 选型对比

把评分、权限、风险和适用场景放在同一张表里,快速判断哪个更适合你。

对比维度Apple Health MCP Server用 SQL 在本地查询你的 Apple Health 导出数据Compartment加密、完全离线的 AI 代理长期记忆库
FMRS67 / 100 · C75 / 100 · B
可靠性11 / 2012 / 20
安全与权限15 / 2016 / 20
维护活跃度12 / 2014 / 20
文档质量15 / 2018 / 20
安装易用性14 / 2015 / 20
适合谁
  • 希望健康数据保持在本地、不经过第三方服务器的用户
  • 已使用 Simple Health Export CSV 生成 Apple Health CSV 导出的用户
  • 熟悉或用得上 SQL 与 DuckDB 的量化自我实践者
  • 在可信 MCP 客户端中使用 Claude Desktop 的用户
  • 重视隐私与离线运行、不希望数据离开本机的个人或团队
  • 在多个 MCP 客户端(Claude Code、Claude Desktop、Hermes Agent、OpenClaw、Cursor、Codex、Gemini CLI 等)之间共享记忆的用户
  • 需要加密存储、审计链与可验证 vault 迁移的场景
  • 希望记忆检索延迟低、嵌入模型随包附带、无需额外 LLM 调用的用户
不适合谁
  • 只有原生 Apple Health export.xml、未转成 CSV 的用户
  • 不愿让查询结果可能发送到 MCP 客户端所配置模型提供商的用户
  • 把健康报告当作医疗建议或诊断的人
  • 需要持久化增量导入或跨进程复用数据库的用户
  • 需要云端多设备实时同步或团队协作式托管记忆的用户;Compartment 的同步方式是在锁定后手动复制 vault 文件
  • 希望由服务端 LLM 自动抽取事实、自动决定记忆内容的用户;Compartment 明确不在内部调用 LLM,由宿主模型决定存什么
  • 无法安全保管口令或其口令遗失后需要恢复途径的用户(Compartment 不生成也不托管任何恢复短语)
  • 在服务器端以网络传输方式(SSE / streamable-http)接入的部署:本服务器为 stdio,不开放端口
所需权限
  • 读取 HEALTH_DATA_DIR 指向目录中的 Apple Health CSV 导出文件
  • DuckDB 在内存中处理数据,受 MAX_MEMORY_MB 限制
  • 服务器本身不联网、不上传导出文件;但返回给 MCP 客户端的查询结果可能被发送到该客户端配置的模型提供商
  • 读取与写入用户主目录下的 vault 文件(默认为 ~/.compartment/memory.vault)及其同目录的 .config.json 设置文件
  • 访问存放解锁凭证的会话目录(可用 COMPARTMENT_SESSION_DIR 指定),该目录同时容纳共享嵌入进程的 Unix 套接字
  • 在 macOS 上可选使用钥匙串(compartment unlock --keychain 为显式选择加入)
  • 向各 MCP 客户端的配置文件写入或合并 mcpServers 条目(写入前做字节级备份)
  • 在 Claude Code 场景下安装 PostToolUse 钩子,用于捕获代理写入的记忆文件
  • 在 127.0.0.1 上提供只读浏览器 Dashboard(带一次性随机 URL 令牌)
风险与副作用
  • 任何工具都能访问配置的完整历史数据,因此只应从你信任的 MCP 客户端启动此服务器
  • 健康数据很敏感;一旦查询结果被发送到模型提供商,就会离开本地环境
  • 首次需要某个表时会加载该表的完整 CSV 历史,没有日期窗口限制
  • 表被保存在内存中;超出 MAX_MEMORY_MB 的导出会明确报错,而不是落盘缓存
  • 设备重叠可能产生看似重复的测量值,查询时可能需要考虑 sourceName
  • 健康报告只是对已记录数据的汇总,不构成医疗建议
  • 口令泄漏意味着加密内容可被解密;Compartment 不生成、不托管恢复短语,口令丢失无法恢复
  • 启用 memory_unlock 工具会把口令带入模型上下文,默认因此关闭
  • 2FA 依赖的密钥文件(例如 U 盘)丢失后,即使有口令也无法打开 vault
  • 带 --plaintext 的 export 会写出未加密的 JSONL,需要自行妥善处理该文件
  • 记忆内容可能来自不可信来源;虽然召回时会以“这是数据”提示包裹,并可标记 quarantined,宿主代理仍须把记忆当作数据处理,以降低提示注入风险
  • capture 钩子与各客户端配置写入会修改用户的设置文件,尽管实现会先备份、合并而非覆盖
支持客户端Claude DesktopClaude Desktop, Claude Code, Hermes Agent, OpenClaw, Cursor, VS Code, Codex, Gemini CLI, Cline, Roo Code, Zed, OpenCode, LM Studio, AnythingLLM, BoltAI, Goose, Kiro
工具能力314