返回市场
Mac消息MCP

Mac消息MCP

作者:carterlasalle184 星标更新:2025-09-09

项目介绍

Mac Messages MCP

使用MCP(多上下文协议)与macOS Messages应用程序进行交互的Python桥接工具。

PyPI 下载量

信任评分

一台带有文本的Mac电脑_FvvnmbaBTFeKy6F2GMlLqA_IfCBMgJARcia1WTH7FaqwA

在MseeP验证

<a href="https://glama.ai/mcp/servers/gxvaoc9znc"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=2328573757,299959279&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

快速安装

对于Cursor用户

安装MCP服务器

点击上方按钮以自动将Mac Messages MCP添加到Cursor

对于Claude Desktop用户

请参阅下方的集成部分获取设置说明。

功能

  • 通用消息发送:根据接收者可用性自动通过iMessage或短信/SMS/RCS发送
  • 智能回退:当iMessage不可用时无缝回退至短信(非常适合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数据库。

授予完整磁盘访问权限的方法如下:

  1. 打开系统偏好设置/设置 > 安全与隐私/隐私 > 完整磁盘访问
  2. 点击锁图标进行更改
  3. 将你的终端应用(如Terminal、iTerm2等)或Claude Desktop/Cursor添加到列表中
  4. 授予权限后重启你的终端或应用

集成

Claude Desktop集成

  1. 前往Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json
  2. 添加以下配置:
{
    "mcpServers": {
        "messages": {
            "command": "uvx",
            "args": [
                "mac-messages-mcp"
            ]
        }
    }
}

Cursor集成

方案1:一键安装(推荐)

安装MCP服务器

方案2:手动设置

前往Cursor设置 > MCP 并粘贴以下命令:

uvx mac-messages-mcp

⚠️ 只需运行一个MCP服务器实例(要么在Cursor上,要么在Claude Desktop上),不要同时运行两个

Docker容器集成

如果你需要从Docker容器连接到mac-messages-mcp,你需要使用mcp-proxy包来桥接基于stdio的服务器到HTTP。

设置说明

  1. 在你的macOS主机上安装mcp-proxy:
npm install -g mcp-proxy
  1. 启动代理服务器:
# 使用发布的版本
npx mcp-proxy uvx mac-messages-mcp --port 8000 --host 0.0.0.0

# 或使用本地开发(如果遇到问题)
npx mcp-proxy uv run python -m mac_messages_mcp.server --port 8000 --host 0.0.0.0
  1. 从Docker连接: 你的Docker容器现在可以连接到:
  • URL: http://host.docker.internal:8000/mcp(在macOS/Windows上)
  • URL: http://<host-ip>:8000/mcp(在Linux上)
  1. Docker Compose示例:
version: '3.8'
services:
  your-app:
    image: your-image
    environment:
      MCP_MESSAGES_URL: "http://host.docker.internal:8000/mcp"
    extra_hosts:
      - "host.docker.internal:host-gateway"  # 对于Linux主机
  1. 运行多个MCP服务器:
# 终端1 - 消息MCP在8001端口
npx mcp-proxy uvx mac-messages-mcp --port 8001 --host 0.0.0.0

# 终端2 - 另一个MCP服务器在8002端口
npx mcp-proxy uvx another-mcp-server --port 8002 --host 0.0.0.0

**注意:**绑定到0.0.0.0会将服务暴露给所有网络接口。在生产环境中,请考虑使用更严格的主机绑定并添加身份验证。

方案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
  • 混合群组:根据每个接收者选择最佳投递方式
# 发送到iPhone用户 - 使用iMessage
send_message("+1234567890", "嘿!这将通过iMessage发送")

# 发送到Android用户 - 自动使用短信
send_message("+1987654321", "嘿!这将通过短信发送") 

# 发送前检查投递方式
check_imessage_availability("+1234567890")  # 返回可用状态

作为模块

from mac_messages_mcp import get_recent_messages, send_message

# 获取最近的消息
messages = get_recent_messages(hours=48)
print(messages)

# 发送消息(自动选择iMessage或短信)
result = send_message(recipient="+1234567890", message="来自Mac Messages MCP的问候!")
print(result)  # 显示是通过iMessage还是短信发送

作为命令行工具

# 直接运行MCP服务器
mac-messages-mcp

开发

版本控制

此项目使用语义化版本控制。详情请参阅VERSIONING.md,了解版本控制系统的工作原理及如何发布新版本。

要更新版本:

python scripts/bump_version.py [patch|minor|major]

安全注意事项

此应用直接访问包含个人通信的Messages数据库。请负责任地使用,并确保您拥有适当的权限。

MseeP.ai 安全评估徽章

许可证

MIT

贡献

欢迎贡献!请随时提交Pull Request。

Star历史

Star历史图表