Mac Messages MCP
一个用于通过MCP(多上下文协议)与macOS Messages应用交互的Python桥接工具。

快速安装
对于Cursor用户
点击上方按钮自动将Mac Messages MCP添加到Cursor
对于Claude桌面用户
请参考下方的集成部分获取设置说明。
功能特性
- 通用消息发送:根据收件人可用性自动通过iMessage或SMS/RCS发送
- 智能回退:iMessage不可用时无缝回退至SMS(对Android用户完美适用)
- 消息读取:读取macOS Messages应用中的最近消息
- 联系人筛选:按特定联系人或电话号码筛选消息
- 模糊搜索:通过智能匹配搜索消息内容
- iMessage检测:发送前检查收件人是否支持iMessage
- 跨平台支持:同时支持iPhone/Mac用户(iMessage)和Android用户(SMS/RCS)
依赖条件
- macOS(测试版本:macOS 11及以上)
- Python 3.10+
- uv包管理器
安装uv
如果您使用Mac,请通过Homebrew安装uv:
brew install uv
否则,请参考uv官网的安装说明。
⚠️ 在安装uv之前不要继续操作
安装步骤
全盘访问权限
⚠️ 此应用程序需要您的终端或应用程序的全盘访问权限才能访问Messages数据库。
授予全盘访问权限的方法:
- 打开系统偏好设置/设置 > 安全性与隐私/隐私 > 全盘访问
- 点击锁形图标以进行更改
- 将您的终端应用(Terminal、iTerm2等)或Claude桌面/Cursor添加到列表中
- 授予权限后重启您的终端或应用程序
集成
Claude桌面集成
- 前往Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json
- 添加以下配置:
{
"mcpServers": {
"messages": {
"command": "uvx",
"args": [
"mac-messages-mcp"
]
}
}
}
Cursor集成
选项1:一键安装(推荐)
选项2:手动设置
前往Cursor设置 > MCP,并将以下命令粘贴为指令:
uvx mac-messages-mcp
⚠️ 仅在Cursor或Claude桌面中运行一个MCP服务器实例,不要同时运行两个
选项1:从PyPI安装
uv pip install mac-messages-mcp
选项2:从源代码安装
# 克隆仓库
git clone https://github.com/carterlasalle/mac_messages_mcp.git
cd mac_messages_mcp
# 安装依赖
uv install -e .
使用说明
智能消息发送
Mac Messages MCP自动处理跨平台的消息发送:
- iMessage用户(iPhone、iPad、Mac):通过iMessage发送消息
- Android用户:自动回退至SMS/RCS
- 混合群组:为每个收件人选择最佳发送方式
# 向iPhone用户发送消息 - 使用iMessage
send_message("+1234567890", "嘿!这将通过iMessage发送")
# 向Android用户发送消息 - 自动使用SMS
send_message("+1987654321", "嘿!这将通过SMS发送")
# 发送前检查iMessage可用性
check_imessage_availability("+1234567890") # 返回可用状态
作为模块使用
from mac_messages_mcp import get_recent_messages, send_message
# 获取最近消息
messages = get_recent_messages(hours=48)
print(messages)
# 发送消息(自动选择iMessage或SMS)
result = send_message(recipient="+1234567890", message="来自Mac Messages MCP的问候!")
print(result) # 显示是通过iMessage还是SMS发送
作为命令行工具
# 直接运行MCP服务器
mac-messages-mcp
开发指南
版本管理
本项目采用语义化版本管理。有关版本系统的详细说明以及如何发布新版本的说明,请参阅VERSIONING.md。
要更新版本:
python scripts/bump_version.py [patch|minor|major]
安全说明
此应用程序直接访问Messages数据库,其中包含个人通信内容。请负责任地使用并确保您拥有适当的权限。
许可证
MIT
贡献指南
欢迎贡献!请随时提交Pull Request。
