iMessage管理服务器

一个通过AppleScript与macOS消息和联系人应用交互的服务器,用于管理和发送iMessage消息。

  • by marissamarym
  • JavaScript
  • 本地部署
  • 29 星标
  • 更新于
在 GitHub 查看 marissamarym/imessage-mcp-server

使用说明

iMessage MCP服务器

⚠️ 免责声明-使用风险自负⚠️

本软件按原样提供,不提供任何保证或担保。

使用AppleScript发送iMessage和管理联系人的MCP服务器。

此服务器使用AppleScript通过模型上下文协议(MCP)与macOS消息和联系人应用程序进行交互。它将AppleScript命令封装在TypeScript服务器中,允许您:

  • 查看和搜索您的联系人
  • 向联系人或电话号码发送iMessage
  • 发送消息时获得确认

特性

资源

  • 通过以下方式访问您的联系人 contacts://all
  • 查看联系人详细信息,包括姓名、电话号码和电子邮件地址
  • 所有数据都保留在您的计算机上

工具

  • search_contacts -按姓名、电话或电子邮件查找联系人

    • 接受搜索查询并返回匹配的联系人
    • 在姓名、电话号码和电子邮件地址之间进行搜索
  • send_message -发送iMessage

    • 接收收件人(电话/电子邮件)和消息内容
    • 通过本地Messages应用程序发送
    • 返回确认或错误详细信息

安装

  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. 重新启动克劳德桌面

  2. 在提示时授予权限:

    • 联系人访问
    • 消息访问

用法

安装后,您可以自然地与Claude Desktop对话:

  • “显示我的联系人”
  • “搜索名为Marissa的联系人”
  • “给555-0123发消息,说我10分钟后到”
  • “给爱丽丝发一条iMessage,询问我们是否还在吃午饭”

安全说明

  • 所有操作都在您的机器上本地进行
  • 没有联系人或消息数据发送到外部服务器
  • 服务器需要macOS权限才能访问联系人和消息
  • 消息通过您的iMessage帐户发送

发展

对于开发和调试,请使用MCP检查器:

npx @modelcontextprotocol/inspector node build/server.js

需求

  • macOS(用于消息和联系人集成)
  • Node.js 18或更高版本
  • 克劳德桌面
  • 活动iMessage帐户

故障排除

如果消息未发送:

  1. 检查消息应用程序是否已登录
  2. 验证是否授予了权限
  3. 在Claude Desktop日志中查找错误:
tail -f ~/Library/Logs/Claude/mcp*.log