Integrations
Leverages macOS-specific AppleScript automation to control the WhatsApp desktop application for sending messages and checking status without direct UI interaction.
Enables programmatic interaction with the WhatsApp desktop application on macOS, allowing for sending messages to contacts and checking the application's status through AppleScript automation.
WhatsApp MCP 服务器
概述
WhatsApp MCP(模型上下文协议)服务器是一个 Node.js 应用程序,支持通过编程方式与 macOS 上的 WhatsApp 桌面应用程序进行交互。它使用 AppleScript 自动化功能,提供了一个简单的界面来发送消息和检查 WhatsApp 状态,而无需直接与 WhatsApp UI 交互。
特征
1. 向联系人发送消息
向 WhatsApp 联系人列表中的特定联系人发送短信:
- 消息通过您连接的 WhatsApp 桌面应用程序发送
- 支持正确的消息格式,包括换行符
- 使用 AppleScript 实现 WhatsApp 桌面界面自动化
2. 检查 WhatsApp 状态(开发中)
验证 WhatsApp 应用程序当前是否正在运行:
- 返回 WhatsApp 的当前运行状态
- 帮助防止尝试发送消息时出现错误
3. 列出最近的联系人(WIP)
由于 WhatsApp 的隐私保护,此功能提供的功能有限:
- 告知用户 WhatsApp 的隐私限制
- 需要准确的联系人姓名才能发送消息
技术实现
内置
- @modelcontextprotocol/sdk - MCP 服务器和 stdio 传输
- Zod - 模式验证
- Node.js 内置模块(child_process、util、fs)
- 用于 macOS 自动化的 AppleScript
建筑学
- 使用模型上下文协议 (MCP) 进行标准化工具通信
- 使用 stdio 传输进行通信
- 执行 AppleScript 命令与 WhatsApp 桌面应用程序进行交互
- 实现全面的错误日志记录以进行调试
要求
- macOS 操作系统
- WhatsApp 桌面应用程序已安装
- Node.js v14.0.0 或更高版本
- 互联网连接
安装
用法
启动服务器
与克劳德整合
要让 Claude 使用 WhatsApp MCP 服务器,请按照以下步骤操作:
- 设置您的 MCP 服务器
- 按照上述说明安装并配置 WhatsApp MCP 服务器
- 确保服务器在本地机器上正常运行
- 使用 MCP 工具配置 Claude Desktop
- 修改
claude_desktop_config.json
文件以包含 WhatsApp MCP 工具 - 该文件通常位于您的 Claude Desktop 应用程序配置目录中
- 添加以下配置以注册您的 WhatsApp MCP 工具:
- 修改
- 测试集成
- 与 Claude 创建测试对话
- 要求 Claude 向测试联系人发送 WhatsApp 消息
- 通过 WhatsApp 桌面应用程序验证消息是否已成功发送
MCP 工具可用
1. 发送 WhatsApp 消息
向指定的 WhatsApp 联系人发送消息。
参数:
contactName
:WhatsApp 中显示的联系人全名message
:要发送的消息的内容
使用示例(通过 MCP 客户端):
2. 检查 WhatsApp 状态
检查 WhatsApp 应用程序是否正在运行。
无需任何参数。
使用示例(通过 MCP 客户端):
3. 列出最近联系人
提供有关 WhatsApp 联系人列表隐私限制的信息。
无需任何参数。
使用示例(通过 MCP 客户端):
实现细节
AppleScript 自动化
服务器使用 AppleScript 来自动化 WhatsApp 桌面应用程序:
- 激活 WhatsApp 应用程序
- 使用键盘快捷键导航界面
- 按姓名搜索联系人
- 使用向下箭头导航选择联系人
- 键入并发送消息
错误处理
全面的错误处理和日志记录:
- 控制台错误输出
- 基于文件的日志记录在
~/Library/Logs/whatsapp-mcp/
- 优雅地处理 AppleScript 执行错误
- 流程级异常处理
与 Claude 一起使用 WhatsApp MCP 工具
将 WhatsApp MCP 工具与 Claude 集成后,您可以使用自然语言指示 Claude 执行以下操作:
发送消息
提示示例:
- “给约翰发一条 WhatsApp 消息,说我将迟到 10 分钟参加会议”
- “通过 WhatsApp 向 Sarah 发送以下短信:这是您请求的文件”
- “通过 WhatsApp 向妈妈发送‘生日快乐!’”
检查 WhatsApp 状态
提示示例:
- “WhatsApp 在我的计算机上运行吗?”
- “检查 WhatsApp 是否处于活动状态”
- “发送消息前验证 WhatsApp 状态”
获取联系信息
提示示例:
- “你能列出我最近的 WhatsApp 联系人吗?”
- “显示我最近在 WhatsApp 上与谁发过消息”
Claude 将根据您的要求使用适当的 MCP 工具并对结果提供反馈。
限制
- 由于依赖 AppleScript,仅适用于 macOS
- 需要安装 WhatsApp 桌面应用程序
- WhatsApp UI 更改可能会影响联系人选择
- 由于隐私保护,对 WhatsApp 联系人列表的访问受到限制
- 需要正确配置 Claude 才能访问本地 MCP 工具
安全注意事项
- 服务器与您的个人 WhatsApp 帐户进行交互
- 消息从您的帐户发送,并显示为您发送的
- 仅在受信任的环境中使用
执照
麻省理工学院
免责声明
该项目与 WhatsApp Inc. 或 Meta Platforms, Inc. 无关。请自行决定使用并遵守 WhatsApp 的服务条款。
You must be authenticated.
一个 Node.js 应用程序,可实现与 macOS 上的 WhatsApp 桌面进行编程交互,允许用户通过 AppleScript 自动化发送消息和检查 WhatsApp 状态,而无需直接进行 UI 交互。