WhatsApp MCP服务器
一种模型上下文协议(MCP)服务器,使AI助手能够通过安全的网桥架构发送和接收WhatsApp消息。
🚀 特性
- 发送WhatsApp消息:向任何WhatsApp号码发送短信
- 接收消息:通过WhatsApp对话检索和搜索
- 音频支持:发送和接收音频消息
- 媒体处理:支持图像、文档和其他媒体文件
- 联系人管理:搜索和管理WhatsApp联系人
- 集团支持:与WhatsApp群组互动
- 安全网桥:WhatsApp Web API通信的基于Go-bridge
🏗️ 建筑
该项目由两个主要部分组成:
- WhatsApp MCP服务器 (Python)-提供AI接口的MCP服务器
- WhatsApp桥 (Go)-处理WhatsApp Web API通信
AI Assistant (VSCode/Copilot)
↓ (MCP Protocol)
WhatsApp MCP Server (Python)
↓ (HTTP API)
WhatsApp Bridge (Go)
↓ (WhatsApp Web API)
WhatsApp� 安装
先决条件
- Python 3.11+
- 转到1.21+
- Node.js(用于MCP集成)
- uv(Python包管理器)
设置
- 克隆存储库:
git clone https://github.com/ananyaakamat/WhatsApp_project.git
cd WhatsApp_project- 设置Python MCP服务器:
cd whatsapp-mcp/whatsapp-mcp-server
uv venv
uv pip install -r requirements.txt- 搭建Go Bridge:
cd ../whatsapp-bridge
go mod download
go build -o whatsapp-bridge main.go🔧 配置
MCP服务器配置
快速安装(一键)
为了快速安装,请使用下面的一键安装按钮之一:
手动安装
或者,您可以手动将WhatsApp MCP服务器添加到您的VSCode settings.json中:
{
"mcp": {
"servers": {
"whatsapp": {
"command": "C:\\Users\\anant\\.local\\bin\\uv.exe",
"args": [
"--directory",
"D:\\Anant\\VSCodeProjects\\WhatsApp_project\\whatsapp-mcp\\whatsapp-mcp-server",
"run",
"main.py"
]
}
}
}
}备注:更新目录路径以匹配您的本地安装路径。
桥接器配置
Go桥将自动启动并通过二维码扫描处理WhatsApp Web身份验证。
替代配置方法
Workspace-specific Configuration
您还可以将配置添加到名为 .vscode/mcp.json 在您的工作空间中。这允许您与他人共享配置:
{
"mcp": {
"servers": {
"whatsapp": {
"command": "C:\\Users\\anant\\.local\\bin\\uv.exe",
"args": [
"--directory",
"D:\\Anant\\VSCodeProjects\\WhatsApp_project\\whatsapp-mcp\\whatsapp-mcp-server",
"run",
"main.py"
]
}
}
}
}Using relative paths
对于更便携的配置(共享项目时),可以使用相对路径:
{
"mcp": {
"servers": {
"whatsapp": {
"command": "uv",
"args": [
"--directory",
"./whatsapp-mcp/whatsapp-mcp-server",
"run",
"main.py"
]
}
}
}
}🚀 用法
启动服务
- 启动Go Bridge:
cd whatsapp-mcp/whatsapp-bridge
./whatsapp-bridge- 扫描二维码:网桥将显示WhatsApp Web身份验证的二维码
- 在AI助手中使用:MCP服务器将自动连接到网桥
可用的MCP工具
mcp_whatsapp_send_message-发送短信mcp_whatsapp_send_file-发送媒体文件mcp_whatsapp_send_audio_message-发送音频消息mcp_whatsapp_list_messages-检索消息历史记录mcp_whatsapp_list_chats-获取聊天列表mcp_whatsapp_search_contacts-搜索联系人mcp_whatsapp_get_message_context-获取消息上下文
示例用法
# Send a message
await mcp_whatsapp_send_message(
recipient="1234567890", # Phone number with country code
message="Hello from AI assistant!"
)
# Get recent messages
messages = await mcp_whatsapp_list_messages(
limit=10,
sender_phone_number="1234567890"
)
# Send a file
await mcp_whatsapp_send_file(
recipient="1234567890",
media_path="/path/to/file.pdf"
)🔐 安全
- 网桥在本地运行,不存储凭据
- 所有通信都使用安全的HTTP/HTTPS
- WhatsApp Web会话得到安全管理
- 没有永久记录或存储消息内容
🛠️ 发展
项目结构
WhatsApp_project/
├── whatsapp-mcp/
│ ├── whatsapp-mcp-server/ # Python MCP server
│ │ ├── main.py # MCP server implementation
│ │ ├── whatsapp.py # WhatsApp client wrapper
│ │ ├── audio.py # Audio message handling
│ │ └── requirements.txt # Python dependencies
│ └── whatsapp-bridge/ # Go bridge
│ ├── main.go # Bridge server
│ ├── go.mod # Go module definition
│ └── go.sum # Go dependencies
├── docs/ # Documentation
├── templates/ # Project templates
└── README.md # This file贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 进行更改并彻底测试
- 以常规方式承诺:
git commit -m "feat: add new feature" - 推送并创建拉取请求
📝 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🤝 支持
- 为错误报告或功能请求创建问题
- 查看文档
docs/文件夹 - 查看中的示例实现
templates/
🙏 致谢
- 使用模型上下文协议(MCP)规范构建
- 通过go-WhatsApp库集成WhatsApp Web API
- 受人工智能助手WhatsApp集成需求的启发
