article
README
🚀 iMessage MCP 服务器
一款借助 AppleScript 来发送 iMessage 并管理联系人的 MCP 服务器。此服务器通过模型上下文协议 (MCP),利用 AppleScript 与 macOS 的消息和联系人应用程序进行交互。它把 AppleScript 命令封装在 TypeScript 服务器中,让您能够:
- 查看并搜索联系人。
- 向联系人或电话号码发送 iMessage。
- 在消息成功发送时获得确认信息。
⚠️ 重要提示
本软件按现状提供,没有任何担保或保证,使用时请自行承担风险。
✨ 主要特性
资源
- 可通过
contacts://all访问您的联系人。 - 能查看联系人的详细信息,涵盖姓名、电话号码和电子邮件地址。
- 所有数据均保留在您计算机的本地。
工具
search_contacts- 根据名称、电话或电子邮件搜索联系人- 接收一个搜索查询,并返回匹配的联系人。
- 会在姓名、电话号码和电子邮件地址中进行搜索。
send_message- 发送 iMessage- 接收收件人(电话/电子邮件)和消息内容。
- 通过您的本地消息应用程序发送。
- 返回确认信息或错误详情。
📦 安装指南
- 安装依赖项:
npm install
- 构建服务器:
npm run build
- 配置 Claude Desktop 使用该服务器:
在 MacOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"imessage": {
"command": "node",
"args": ["/path/to/imessage-server/build/server.js"]
}
}
}
- 重新启动 Claude Desktop。
- 当系统提示时,授予以下权限:
- 联系人访问权限。
- 消息访问权限。
💻 使用示例
基础用法
安装完成后,您可以自然地与 Claude Desktop 对话,示例如下:
"显示我的联系人"
"搜索名为 Marissa 的联系人"
"向 555-0123 发送消息,说我会在 10 分钟内到达"
"向 Alice 发送 iMessage,询问是否仍然安排午餐"
🔧 技术细节
- 所有操作都在您的本地计算机上进行。
- 不会将任何联系人或消息数据发送到外部服务器。
- 该服务器需要 macOS 权限以访问 Contacts 和 Messages。
- 消息通过您的 iMessage 账户发送。
🛠️ 开发调试
用于开发和调试时,可使用 MCP 监视器:
npx @modelcontextprotocol/inspector node build/server.js
📋 需求说明
- macOS(用于消息和联系人集成)。
- Node.js 18 或更高版本。
- Claude Desktop。
- 激活的 iMessage 账户。
🚧 故障排除
如果消息没有发送,可按以下步骤排查:
- 检查消息应用程序是否已登录。
- 验证权限是否已授予。
- 查看 Claude Desktop 日志中的错误:
tail -f ~/Library/Logs/Claude/mcp*.log
扫码联系在线客服