
iMessage MCP
io.github.0xroots由 GitHub 账号 0xroots 发布v0.2.1更新于 Nov 14, 2026
Read, search and send iMessage on macOS without Full Disk Access. Needs the iMessage MCP app.
概览
一款 macOS 应用兼本地 MCP 服务器,让助手无需完全磁盘访问权限即可列出、读取、搜索并发送 iMessage/SMS。
- 可以做什么
- 列出已授权的会话,并分页读取某个聊天中的消息
- 按方向与日期筛选搜索消息文本,并获取某日期之后的消息
- 读取附件的名称与类型,但不读取附件内容
- 在屏幕上确认收件人与完整内容后发送一条消息
- 适用场景
- 适合希望让 Mac 上的助手查阅自己的信息记录、找回过去的对话,或起草并发送短信,同时让数据留在本机并受你设定的时长与数量限制约束的场景。
- 运行要求
- 需要 macOS 13 或更高版本,并安装 iMessage MCP 应用(Homebrew cask、DMG,或用 Xcode 命令行工具从源码构建)。需在标准面板中授予应用对 Messages 文件夹的只读书签,并逐个批准连接的客户端。客户端以 stdio 服务器方式注册,指向应用的适配器与套接字路径;可选环境变量 IMESSAGE_MCP_APP 用于指定非默认的应用位置。
安装
在 SourceWeft 中
- 打开 控制台中的 iMessage MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
iMessage MCP: iMessage for AI tools, without Full Disk Access
iMessage MCP is a free, open-source macOS app and MCP server. It lets Claude Code, Codex or any MCP client read, search and send your Messages (iMessage/SMS) while your data stays on your Mac. It does not need Full Disk Access.
You pick your Messages folder once in a normal macOS panel. The app keeps a read-only bookmark to it inside the macOS sandbox, has no network access, and asks you to approve every connection and every message it sends.
- No Full Disk Access. Verified on macOS 27.0.1 with real messages. No system-wide permission is granted. Sending a message asks macOS once for permission to control Messages only.
- Your data stays safe. Sandboxed, read-only, no network entitlement. Text leaves your Mac only if the AI tool you connect sends it elsewhere, so each connection needs your approval and runs under limits you set.
- You are in control. Choose how long the bridge runs and how many messages can be read. A battery shows the time left. Stop with one click.
- Sending always asks. The exact recipient and full text are shown, and nothing is sent until you press Send this message.
- Works without AI too. Search and read your messages inside the app.
Install
Requires macOS 13 or later.
1. Install the app
Option A, download (signed and notarized by Apple, nothing to build):
or download the DMG from the latest release and drag iMessage MCP to Applications. The checksum is published next to the DMG.
Option B, build from source (needs Xcode command line tools; a free Apple Development certificate is enough):
Your identity and Team ID stay in your shell, never in the repository. The app and its adapter verify each other's code signature against that Team ID.
2. Connect your AI tool
The plugin adds the MCP server and a skill that teaches the assistant the safe way to use it. It needs the app from step 1. If you installed the app somewhere else, set IMESSAGE_MCP_APP to its path.
Use it
- Allow the Messages folder. Click Allow Messages folder and select
~/Library/Messages. Access is read-only. - Start the AI bridge and choose your limits.
- Connect a tool. Add the adapter to your MCP client (see docs/MCP_SETUP.md). The first time it connects, iMessage MCP asks you to approve it: Selected chat, All chats or Deny.
- Stop the bridge with one click, or wait for the timer (the battery) to run out. Everything is revoked immediately.
What a connected tool can do
Limits apply across every connection for the whole run. Some message bodies use formats that cannot be decoded yet; they are returned as unsupported and are never guessed.
Security model in one minute
- Read-only, app-scoped bookmark to the Messages folder; no Full Disk Access.
- No network entitlement. Message text leaves your Mac only if the tool you connect sends it elsewhere, which is why you approve each connection.
- The adapter and the app authenticate each other by code signature and Team ID.
- Sending uses a single Apple Event to Messages, needs a fresh confirmation each time, rejects repeated request IDs, and never retries on an unknown result.
Details, limits and the threat model: SECURITY.md.
Privacy
Everything runs on your Mac with no network code and no account. See PRIVACY.md.
FAQ
Does it need Full Disk Access? No. You choose the Messages folder in the standard file panel and the app gets a read-only, app-scoped bookmark.
Is my data sent anywhere? The app has no network entitlement. Message text leaves your Mac only if the AI tool you connect sends it elsewhere. That is why you approve each connection and set limits.
Can an AI tool send messages without asking me? No. Every message needs your confirmation in a window that shows the recipient and the full text.
Which AI tools work? Any client that supports stdio MCP servers, including Claude Code and Codex.
What does it not do? It does not read attachment contents, cannot decode every archived message body yet, and cannot confirm delivery of sent messages.
Development
Layout: Sources/App (interface), Sources/Bridge (local server, limits, approvals, sending), Sources/Reader (read-only SQLite reader and body decoder), Sources/Adapter (stdio MCP adapter), Tests.
Known limitations
- Some archived message bodies cannot be decoded and are marked unsupported.
- The request-ID journal holds 1,000 IDs and fails closed when full; there is no reset yet.
- Delivery of a sent message is not confirmed by the app; check Messages.
- Same-user processes can launch the adapter, so approve only requests you started.
License
MIT. See LICENSE.
来源:README.md,提交 80c87c0
工具
0版本历史
1- v0.2.1最新Nov 14, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分