本项目是一个用于与 WhatsApp 交互的 MCP(模型上下文协议)服务器,包含 Go 语言桥梁和 Python MCP 服务器两大组件。前者负责对接 WhatsApp API 并存储消息历史,后者实现 MCP 协议,为 Claude 提供标准化工具。
使用 Git 克隆项目仓库:
git clone https://github.com/your-username/whatsapp-mcp.git
进入 WhatsApp-MCP 目录:
cd whatsapp-mcp
启动桥梁之前,确保安装了 Go 语言环境。然后在终端运行以下命令:
go run bridge/main.go
该服务器使用 Flask 框架实现。首先安装依赖项:
pip install flask requests
然后运行服务器:
python server/mcp_server.py
whatsapp-bridge/store/Claude 可以通过以下工具与 WhatsApp 交互:
search_contacts:根据姓名或号码查找联系人。list_messages:检索消息,支持过滤和上下文扩展。list_chats:列出所有可用聊天记录,含元数据。get_chat:获取特定聊天的详细信息。get_direct_chat_by_contact:查找与指定联系人的直接对话。get_contact_chats:列举特定联系人参与的所有聊天。get_last_interaction:获取与某个联系人的最新消息。get_message_context:获取某条消息的上下文信息。send_message:向指定号码或群组发送文本消息。send_file:发送图片、视频、文档等文件。send_audio_message:发送音频消息,需确保为 .ogg 格式或安装 FFmpeg 进行格式转换。download_media:下载指定消息中的媒体文件,并返回本地路径。send_file 发送。send_audio_message 工具,需 .ogg 格式或 FFmpeg 转换。默认仅存储媒体的元数据。要获取实际文件,请使用 download_media 工具,输入 message_id 和 chat_jid 即可下载并返回路径。
package main
import (
"fmt"
"log"
)
func main() {
fmt.Println("WhatsApp Bridge Started")
// 数据库初始化逻辑
}
from flask import Flask
import requests
app = Flask(__name__)
@app.route('/api/send_message', methods=['POST'])
def send_message():
# 处理消息发送逻辑
return "Message Sent"
启动桥梁:
go run bridge/main.go
运行服务器:
python server/mcp_server.py
本项目遵循 MIT 许可证,具体内容请参阅 LICENSE 文件。