使用说明
iMCP base是一款macOS应用程序,用于将您的数字生活与人工智能连接起来。 它与[Claude Desktop][Claude应用程序]配合使用 以及支持 [模型上下文协议(MCP)][MCP]。
能力
| Calendar | View and manage calendar events, including creating new events with customizable settings like recurrence, alarms, and availability status. | |
| Contacts | Access contact information about yourself and search your contacts by name, phone number, or email address. | |
| Location | Access current location data and convert between addresses and geographic coordinates. | |
| Maps | Provides location services including place search, directions, points of interest lookup, travel time estimation, and static map image generation. | |
| Messages | Access message history with specific participants within customizable date ranges. | |
| Reminders | View and create reminders with customizable due dates, priorities, and alerts across different reminder lists. | |
| Weather | Access current weather conditions including temperature, wind speed, and weather conditions for any location. |
入门指南
下载并打开应用程序
第一, 下载iMCP基础应用程序 (需要macOS 15.3或更高版本)。
当你打开应用程序时, 你会看到一个 菜单栏中的图标。
点击此图标显示iMCP基本菜单, 其显示所有可用服务。 最初所有服务将以灰色显示, 表明它们处于非活动状态。
顶部的蓝色切换开关表示MCP服务器正在运行 并准备好与MCP兼容的客户端连接。
激活服务
要激活服务,请单击其图标。
系统将提示您一个权限对话框。
例如,激活日历访问时,您将看到一个对话框,询问 "iMCP-base" Would Like Full Access to Your Calendar.
点击 允许完全访问 继续。
[!重要] iMCP基础 不 收集或存储您的任何数据。 像Claude Desktop这样的客户 做 发送 作为工具调用的一部分,将您的数据从设备上移除。
一旦激活, 每个服务图标都从灰色变成了独特的颜色-- 红色表示日历,绿色表示消息,蓝色表示位置,以此类推。
对您要启用的所有功能重复此过程。 这些权限遵循苹果的标准安全模型, 让您完全控制iMCP库可以访问哪些信息。
连接到克劳德桌面
如果您没有安装Claude Desktop, 你可以 在这里下载.
打开克劳德桌面并转到“设置(⌘,)".
点击“设置”窗格侧边栏中的“开发人员”,
然后单击“编辑配置”。
这将在以下位置创建一个配置文件
~/Library/Application Support/Claude/claude_desktop_config.json.
为了将iMCP基座连接到Claude Desktop, 点击 >“配置克劳德桌面”。
这将添加或更新MCP服务器配置以使用
imcp-server 可执行文件捆绑在应用程序中。
文件中的其他MCP服务器配置将被保留。
You can also configure Claude Desktop manually
点击
>“将服务器命令复制到剪贴板”。
然后打开 claude_desktop_config.json 在你的编辑器中
并输入以下内容:
{
"mcpServers": {
"iMCP-base": {
"command": "{paste iMCP-base server command}"
}
}
}
从Claude Desktop调用iMCP基础工具
退出并重新打开Claude Desktop应用程序。 系统将提示您批准连接。
在批准连接之后, 你现在应该看到了🔨12在聊天框的右下角。 点击此处查看克劳德可用的所有工具列表 iMCP基地。
现在,您可以向Claude提出需要访问您的个人数据的问题, 例如:
“我所在的地方天气怎么样?”
Claude将使用适当的工具来检索此信息, 为您提供准确、个性化的回复 无需在对话过程中手动共享此数据。
技术细节
应用程序和CLI
iMCP base是一个macOS应用程序,它捆绑了一个命令行可执行文件, imcp-server.
iMCP-base.app提供用于配置服务的UI,最重要的是-- 与macOS系统权限交互的一种方式, 以便它可以访问联系人、日历和其他信息。imcp-server提供了一个MCP服务器 使用标准输入/输出进行通信 ([stdio传输][mcp传输])。
应用程序和CLI在本地网络上相互通信
使用[Bonjour][Bonjour]进行自动发现。
两者都用“_mcp._tcp”类型和“local”域来宣传服务。
来自MCP客户端的请求由CLI从以下位置读取 stdin
并转发到应用程序;
CLI接收来自应用程序的响应,并将其写入 stdout.
对于这个项目,我们创建了 【官方Swift SDK】【Swift SDK】 用于模型上下文协议服务器和客户端。 该应用程序使用此包来处理来自MCP客户端的代理请求。
iMessage数据库访问
Apple不提供用于访问您的消息的公共API。
但是,macOS上的Messages应用程序将数据存储在SQLite数据库中,该数据库位于
~/Library/Messages/chat.db.
iMCP库在[App Sandbox][App Sandbox]中运行,
这限制了其对用户数据和系统资源的访问。
当您启动“消息”服务时,
系统将提示您打开 chat.db 通过标准文件选择器创建文件。
当你这样做时,macOS会将该文件添加到应用程序的沙盒中。
[NSOpenPanel][nsopenpanel]就是这样神奇。
但打开iMessage数据库只是成功的一半。
在过去的几年里,
苹果已经不再以纯文本形式存储信息
而是转向专有 typedstream 格式。
对于这个项目,我们创建了[马德里][马德里]:
一个用于读取iMessage数据库的Swift包。
它包括一个Swift实现,用于解码苹果的 typedstream 格式,
改编自Christopher Sardegna的[即时消息出口商]项目
以及[关于逆向工程的博客文章 typedstream][键入流博客文章]。
JSON-LD用于工具结果
iMCP提供的工具基本返回结果为
[JSON-LD][JSON-LD]文档。
例如,
这 fetchContacts 该工具使用[联系人框架][联系人框架],
代表个人和组织[CNContact][ccontact]类型。
[Schema.org][Schema.org]为以下内容提供了标准词汇表 人、邮政地址、事件以及我们想要表示的许多其他对象。 JSON-LD是一种方便的编码格式 人类、人工智能和传统软件。
对于这个项目,我们创建了[本体][本体]: 一个用于处理结构化数据的Swift包。 它包括来自Apple框架的类型的便利初始化器, 例如iMCP基础工具返回的那些。
调试
使用MCP检查器
为了调试iMCP库和客户端之间的交互, 您可以使用 检查员工具 (需要Node.js):
-
点击 >“将服务器命令复制到剪贴板”
-
打开终端并运行以下命令:
# Download and run inspector package on imcp-server npx @modelcontextprotocol/inspector [paste-copied-command] # Open inspector web app running locally open http://127.0.0.1:6274
Inspector允许您查看客户端和iMCP基础服务器之间的所有请求和响应, 这有助于理解协议是如何工作的。
使用伴侣
〔Companion〕〔Companion〕是一个用于测试和调试MCP服务器的实用程序 (需要macOS 15或更高版本)。 它为您提供了一种简单的浏览和交互方式 服务器的提示、资源和工具。 以下是如何将其连接到iMCP基座:
- 点击 >“将服务器命令复制到剪贴板”
- [下载][配套下载]并打开配套应用程序
- 点击 + 工具栏中的按钮,用于添加MCP服务器
- 填写表格:
- 输入“iMCP base”作为名称
- 选择“STDIO”作为传输方式
- 粘贴复制的iMCP基本服务器命令
- 点击“添加服务器”
许可证
该项目在MIT许可下可用。 有关更多信息,请参阅LICENSE文件。
