mcpField
A
Apple Messages

Apple Messages

本地服务
github.com通信协作322 天前更新

关于 Apple Messages

Apple Messages 是面向 macOS 的 MCP 服务,可访问消息历史记录,并通过 Messages.app 发送或回复消息。它适用于专注于 Messages 的工作流,并将历史记录访问与消息自动化的权限分开处理。

主要功能

  1. 01分页列出对话
  2. 02搜索消息并查看附件元数据
  3. 03发送和回复消息
  4. 04提供未读及最近对话资源
  5. 05权限检查与恢复指南
  6. 06面向受限客户端的工具发现

适用场景

  1. 01查看 macOS 上的消息历史记录
  2. 02搜索多个对话中的消息
  3. 03通过 Messages.app 发送或回复消息

MCP 相关

它向 MCP 客户端提供 Messages 历史记录、搜索、对话和发送功能。默认使用 stdio,也支持 Streamable HTTP。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
pypiapple-messages-mcp1.1.4
mcpbapple-messages-1.1.4.mcpb1.1.4

工具

15

收录的工具列表 · 更新于 1 天前

此工具无需参数。

详细介绍

Apple Messages MCP

用于 macOS 上 Apple Messages 的 MCP 服务。

可通过 Messages.app 访问消息历史记录、搜索对话并发送消息。查看历史记录需要“完全磁盘访问权限”,发送消息需要“自动化”访问权限。

适用场景

  • 仅使用 Messages 的工作流
  • 无需使用一体化服务即可查看消息历史记录和发送消息
  • 按应用更严格地隔离权限

功能

  • 分页列出对话
  • 搜索消息并查看附件元数据
  • 发送和回复消息
  • 为受上下文限制的客户端提供工具发现辅助功能 search_tools 和 get_tool_info
  • 未读和最近对话资源
  • 区分历史记录访问故障与自动化故障的运行状况检查
  • 权限恢复:messages_permission_guide、messages_recheck_permissions

在此 Mac 上安装

快速开始(uvx,从 PyPI 安装)

安装好 uv 后:

uvx apple-messages-mcp

无需克隆,也无需管理虚拟环境。

从克隆的仓库安装
git clone https://github.com/JonathanRReed/Apple-MCPs.git
cd Apple-MCPs
uv sync --all-packages

这会构建一个工作区环境,其中包含每个服务的入口点,位于 .venv/bin 中(例如 .venv/bin/apple-messages-mcp)。你也可以将 AppleMessages-MCP/start.sh 指定给 MCP 客户端;该脚本优先使用 uv run,若不可用则回退到普通的 venv 引导方式(需要 Python 3.11 或更高版本)。

在 AI Agent 中安装

通用 MCP 客户端配置
{
  "mcpServers": {
    "apple-messages": {
      "command": "uvx",
      "args": ["apple-messages-mcp"],
      "env": {
        "APPLE_MESSAGES_MCP_SAFETY_MODE": "full_access"
      }
    }
  }
}

如果是从克隆的仓库运行,请将 /path/to/Apple-MCPs/AppleMessages-MCP/start.sh 用作命令,并将 args 留空。

Claude Code 示例
claude mcp add --transport stdio --scope user apple-messages -- uvx apple-messages-mcp

--scope user 会使该服务在每个项目中都可用。若要通过仓库中的 .mcp.json 仅与该仓库共享,请使用 --scope project。

传输方式

stdio 是默认且推荐的传输方式。设置 APPLE_MESSAGES_MCP_TRANSPORT=streamable-http(可选设置 APPLE_MESSAGES_MCP_HOST 和 APPLE_MESSAGES_MCP_PORT)即可改用 Streamable HTTP 服务。

macOS 权限

  • 发送和回复消息需要 Messages 的“自动化”访问权限
  • 从 ~/Library/Messages/chat.db 读取历史记录、搜索消息和获取附件元数据需要“完全磁盘访问权限”
  • messages_health 通过 NSRunningApplication 检查运行状态,不会发送 Apple Events,也不会请求“自动化”访问权限。Messages 已关闭时,会报告 automation_access_status: "not_probed";Messages 正在运行时,会报告 "unknown"。这两种情况都不表示权限遭到拒绝。
  • 未验证授权时,现有的 automation_access 和发送能力布尔值均为 false。用户已授权操作时,明确调用的发送工具仍可使用。automation_access_status 和 automation_access_error_code 可区分跳过检查、授权状态未知、权限被拒绝和命令执行失败。明确调用发送或回复仍会检查授权,并可能打开 Messages 或显示 macOS 权限提示。
  • 诊断子进程的超时时间为 5 秒。明确调用自动化操作的超时时间为 30 秒;发送超时后,重试前请先检查消息是否已送达。

启动清单

  • 将 uvx apple-messages-mcp(或克隆仓库中的 AppleMessages-MCP/start.sh)添加到 MCP 客户端
  • 重新加载或重新连接客户端,以便将 Messages 工具集加载到上下文中
  • 首先调用 messages_health
  • 如果任一权限未开放,请调用 messages_permission_guide
  • 更改 macOS 权限后,请调用 messages_recheck_permissions

提示词说明

  • tools/list 会返回完整的 Messages 工具集。上下文受限的客户端可以先使用 search_tools,再使用 get_tool_info 获取所需的 Messages 工具信息。
  • 如果用户提到某个人,发送或回复前请先通过 Contacts 确认收件人。
  • 如果 Contacts 返回多个匹配结果,请确认用户指的是哪一位。
  • messages_send_message、messages_send_attachment 和 messages_reply_in_conversation 可选接受 service_name 参数,值为 iMessage、SMS 或 RCS。不指定时,新消息会通过 iMessage 发送,一对一回复则使用会话中最新消息的服务类型:SMS 会话继续使用 SMS,RCS 会话使用 RCS,若不可用则回退到 SMS。系统会选择该服务类型下第一个已启用的 Messages 账户。SMS 和 RCS 通过配对的 iPhone 发送,且需要为这台 Mac 开启“短信转发”。如果没有匹配的账户,这些工具会返回 SERVICE_UNAVAILABLE,而不会发送消息;因此,在未开启“短信转发”的 Mac 上回复 SMS 会话会失败,除非你重试时将 service_name 设为 iMessage,或开启“短信转发”。RCS 需要 macOS 15 或更高版本;在较旧的 macOS 上,RCS 会话会回退到 SMS。群组回复始终使用群组现有的服务类型,如果指定了不同的 service_name,则会被拒绝并返回 INVALID_INPUT。响应中的 service_name 表示实际使用的服务类型。

相关内容

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。