WhatsApp MCP Server

WhatsApp MCP Server

Enables seamless integration with WhatsApp through the Model Context Protocol, featuring multi-user support and Supabase cloud storage for persistent message history and media. Users can send messages, search chat records, and manage contacts across platforms like Claude Desktop, Cursor, and OpenClaw.

Category
访问服务器

README

WhatsApp MCP Server

一个功能完整的 WhatsApp MCP (Model Context Protocol) 服务器,支持多用户、云存储 (Supabase) 和完整的历史消息同步。

✨ 特性

  • 🔗 MCP 协议支持 - 与 OpenClaw、Claude Desktop、Cursor 等兼容
  • 👥 多用户支持 - 每个用户独立的 WhatsApp 连接和数据隔离
  • ☁️ Supabase 云存储 - 消息、联系人、聊天记录持久化到云端
  • 📜 历史消息同步 - 自动同步旧消息,支持增量更新
  • 🔍 全文搜索 - 支持消息内容搜索
  • 📎 媒体文件支持 - 图片、视频、文档、语音消息处理
  • 🔐 安全隔离 - 基于 Supabase RLS 的行级安全控制

📁 项目结构

whatsapp-mcp-server/
├── src/
│   ├── index.ts              # 主入口
│   ├── db/
│   │   └── supabase.ts       # Supabase 数据库操作
│   ├── whatsapp/
│   │   ├── client.ts         # Baileys WhatsApp 客户端
│   │   └── message-handler.ts # 消息处理器
│   ├── tools/
│   │   └── index.ts          # MCP Tools 实现
│   └── types/
│       └── index.ts          # TypeScript 类型定义
├── supabase/
│   └── migrations/
│       └── 001_initial.sql   # 数据库初始化脚本
├── package.json
├── tsconfig.json
└── README.md

🚀 快速开始

1. 克隆仓库

git clone https://github.com/caseyklai/whatsapp-mcp.git
cd whatsapp-mcp

2. 安装依赖

npm install

3. 设置 Supabase

  1. Supabase 创建新项目
  2. 在 SQL Editor 中执行 supabase/migrations/001_initial.sql
  3. 获取 Project URL 和 Service Role Key (Settings > API)

4. 配置环境变量

export SUPABASE_URL="your-supabase-url"
export SUPABASE_SERVICE_KEY="your-service-role-key"
export WHATSAPP_PHONE_NUMBER="your-phone-number"
export WHATSAPP_AUTH_USER_ID="optional-auth-user-id"

5. 构建并运行

npm run build
node dist/index.js

首次运行会显示 QR 码,使用 WhatsApp 扫描即可登录。

🔧 与 OpenClaw 集成

在 OpenClaw 配置中添加 MCP Server:

{
  "mcpServers": {
    "whatsapp": {
      "command": "node",
      "args": ["/path/to/whatsapp-mcp/dist/index.js"],
      "env": {
        "SUPABASE_URL": "your-supabase-url",
        "SUPABASE_SERVICE_KEY": "your-service-role-key",
        "WHATSAPP_PHONE_NUMBER": "your-phone-number"
      }
    }
  }
}

🛠️ 可用 Tools

Tool 描述
whatsapp_search_contacts 搜索联系人
whatsapp_list_chats 列出聊天列表
whatsapp_get_chat 获取聊天详情
whatsapp_list_messages 列出消息
whatsapp_search_messages 搜索消息内容
whatsapp_send_message 发送消息
whatsapp_get_contact 获取联系人详情
whatsapp_get_connection_status 获取连接状态
whatsapp_sync_history 触发历史同步

📊 数据库 Schema

核心表

  • wa_users - 用户信息及认证
  • wa_chats - 聊天会话
  • wa_messages - 消息记录
  • wa_contacts - 联系人
  • wa_media - 媒体文件元数据
  • wa_sync_logs - 同步日志
  • wa_webhook_events - Webhook 事件队列

🔒 安全特性

  • 使用 Supabase Row Level Security (RLS) 确保用户数据隔离
  • 认证信息本地存储 (auth_info/ 目录)
  • 支持 OAuth 集成

📝 与 OpenClaw 内置 WhatsApp 对比

功能 OpenClaw 内置 MCP Server
历史消息获取 ❌ 无法获取旧消息 ✅ 自动同步完整历史
数据存储 ❌ 本地/内存 ✅ Supabase 云端持久化
多用户支持 ❌ 单机版 ✅ 完整多用户架构
全文搜索 ❌ 有限 ✅ 数据库全文搜索
媒体文件 ❌ 临时存储 ✅ 云存储 + CDN
跨实例使用 ❌ 数据无法共享 ✅ 所有实例共享数据

🐛 故障排除

QR 码不显示

检查终端是否支持二维码显示,或尝试使用其他终端。

连接断开

Baileys 会自动重连(最多5次)。如需重新登录,删除 auth_info/ 目录后重启。

消息同步慢

首次同步可能需要较长时间,取决于消息历史数量。后续为增量同步。

📄 许可证

MIT

🙏 致谢

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选