使用说明
iMessage MCP服务器
用于Claude Desktop的MCP服务器,可读取iMessages、SMS和RCS消息,包括与Android用户的混合群聊。
为什么存在
其他iMessage MCP连接器无法读取:
- RCS消息 (较新的Android到iPhone消息)
- 与Android用户进行群聊 (短信/彩信组)
- 消息存储在
attributedBody而不是纯文本
此服务器通过以下方式处理所有这些:
- 查询短信、RCS和iMessage对话
- 解码二进制
attributedBodyblobs用于提取消息文本 - 合并混合协议组中出现的重复聊天ID
特性
- 列出所有对话(iMessage、SMS、RCS)
- 按联系人姓名、电话号码或组名搜索
- 读取任何对话类型的消息
- 获取所有聊天记录中的最新消息
- 正确处理iPhone/Android混合群聊
安装
git clone https://github.com/DavidGreigQC/imessage-mcp-server.git
cd imessage-mcp-server
npm install
使用Claude Desktop进行设置
-
打开克劳德桌面配置:
~/Library/Application Support/Claude/claude_desktop_config.json -
添加服务器:
{ "mcpServers": { "imessage": { "command": "node", "args": ["/path/to/imessage-mcp-server/src/index.js"] } } } -
授予对Claude Desktop的全磁盘访问权限:
- 系统设置>隐私和安全>全磁盘访问
- 添加克劳德桌面
-
重新启动克劳德桌面
使用示例
配置后,您可以向Claude询问以下问题:
- “列出我最近的对话”
- “搜索来自约翰的消息”
- “读取工作组聊天中的消息”
- “显示过去24小时的消息”
可用工具
| 工具 | 说明 |
|---|---|
list_conversations |
列出所有上次活动时间的对话 |
search_conversations |
按姓名、电话或组名搜索 |
read_messages |
阅读特定对话中的消息 |
get_recent_messages |
获取所有聊天记录中的最新消息 |
需求
- macOS(在Sonoma/Sequoia上测试)
- Node.js 18+
- 带全磁盘访问的Claude桌面
- 带有消息历史记录的消息应用程序
运作原理
服务器直接从macOS消息数据库读取(~/Library/Messages/chat.db).对于RCS和一些iMessage对话,消息文本存储在二进制文件中 attributedBody 字段而不是纯文本-此服务器对二进制格式进行解码以提取实际的消息内容。
许可证
麻省理工学院