关于 apple-voice-memo-mcp
apple-voice-memo-mcp 是 macOS 上访问 Apple Voice Memos 录音的 MCP 服务,供 AI 助手读取录音信息、音频和转录文本。它既能提取录音中已有的转录,也可用 Apple SFSpeechRecognizer 生成转录。
主要功能
- 01列出录音及其元数据
- 02获取录音详细信息
- 03以路径或 Base64 获取音频
- 04提取录音内已有转录
- 05使用 SFSpeechRecognizer 转录
适用场景
- 01浏览并筛选语音备忘录
- 02将录音音频交给其他处理流程
- 03提取录音已有的转录文本
- 04为尚无转录的录音生成文本
MCP 相关
该 MCP 服务向 MCP 客户端提供 Apple Voice Memos 的录音列表、详情、音频和转录工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 要返回的备忘录最大数量(1-100,默认值:50) |
| offset | number | 否 | 分页时跳过的备忘录数量(默认值:0) |
| search | string | 否 | 按标题或自定义标签筛选备忘录的搜索词 |
详细介绍
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"]
}
}
}
权限
-
完全磁盘访问权限:读取语音备忘录数据库所必需
- 前往“系统设置”>“隐私与安全性”>“完全磁盘访问权限”
- 添加您的终端应用或 Claude Desktop
-
语音识别(用于转录):
- 仅在使用
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(必填):备忘录 IDformat(可选):"path" 或 "base64"(默认值:"path")
get_transcript
从备忘录中提取转录文本。
参数:
id(必填):备忘录 IDformat(可选):"text"、"json" 或 "timestamped"
transcribe_memo
使用 SFSpeechRecognizer 转录备忘录。
参数:
id(必填):备忘录 IDlanguage(可选):语言代码(默认值:"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
故障排除
“未找到语音备忘录数据库”
- 确认您至少打开过一次语音备忘录应用
- 为您的终端或应用授予完全磁盘访问权限
- 检查语音备忘录是否已启用 iCloud 同步
“没有可用的转录文本”
- 在 macOS Sequoia 或更高版本上,在语音备忘录应用中打开备忘录,以触发自动转录
- 较早版本的 macOS 不支持自动转录
- 使用
transcribe_memo工具通过 SFSpeechRecognizer 生成转录文本
原生模块绑定错误
如果看到有关缺少 better_sqlite3.node 绑定的错误:
npm rebuild better-sqlite3
此命令会针对您当前的 Node.js 版本重新编译原生模块。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。