iMessage MCP Server

iMessage MCP Server

site icon
2024.12.12 7
JavaScript联系人管理消息发送交流协作
iMessage MCP Server 是一个通过 AppleScript 与 macOS 的 Messages 和 Contacts 应用交互的 MCP 服务器。它允许用户查看和搜索联系人,发送 iMessage 消息,并获取发送确认。所有操作均在本地进行,确保数据安全。
View on GitHub

Overview

基本能力

产品定位

iMessage MCP Server 是一个用于管理联系人和发送 iMessage 消息的本地服务器,通过 Model Context Protocol (MCP) 与 macOS 的 Messages 和 Contacts 应用交互。

核心功能

  • 查看和搜索联系人:通过 contacts://all 访问联系人,查看详细信息(姓名、电话号码、电子邮件地址)。
  • 发送 iMessage 消息:支持向联系人或电话号码发送消息,并返回发送确认。
  • 本地数据处理:所有数据均存储在本地,不发送到外部服务器。

适用场景

  • 需要快速搜索和查看联系人的场景。
  • 需要通过命令行或脚本发送 iMessage 消息的场景。
  • 需要与 Claude Desktop 集成进行自然语言交互的场景。

工具列表

  • search_contacts:通过名称、电话或电子邮件搜索联系人。
  • 功能:输入搜索查询,返回匹配的联系人,支持跨名称、电话号码和电子邮件地址搜索。
  • send_message:发送 iMessage 消息。
  • 功能:输入收件人(电话/电子邮件)和消息内容,通过本地 Messages 应用发送,返回确认或错误详情。

常见问题解答

  • 消息发送失败
  • 检查 Messages 应用是否已登录。
  • 确认已授予权限。
  • 查看 Claude Desktop 日志中的错误信息:tail -f ~/Library/Logs/Claude/mcp*.log

使用教程

使用依赖

  • macOS(用于 Messages 和 Contacts 集成)。
  • Node.js 18 或更高版本。
  • Claude Desktop。
  • 活跃的 iMessage 账户。

安装教程

  1. 安装依赖:
npm install
  1. 构建服务器:
npm run build
  1. 配置 Claude Desktop 使用服务器:
  2. 在 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. 授予权限:
  3. 联系人访问权限。
  4. Messages 访问权限。

调试方式

使用 MCP Inspector 进行开发和调试:

npx @modelcontextprotocol/inspector node build/server.js

许可证

None