Integrations
Provides access to macOS system services including Calendar (view/manage events), Contacts (access/search contact information), Reminders (view/create tasks), Maps (search locations, get directions), and Weather (access conditions for locations).
Enables access to message history from the Messages app, allowing retrieval of conversations with specific participants within customizable date ranges.
Integrates with macOS system capabilities including Calendar, Contacts, Location services, Reminders, and Weather data to provide AI access to personal information on the device.
iMCP 是一款 macOS 应用,旨在将您的数字生活与 AI 连接起来。它可与Claude Desktop以及越来越多支持模型上下文协议 (MCP)的客户端兼容。
功能
提示:对新功能有什么建议?请通过imcp@loopwork.com联系我们。
入门
下载并打开应用程序
首先,下载 iMCP 应用程序(需要 macOS 15.3 或更高版本)。
当您打开应用程序时,您会在菜单栏中看到一个图标。
点击此图标会显示 iMCP 菜单,其中显示所有可用的服务。初始状态下,所有服务均显示为灰色,表示未启用。
顶部的蓝色拨动开关表示 MCP 服务器正在运行并准备好与 MCP 兼容的客户端连接。
激活服务
要激活服务,请点击其图标。系统将弹出一个权限对话框。例如,激活日历访问权限时,您会看到一个对话框,询问"iMCP" Would Like Full Access to Your Calendar
。点击“允许完全访问”即可继续。
重要提示:iMCP不会收集或存储您的任何数据。像 Claude Desktop 这样的客户端会在工具调用过程中将您的数据发送到设备外。
一旦激活,每个服务图标就会从灰色变成其独特的颜色 - 红色代表日历,绿色代表消息,蓝色代表位置,等等。
对所有要启用的功能重复此过程。这些权限遵循 Apple 的标准安全模型,让您可以完全控制 iMCP 可以访问的信息。
连接到 Claude Desktop
如果您尚未安装 Claude Desktop,您可以在此处下载。
打开 Claude Desktop,前往“设置... (⌘,)”。点击“设置”面板侧边栏中的“开发者”,然后点击“编辑配置”。这将在~/Library/Application Support/Claude/claude_desktop_config.json
创建一个配置文件。
要将 iMCP 连接到 Claude Desktop,请单击 > “配置 Claude Desktop”。
这将添加或更新 MCP 服务器配置,以使用应用程序捆绑的imcp-server
可执行文件。文件中的其他 MCP 服务器配置将被保留。
点击 > “将服务器命令复制到剪贴板”。然后在编辑器中打开claude_desktop_config.json
并输入以下内容:
从 Claude Desktop 调用 iMCP 工具
退出并重新打开 Claude Desktop 应用程序。系统将提示您批准连接。
[!NOTE] 您可能会看到两次此对话框;两次都请单击“批准”。
批准连接后,您应该会在聊天框右下角看到🔨12。点击该按钮即可查看 iMCP 为 Claude 提供的所有工具列表。
现在,您可以向 Claude 询问需要访问您的个人数据的问题,例如:
“我那里的天气怎么样?”
Claude 将使用适当的工具来检索这些信息,为您提供准确、个性化的回应,而无需您在对话期间手动共享这些数据。
技术细节
应用程序和命令行界面
iMCP 是一个 macOS 应用程序,捆绑了命令行可执行文件imcp-server
。
iMCP.app
提供了用于配置服务的 UI,最重要的是,它提供了一种与 macOS 系统权限交互的方式,以便它可以访问联系人、日历和其他信息。imcp-server
提供了一个使用标准输入/输出进行通信( stdio transport )的 MCP 服务器。
应用程序和 CLI 使用Bonjour在本地网络上进行通信,以实现自动发现。两者都使用类型“_mcp._tcp”和域名“local”来发布服务。CLI 从stdin
读取 MCP 客户端的请求并转发到应用程序;CLI 接收应用程序的响应并将其写入stdout
。有关实现细节,请参阅StdioProxy
。
针对此项目,我们创建了mcp-swift-sdk :一个用于模型上下文协议服务器和客户端的 Swift SDK。该应用使用此包来处理来自 MCP 客户端的代理请求。
iMessage 数据库访问
Apple 没有提供用于访问您的信息的公共 API。但是,macOS 上的“信息”应用会将数据存储在位于~/Library/Messages/chat.db
SQLite 数据库中。
iMCP 在应用沙盒 (App Sandbox)中运行,这限制了它对用户数据和系统资源的访问。当您启用消息服务时,系统会提示您通过标准文件选择器打开chat.db
文件。打开后,macOS 会将该文件添加到应用的沙NSOpenPanel
中。NSOpenPanel 就是这样神奇的。
但开放 iMessage 数据库只是成功的一半。过去几年,苹果已经不再以纯文本形式存储消息,而是转向了专有的typedstream
格式。
为了这个项目,我们创建了Madrid :一个用于读取 iMessage 数据库的 Swift 包。它包含一个用于解码 Apple 的typedstream
格式的 Swift 实现,改编自 Christopher Sardegna 的imessage-exporter项目和一篇关于对typedstream
进行逆向工程的博客文章。
工具结果的 JSON-LD
iMCP 提供的工具以JSON-LD文档的形式返回结果。例如, fetchContacts
工具使用Contacts 框架,该框架以CNContact
类型表示人员和组织。以下是该类型的对象如何编码为 JSON-LD:
Schema.org为人物、邮政地址、事件以及我们想要表示的许多其他对象提供了标准词汇。JSON-LD 是一种方便人类、人工智能以及传统软件使用的编码格式。
为了这个项目,我们创建了Ontology :一个用于处理结构化数据的 Swift 包。它包含 Apple 框架类型的便捷初始化器,例如 iMCP 工具返回的类型。
致谢
- Justin Spahr-Summers ( @jspahrsummers )、David Soria Parra ( @dsp-ant ) 和 Ashwin Bhat ( @ashwin-ant ) 在 MCP 上所做的工作。
- Christopher Sardegna ( @ReagentX )对 Messages 应用程序使用的
typedstream
格式进行了逆向工程。
执照
该项目采用 Apache 许可证 2.0 版授权。
合法的
iMessage® 是 Apple Inc. 的注册商标。
该项目与 Apple Inc. 没有任何关联,也未得到其认可或赞助。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
一款 macOS 应用,可为您的信息、联系人等提供 MCP 服务器
Related MCP Servers
- -securityFlicense-qualityAn MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.Last updated -116JavaScript
- AsecurityAlicenseAqualityA simple MCP server that can send notifications on mac devices.Last updated -598TypeScriptMIT License
- AsecurityFlicenseAqualityA simple MCP server that enables users to send emails using Resend's API, integrating with tools like Cursor and Claude Desktop for seamless email composition and delivery.Last updated -128321TypeScript
- -securityAlicense-qualityMCP server that integrates with Gmail to enable sending, reading, and managing emails through tools like send-email, trash-email, get-unread-emails, and read-email.Last updated -17PythonGPL 3.0