项目简介

本项目 '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): 向个人或群组发送文本消息。

安装步骤

  1. 安装 Node.js: 确保你的系统已安装 Node.js v23.10.0 或更高版本。
  2. 克隆仓库: 使用 'git clone <仓库URL> whatsapp-mcp-ts' 命令克隆仓库到本地。
  3. 安装依赖: 在仓库目录下运行 'npm install' 命令安装项目依赖。
  4. 首次运行服务器: 运行 'node src/main.ts' 命令启动服务器。首次运行会生成二维码,请使用你的 WhatsApp 手机应用扫描二维码完成身份验证。
  5. 配置 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 工具来完成你的请求。

信息

分类

通信与社交