IMessage

IMessage

🚀 iMessage MCP 服务器

一款借助 AppleScript 来发送 iMessage 并管理联系人的 MCP 服务器。此服务器通过模型上下文协议 (MCP),利用 AppleScript 与 macOS 的消息和联系人应用程序进行交互。它把 AppleScript 命令封装在 TypeScript 服务器中,让您能够:

  • 查看并搜索联系人。
  • 向联系人或电话号码发送 iMessage。
  • 在消息成功发送时获得确认信息。

⚠️ 重要提示

本软件按现状提供,没有任何担保或保证,使用时请自行承担风险。

✨ 主要特性

资源

  • 可通过 contacts://all 访问您的联系人。
  • 能查看联系人的详细信息,涵盖姓名、电话号码和电子邮件地址。
  • 所有数据均保留在您计算机的本地。

工具

  • search_contacts - 根据名称、电话或电子邮件搜索联系人
    • 接收一个搜索查询,并返回匹配的联系人。
    • 会在姓名、电话号码和电子邮件地址中进行搜索。
  • send_message - 发送 iMessage
    • 接收收件人(电话/电子邮件)和消息内容。
    • 通过您的本地消息应用程序发送。
    • 返回确认信息或错误详情。

📦 安装指南

  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build
  1. 配置 Claude Desktop 使用该服务器: 在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"imessage": {
"command": "node",
"args": ["/path/to/imessage-server/build/server.js"]
}
}
}
  1. 重新启动 Claude Desktop。
  2. 当系统提示时,授予以下权限:
    • 联系人访问权限。
    • 消息访问权限。

💻 使用示例

基础用法

安装完成后,您可以自然地与 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 账户。

🚧 故障排除

如果消息没有发送,可按以下步骤排查:

  1. 检查消息应用程序是否已登录。
  2. 验证权限是否已授予。
  3. 查看 Claude Desktop 日志中的错误:
tail -f ~/Library/Logs/Claude/mcp*.log
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-25 12:00

相似服务问题