关于 macOS-only MCP server that exposes iMessage chat
imessage-mcp 是仅支持 macOS 的 MCP 服务,可读取 iMessage 历史记录,并按聊天导出到 Obsidian vault。它结合本地数据库搜索、语音备忘录转录,以及先起草再确认的发送流程,面向 Claude Code。
主要功能
- 01从 chat.db 读取 iMessage 历史
- 02搜索聊天、消息和联系人
- 03使用 Whisper local-cpp 转录语音备忘录
- 04按聊天导出历史到 Obsidian
- 05发送前先起草并确认
适用场景
- 01搜索过去的 iMessage 对话
- 02将聊天记录导出到 Obsidian vault
- 03查看消息及其语音备忘录转录
- 04起草 iMessage 并确认后发送
MCP 相关
作为 MCP 服务向 Claude Code 提供 iMessage 历史、搜索、导出和发送工具。发送操作分为起草与确认两个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
imessage-mcp
仅适用于 macOS 的 MCP 服务,可向 Claude 提供 iMessage 历史记录,并将每个聊天的对话导出到 Obsidian 知识库。采用 whatsapp-mcp 的模式:使用相同的钩子、相同的 launchd 执行频率和相同的知识库结构。
架构
- 直接读取
~/Library/Messages/chat.db(SQLite,以mode=ro&immutable=1模式打开)。无需桥接守护进程。 - 使用本地 Whisper local-cpp 转录语音备忘录(复用为 whatsapp-mcp 安装的模型)。
- 在
~/.claude/imessage-mcp/search.db中建立 FTS5 增量搜索索引。 - 将每个聊天导出到
🤖 AI Chats/iMessage/<Contact>.md,将群聊导出到🤖 AI Chats/iMessage/Groups/<Group>.md。 - 通过 AppleScript 发送消息,采用草稿 + 确认模式(不会自动发送)。
工具列表
读取: healthcheck、list_chats、list_messages、get_chat、search_contacts、search_messages、get_message_context、get_unread、get_thread、list_attachments、mark_chat_read、export_to_vault。
写入: send_message(创建 AppleScript 发送草稿)、confirm_send(确认发送)。
安装
打开 Claude Code 并粘贴:
/plugin marketplace add adelaidasofia/imessage-mcp
/plugin install imessage-mcp@imessage-mcp
然后向 Claude.app 授予“完全磁盘访问权限”(读取 chat.db 所必需),并重启 Claude Code。完整设置说明和环境变量见 SETUP.md。
旧版安装方式(手动注册 .mcp.json)
请参阅 SETUP.md。简要步骤:向 Claude.app 授予“完全磁盘访问权限”,运行 uv sync,在知识库的 .mcp.json 中注册,然后重启 Claude Code。
知识库导出结构
---
type: imessage-chat
contact: "Jane Doe"
phone: "+15555550123"
service: iMessage
chat_guid: "iMessage;-;+15555550123"
message_count: 412
first_message: 2024-08-12
last_message: 2026-05-06
last_sync: 2026-05-07
---
正文按日期分节,包含回应、编辑、回复、语音备忘录转录文本和附件的维基链接。
相关 MCP
同一作者,采用相同的架构模式(FastMCP,适用时写入操作采用草稿 + 确认,自动导出 vault,MIT):
- slack-mcp - 多工作区 Slack
- whatsapp-mcp - 通过 whatsmeow 使用 WhatsApp
- google-workspace-mcp - Gmail / Calendar / Drive / Docs / Sheets
- apollo-mcp - Apollo.io CRM + 序列
- substack-mcp - Substack 写作 + 分析
- luma-mcp - lu.ma 活动
- parse-mcp - markitdown / Docling / LlamaParse 路由器
- rescuetime-mcp - RescueTime 效率数据
- graph-query-mcp - vault 知识图谱查询
- investor-relations-mcp - 种子轮融资流程跟踪器
- vault-sync-mcp - 双向 vault 同步
遥测
此插件会在某台机器上首次于 Claude Code 会话中加载时,向 myceliumai.co 发送一条匿名安装信号。
发送的内容:
- 插件名称(例如
slack-mcp) - 插件版本(例如
0.1.0)
不会发送的内容:
- 不包含用户标识符、姓名、电子邮件、令牌或 API 密钥
- 不包含文件路径、消息内容或任何工作相关信息
- 去重处理后不存储 IP 地址
**原因:**帮助维护者了解大家实际安装了哪些插件,以便将精力投入到有人使用的插件上。
**退出方式:**在启动 Claude Code 前设置环境变量 MYCELIUM_NO_PING=1。钩子将完全跳过网络调用。已发送过信号的安装会在 ~/.mycelium/onboarded-<plugin> 留下一个哨兵文件——如果想重置状态,请将其删除。
许可证
MIT。
由 Adelaida Diaz-Roa 构建。完整安装版或团队版请访问 diazroa.com。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。