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 快捷指令,可选传递文本输入。
天气 获取任意位置的当前温度、风速和天气状况。

工作原理

  1. MCP 服务器 – 应用捆绑了 imcp-server,这是一个通过标准 I/O 使用 MCP 协议的命令行可执行文件。
  2. 发现 – 应用和服务器通过 Bonjour 广播 _mcp._tcp 服务,因此同一台 Mac 上的任何 MCP 客户端都能自动发现它们。
  3. 权限处理 – 当你启用某个服务时,macOS 会显示通常的权限对话框(例如 完全访问日历)。应用会存储授予的沙盒访问权限(如信息、通话记录、语音信箱等的文件夹选择),并用它读取底层的 SQLite 数据库。
  4. 数据格式 – 工具结果以 JSON-LD 格式返回,使用 Schema.org 词汇表(例如,联系人变成 Person 对象)。这使得输出易于 LLM 和其他软件消费。
  5. HomeKit 支持 – 由于 HomeKit 仅适用于 Mac Catalyst 应用,iMCP 附带一个单独的 iMCP Helper,你需要使用自己的 Apple Developer 账户构建并签名。主应用通过本地 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 中的 Configure 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> 打开一个网页界面,显示客户端与 iMCP 之间的每个请求/响应。
  • Companion – 一个 macOS 15+ 实用工具,用于交互式浏览服务器的提示、资源和工具。

适用人群

  • 正在构建 AI 增强型 macOS 体验的开发者,需要一种安全、隐私优先的方式将个人数据暴露给 LLM。
  • 希望 AI 助手(Claude、Cursor 等)回答诸如“我这里的天气怎么样?”或“安排下周二下午 3 点与 Alice 开会”之类的问题,而无需手动复制数据的进阶用户。
  • 对 Model Context Protocol 感兴趣的人;iMCP 也作为参考实现,并附带官方 Swift SDK for MCP。

为什么重要

  • 将你的个人数据保留在设备上;iMCP 本身从不存储或传输任何内容。AI 客户端决定发送什么。
  • 提供统一的、类型化的接口(JSON-LD),许多 LLM 都可以使用,减少了对自定义抓取或手动导出脚本的需求。
  • 展示了如何将 macOS 系统服务安全地桥接到现代 AI 工具调用工作流中。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト