mcpField
A
apple-voice-memo-mcp

apple-voice-memo-mcp

本地服务
github.com/jwulff生产力81 周前更新

关于 apple-voice-memo-mcp

apple-voice-memo-mcp 是 macOS 上访问 Apple Voice Memos 录音的 MCP 服务,供 AI 助手读取录音信息、音频和转录文本。它既能提取录音中已有的转录,也可用 Apple SFSpeechRecognizer 生成转录。

主要功能

  1. 01列出录音及其元数据
  2. 02获取录音详细信息
  3. 03以路径或 Base64 获取音频
  4. 04提取录音内已有转录
  5. 05使用 SFSpeechRecognizer 转录

适用场景

  1. 01浏览并筛选语音备忘录
  2. 02将录音音频交给其他处理流程
  3. 03提取录音已有的转录文本
  4. 04为尚无转录的录音生成文本

MCP 相关

该 MCP 服务向 MCP 客户端提供 Apple Voice Memos 的录音列表、详情、音频和转录工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"jwulff-apple-voice-memo": {
"command": "npx",
"args": [
"-y",
"apple-voice-memo-mcp"
]
}
}
}
启动命令npx -y apple-voice-memo-mcp

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

安装包
npmapple-voice-memo-mcp0.1.1

工具

5

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

参数类型必填说明
limitnumber否要返回的备忘录最大数量(1-100,默认值:50)
offsetnumber否分页时跳过的备忘录数量(默认值:0)
searchstring否按标题或自定义标签筛选备忘录的搜索词

详细介绍

Apple 语音备忘录 MCP 服务

一个 MCP(Model Context Protocol)服务,可通过编程方式访问 macOS 上的 Apple 语音备忘录。借助它,Claude 和其他 AI 助手可以与您的语音录音交互。

与 whisper-mcp 搭配使用,可在本地转录。

功能

  • 列出语音备忘录 - 浏览所有语音备忘录及其元数据
  • 获取备忘录详情 - 检索特定录音的详细信息
  • 获取音频 - 访问音频文件路径或 Base64 编码的音频数据
  • 获取转录文本 - 从备忘录中提取转录文本(由 Apple 存储在音频文件中)
  • 转录备忘录 - 使用 Apple 的 SFSpeechRecognizer 生成转录文本

要求

  • macOS Sonoma(14.0)或更高版本(建议使用 Sequoia 以进行转录)
  • Node.js 18+
  • 完全磁盘访问权限(用于访问语音备忘录数据)
  • 语音备忘录应用必须至少打开过一次

安装

npm install -g apple-voice-memo-mcp

或直接使用 npx:

npx apple-voice-memo-mcp

配置

Claude Desktop

将以下内容添加到 Claude Desktop 配置文件:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "apple-voice-memo-mcp": {
      "command": "npx",
      "args": ["-y", "apple-voice-memo-mcp"]
    }
  }
}

编辑后,重启 Claude Desktop。

Claude Code(CLI)

对于 Claude Code,请将以下内容添加到项目的 .mcp.json 文件中:

{
  "mcpServers": {
    "apple-voice-memo-mcp": {
      "command": "npx",
      "args": ["-y", "apple-voice-memo-mcp"]
    }
  }
}

也可以添加到 ~/.claude/settings.json,以进行全用户配置:

{
  "mcpServers": {
    "apple-voice-memo-mcp": {
      "command": "npx",
      "args": ["-y", "apple-voice-memo-mcp"]
    }
  }
}

提示:在 Claude Code 中使用 /mcp,确认服务已连接。

本地开发设置

如果从源代码运行,而不是使用 npm:

{
  "mcpServers": {
    "apple-voice-memo-mcp": {
      "command": "node",
      "args": ["/path/to/apple-voice-memo-mcp/dist/index.js"]
    }
  }
}
权限
  1. 完全磁盘访问权限:读取语音备忘录数据库所必需

    • 前往“系统设置”>“隐私与安全性”>“完全磁盘访问权限”
    • 添加您的终端应用或 Claude Desktop
  2. 语音识别(用于转录):

    • 仅在使用 transcribe_memo 工具时需要
    • 首次使用时,系统会提示您授权

MCP 工具

list_voice_memos

列出所有语音备忘录及其元数据。

参数:

  • limit(可选):结果数量上限(1-100,默认值:50)
  • offset(可选):分页偏移量
  • search(可选):按标题筛选的搜索词

响应示例:

{
  "memos": [
    {
      "id": 1,
      "title": "Meeting Notes",
      "date": "2025-01-07T10:30:00.000Z",
      "duration": 120.5,
      "hasTranscript": true
    }
  ],
  "total": 15
}
get_voice_memo

获取特定备忘录的详细元数据。

参数:

  • id(必填):备忘录 ID
get_audio

获取音频文件。

参数:

  • id(必填):备忘录 ID
  • format(可选):"path" 或 "base64"(默认值:"path")
get_transcript

从备忘录中提取转录文本。

参数:

  • id(必填):备忘录 ID
  • format(可选):"text"、"json" 或 "timestamped"
transcribe_memo

使用 SFSpeechRecognizer 转录备忘录。

参数:

  • id(必填):备忘录 ID
  • language(可选):语言代码(默认值:"en-US")

工作原理

数据访问

语音备忘录数据存储在:

  • 数据库:~/Library/Group Containers/group.com.apple.VoiceMemos.shared/Recordings/CloudRecordings.db
  • 音频文件:同一目录下,格式为 .m4a
转录文本存储

Apple 使用名为 tsrp 的自定义 MPEG-4 atom,直接将转录文本存储在 .m4a 音频文件中。此 MCP 服务会解析这些 atom,以提取转录文本;不存在单独的转录文本文件。

开发

# Clone the repository
git clone https://github.com/jwulff/apple-voice-memo-mcp.git
cd apple-voice-memo-mcp

# Install dependencies
npm install

# Build
npm run build

# Run in development
npm run dev

# Test with MCP inspector
npm run inspector

故障排除

“未找到语音备忘录数据库”
  1. 确认您至少打开过一次语音备忘录应用
  2. 为您的终端或应用授予完全磁盘访问权限
  3. 检查语音备忘录是否已启用 iCloud 同步
“没有可用的转录文本”
  • 在 macOS Sequoia 或更高版本上,在语音备忘录应用中打开备忘录,以触发自动转录
  • 较早版本的 macOS 不支持自动转录
  • 使用 transcribe_memo 工具通过 SFSpeechRecognizer 生成转录文本
原生模块绑定错误

如果看到有关缺少 better_sqlite3.node 绑定的错误:

npm rebuild better-sqlite3

此命令会针对您当前的 Node.js 版本重新编译原生模块。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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