mattt/iMCP
A macOS app that provides an MCP server to your Messages, Contacts, Reminders and more
iMCP – 您的个人数据与 AI 工具之间的 macOS 桥梁
这是什么 – iMCP 是一款原生 macOS 应用程序(内置 imcp‑server 命令行工具),实现了 Model Context Protocol (MCP)。它公开了一组“工具” – 日历、联系人、位置、地图、信息、提醒事项、天气 – 可由兼容 MCP 的 AI 客户端调用,例如 Claude Desktop、Claude Code、Cursor 和 Amp。AI 可以请求例如“我所在位置的天气如何?”,iMCP 将从操作系统获取数据,并以结构化的 JSON‑LD 格式返回。
核心功能
| 服务 | 您可以做什么 |
|---|---|
| Calendar | 列出事件、创建新事件(重复、闹钟、可用性)。 |
| Contacts | 读取您自己的联系人名片,并按姓名、电话或电子邮件搜索联系人。 |
| Location | 获取当前地理坐标,或将地址与坐标互相转换。 |
| Maps | 搜索地点、获取路线、查询景点、估计旅行时间、生成静态地图图像。 |
| Messages | 检索指定参与者在特定日期范围内的信息历史记录。 |
| Reminders | 列出提醒事项,并创建具有截止日期、优先级和提醒的新提醒事项。 |
| Weather | 获取任何位置当前的温度、风速和天气状况。 |
工作原理
- MCP 服务器 – 内置的
imcp‑server作为本地 TCP 服务运行(通过 Bonjour 的_mcp._tcp)。它通过 stdio 传输 (stdin/stdout) 与 AI 客户端通信,并将请求转发给 GUI 应用程序。 - 权限处理 – macOS 应用程序会在您第一次启用服务时要求标准系统权限(日历、联系人等)。iMCP 本身不存储或发送任何数据;只有您连接的 AI 客户端(例如 Claude)可以传输数据。
- 工具响应 – 每个工具都返回使用 schema.org 词汇的 JSON‑LD 文档(例如,联系人使用
Person对象)。这种格式易于人类和 LLM 使用。 - 客户端集成 – 安装 iMCP 后,将其添加到客户端:
- Claude Desktop – 使用 Configure Claude Desktop 菜单项,或将服务器命令复制到
claude_desktop_config.json。 - Claude Code –
claude mcp add --scope user iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server。 - Cursor – 点击提供的深层链接,它会自动安装服务器命令。
- Amp –
amp mcp add iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server。
- Claude Desktop – 使用 Configure Claude Desktop 菜单项,或将服务器命令复制到
- 调试 – 项目附带 MCP Inspector (Node.js) 和 macOS Companion 应用程序,以查看请求/响应流并测试服务器。
开始使用(快速步骤)
- 安装 –
brew install --cask mattt/tap/iMCP或从 https://iMCP.app/download 下载(需要 macOS 15.3+)。 - 启动 – 菜单栏中会出现一个图标;切换蓝色开关以启动 MCP 服务器。
- 启用服务 – 点击服务图标,授予 macOS 权限对话框,图标就会更改颜色(红色 = 日历,绿色 = 信息等)。
- 连接客户端 – 遵循上述特定客户端的说明;在客户端批准连接后,您会在聊天 UI 中看到一个锤子 (🔨) 图标,表示工具可用。
- 询问 AI – 提出需要个人数据的自然语言请求;AI 将调用适当的 iMCP 工具并返回结果。
技术亮点
- Swift SDK – iMCP 使用 Model Context Protocol 的官方 Swift SDK (https://github.com/modelcontextprotocol/swift-sdk)。
- 信息数据库访问 – 通过自定义 Madrid Swift 包从
~/Library/Messages/chat.db读取 macOS 信息,该包能解码 Apple 专有的typedstream格式。 - JSON‑LD 本体 – Ontology Swift 包提供帮助程序,将 Apple 框架对象(例如
CNContact)编码为 schema.org JSON‑LD。 - 本地发现 – Bonjour 广播让任何兼容 MCP 的客户端都能找到服务器,无需手动配置。
谁可能会使用它?
- 高级用户,希望他们的 LLM 助手能对真实的个人数据采取行动(安排会议、获取最新信息、查看天气),而无需手动复制信息。
- 开发者,正在构建新的 MCP 客户端或自定义工具 – iMCP 可作为参考实现和现成的数据源。
- 注重隐私的用户 – iMCP 本身绝不存储或传输数据;所有数据流都通过 macOS 权限由用户控制。
许可与法律
- MIT 许可证。
- 不隶属于 Apple;iMessage® 是 Apple Inc. 的商标。
总结: iMCP 是一个真正可用于生产环境的 macOS 桥梁,让现代 AI 助手能够通过标准协议安全地在本地查询您的个人 macOS 数据,使 AI 驱动的个人生产力成为可能,同时兼顾隐私。
相关
- 项目
- 项目
- 项目
- 项目