mattt/iMCP
A macOS app that provides an MCP server to your Messages, Contacts, Reminders and more
iMCP – 连接个人数据与 AI 工具的 macOS 桥梁
它是什么
- 一款原生 macOS 应用(附带捆绑的 CLI 服务器),通过 Model Context Protocol (MCP) 暴露你 Mac 上的数据和服务——日历、通讯录、信息、电话、语音信箱、提醒事项、天气、位置、HomeKit 等。
- 兼容 MCP 的 AI 客户端,如 Claude Desktop、Claude Code、Cursor 和 Amp,可以将这些服务作为 工具 调用,让 LLM 检索或操作你的个人信息,而无需手动粘贴。
主要功能
| 服务 | 你可以做什么 |
|---|---|
| 日历 | 列出、创建和修改事件(重复、提醒、可用性)。 |
| 通讯录 | 查询你自己的联系人卡片,或按姓名、电话或电子邮件搜索联系人。 |
| 家庭 | 发现 HomeKit 配件,读写特征,运行场景和自动化(需要单独构建并签名的辅助应用)。 |
| 位置 / 地图 | 获取当前 GPS,转换地址,搜索地点,请求路线、行程时间估算、静态地图图像。 |
| 信息 | 读取指定日期范围内某个参与者的消息历史。 |
| 电话 | 查看通话记录,按联系人/日期/类型筛选,发起通话(需 macOS 确认)。 |
| 语音信箱 | 检索同步的语音信箱,包含转录和音频,按发件人/邮箱筛选。 |
| 提醒事项 | 列出、创建、编辑、删除提醒事项并管理提醒列表。 |
| 快捷指令 | 列出并运行 macOS 快捷指令,可选传递文本输入。 |
| 天气 | 获取任意位置的当前温度、风速和天气状况。 |
工作原理
- MCP 服务器 – 应用捆绑了
imcp-server,这是一个通过标准 I/O 使用 MCP 协议的命令行可执行文件。 - 发现 – 应用和服务器通过 Bonjour 广播
_mcp._tcp服务,因此同一台 Mac 上的任何 MCP 客户端都能自动发现它们。 - 权限处理 – 当你启用某个服务时,macOS 会显示通常的权限对话框(例如 完全访问日历)。应用会存储授予的沙盒访问权限(如信息、通话记录、语音信箱等文件夹选择),并用它读取底层的 SQLite 数据库。
- 数据格式 – 工具结果以 JSON-LD 格式返回,使用 Schema.org 词汇表(例如,联系人变成
Person对象)。这使得输出易于 LLM 和其他软件消费。 - HomeKit 支持 – 由于 HomeKit 仅适用于 Mac Catalyst 应用,iMCP 附带一个单独的 iMCP Helper,你需要使用自己的 Apple 开发者账户构建并签名。主应用通过本地 TCP 端口与辅助应用通信。
安装
- 从 https://iMCP.app/download 下载签名应用(需要 macOS 15.3+),或通过 Homebrew 安装:
brew install --cask mattt/tap/iMCP - 应用会在菜单栏放置一个图标;切换蓝色开关以启动 MCP 服务器。
- 启用你需要的服务;每个服务都会提示相应的 macOS 权限。
- (可选)如果你想使用家庭自动化,构建 HomeKit 辅助应用:
git clone https://github.com/mattt/iMCP.git cd iMCP Scripts/install-helper.sh # 签名并安装辅助应用
连接 AI 客户端
- Claude Desktop – 打开设置 → 开发者 → 编辑配置,然后使用 iMCP 中的 配置 Claude Desktop 菜单项。这会将服务器条目写入
claude_desktop_config.json。重启 Claude 后,工具列表会显示一个锤子图标(🔨),包含 12 个 iMCP 工具。 - Claude Code、Cursor、Amp – 每个都提供 CLI 命令(
claude mcp add …、cursor …、amp mcp add …)来全局注册 iMCP 服务器。还提供了用于 Cursor 的深链接 URL。
调试与检查
- 本地网络权限 –
imcp-server需要 本地网络 隐私权限;请在系统设置 > 隐私与安全中启用。 - MCP Inspector – 运行
npx @modelcontextprotocol/inspector <server-command>打开一个 Web UI,显示客户端与 iMCP 之间的每个请求/响应。 - Companion – 一个 macOS 15+ 工具,用于交互式浏览服务器的提示、资源和工具。
适用人群
- 构建 AI 增强型 macOS 体验的开发者,他们需要一种安全、隐私优先的方式将个人数据暴露给 LLM。
- 希望 AI 助手(Claude、Cursor 等)回答诸如“我这里的天气怎么样?”或“安排下周二下午 3 点与 Alice 开会”之类的问题,而无需手动复制数据的重度用户。
- 对 Model Context Protocol 感兴趣的人;iMCP 也可作为参考实现,并附带 MCP 的官方 Swift SDK。
为什么重要
- 将个人数据保留在设备上;iMCP 本身从不存储或传输任何内容。AI 客户端决定发送什么。
- 提供统一的、类型化的接口(JSON-LD),许多 LLM 都能消费,减少了对自定义抓取或手动导出脚本的需求。
- 展示了如何将 macOS 系统服务安全地桥接到现代 AI 工具调用工作流中。
相关
- 项目
- 项目
- 项目
- 项目
- 项目