项目简介
本项目 'whatsapp-mcp-ts' 是一个基于 Model Context Protocol (MCP) 构建的 WhatsApp 服务器,使用 TypeScript 和 '@whiskeysockets/baileys' 库开发。它允许你将个人 WhatsApp 账号连接到支持 MCP 协议的 AI 客户端(如 Anthropic Claude 或 Cursor),使 AI 助手能够访问和操作你的 WhatsApp 数据。所有数据都存储在本地,仅在 AI 助手明确调用工具时才会共享数据。
主要功能点
- 搜索联系人 (search_contacts): 通过名称或电话号码部分搜索 WhatsApp 联系人。
- 列出消息 (list_messages): 检索特定聊天的消息历史记录,支持分页。
- 列出聊天 (list_chats): 列出你的 WhatsApp 聊天列表,可按活动时间或名称排序、过滤和分页,并可选择包含最后一条消息的详细信息。
- 获取聊天详情 (get_chat): 获取特定聊天的详细信息。
- 获取消息上下文 (get_message_context): 检索特定消息 ID 前后一定数量的消息,以提供上下文。
- 发送消息 (send_message): 向个人或群组发送文本消息。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js v23.10.0 或更高版本。
- 克隆仓库: 使用 'git clone <仓库URL> whatsapp-mcp-ts' 命令克隆仓库到本地。
- 安装依赖: 在仓库目录下运行 'npm install' 命令安装项目依赖。
- 首次运行服务器: 运行 'node src/main.ts' 命令启动服务器。首次运行会生成二维码,请使用你的 WhatsApp 手机应用扫描二维码完成身份验证。
- 配置 AI 客户端: 根据你使用的 AI 客户端(如 Claude Desktop 或 Cursor),按照以下步骤配置 MCP 服务器连接。
服务器配置
你需要配置 AI 客户端以连接到 WhatsApp MCP Server。以下是针对不同 AI 客户端的配置方法。你需要将以下 JSON 配置添加到你的 AI 客户端的配置文件中,并将 '{{PATH_TO_REPO}}' 替换为仓库的绝对路径。
Claude Desktop / Cursor 配置 (mcp.json 或 claude_desktop_config.json):
{ "mcpServers": { "whatsapp": { "command": "node", "args": [ "{{PATH_TO_REPO}}/src/main.ts" ], "timeout": 15, "disabled": false } } }
- 'command': 启动 MCP 服务器的命令,这里使用 'node' 运行 TypeScript 代码。
- 'args': 命令参数,指向 'src/main.ts' 文件,'{{PATH_TO_REPO}}' 必须替换为仓库的绝对路径。
- 'timeout': (可选) 服务器启动超时时间,单位为秒。
- 'disabled': 设置为 'false' 启用该 MCP 服务器。
获取仓库绝对路径: 在终端中进入 'whatsapp-mcp-ts' 目录,运行 'pwd' 命令即可获取当前目录的绝对路径。
配置文件位置:
- Claude Desktop:
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
- Linux: '~/.config/Claude/claude_desktop_config.json'
- Cursor: '~/.cursor/mcp.json'
配置完成后,重启你的 AI 客户端,它应该能够检测到 "whatsapp" MCP 服务器并使用其提供的工具。
基本使用方法
服务器成功运行并连接到 AI 客户端后,你可以通过 AI 助手的聊天界面与你的 WhatsApp 数据进行交互。例如,你可以要求 AI 助手搜索联系人、列出最近的聊天、读取消息或发送消息。 AI 助手会调用相应的 MCP 工具来完成你的请求。
信息
分类
通信与社交