WhatsApp消息协议服务

一个通过安全桥接架构使AI助手能够发送和接收WhatsApp消息的模型上下文协议(MCP)服务器。

  • by ananyaakamat
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ananyaakamat/whatsapp_project

使用说明

WhatsApp MCP服务器

一种模型上下文协议(MCP)服务器,使AI助手能够通过安全的网桥架构发送和接收WhatsApp消息。

🚀 特性

  • 发送WhatsApp消息:向任何WhatsApp号码发送短信
  • 接收消息:通过WhatsApp对话检索和搜索
  • 音频支持:发送和接收音频消息
  • 媒体处理:支持图像、文档和其他媒体文件
  • 联系人管理:搜索和管理WhatsApp联系人
  • 集团支持:与WhatsApp群组互动
  • 安全网桥:WhatsApp Web API通信的基于Go-bridge

🏗️ 建筑

该项目由两个主要部分组成:

  1. WhatsApp MCP服务器 (Python)-提供AI接口的MCP服务器
  2. 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包管理器)

设置

  1. 克隆存储库:

    git clone https://github.com/ananyaakamat/WhatsApp_project.git
    cd WhatsApp_project
    
  2. 设置Python MCP服务器:

    cd whatsapp-mcp/whatsapp-mcp-server
    uv venv
    uv pip install -r requirements.txt
    
  3. 搭建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"
        ]
      }
    }
  }
}

🚀 用法

启动服务

  1. 启动Go Bridge:

    cd whatsapp-mcp/whatsapp-bridge
    ./whatsapp-bridge
    
  2. 扫描二维码:网桥将显示WhatsApp Web身份验证的二维码

  3. 在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

贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 进行更改并彻底测试
  4. 以常规方式承诺: git commit -m "feat: add new feature"
  5. 推送并创建拉取请求

📝 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🤝 支持

  • 为错误报告或功能请求创建问题
  • 查看文档 docs/ 文件夹
  • 查看中的示例实现 templates/

🙏 致谢

  • 使用模型上下文协议(MCP)规范构建
  • 通过go-WhatsApp库集成WhatsApp Web API
  • 受人工智能助手WhatsApp集成需求的启发