WhatsApp集成服务

一个通过MCP协议提供WhatsApp功能的服务器,包含MCP服务器和WhatsApp REST API服务器,适用于需要WhatsApp集成的开发场景。

  • by Ruandv
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ruandv/chatterbox_mcp_server

使用说明

🚀 Chatterbox MCP服务器(由 MCPHub)

此存储库包含两个主要组件:

🤖 MCP服务器(mcp_server/)

通过MCP工具提供WhatsApp功能的模型上下文协议服务器。

关键文件:

  • mcp_server/src/server.ts -主MCP服务器
  • mcp_server/src/model/tools.ts -WhatsApp运营的MCP工具
  • mcp_server/src/model/resources.ts -MCP资源

用途:

cd mcp_server
npm install
npm run dev

📱 WhatsApp服务器(whatsappServer/)

REST API服务器,用于处理实际的WhatsApp Web集成。

关键文件:

  • whatsappServer/src/server.ts -主Express服务器
  • whatsappServer/src/services/whatsappService.ts -WhatsApp Web.js集成
  • whatsappServer/src/controllers/whatsappController.ts -API端点

用途:

cd whatsappServer
npm install
npm run dev

🔧 建筑

┌─────────────────┐    HTTP API    ┌─────────────────┐
│                 │    Calls       │                 │
│   MCP Server    │ ─────────────► │ WhatsApp Server │
│                 │                │                 │
└─────────────────┘                └─────────────────┘
        │                                   │
        │                                   │
        ▼                                   ▼
┌─────────────────┐                ┌─────────────────┐
│  MCP Client     │                │  WhatsApp Web   │
│  (Claude, etc)  │                │                 │
└─────────────────┘                └─────────────────┘

📁 项目结构

chatterbox_mcp_server/
├── mcp_server/
│   ├── src/
│   ├── secrets/                    # Secret files for MCP server
│   │   ├── CHATTERBOX_SECRET
│   │   └── WHATSAPP_SERVER_URL
│   └── package.json
├── whatsappServer/
│   ├── src/
│   ├── secrets/                    # Secret files for WhatsApp server
│   │   ├── CHATTERBOX_SECRET
│   │   ├── PORT
│   │   └── HEADLESS
│   └── package.json
└── package.json

🚀 快速开始

  1. 设置秘密:

    # MCP Server secrets (in mcp_server/secrets/)
    echo "your_secret_here" > mcp_server/secrets/CHATTERBOX_SECRET
    echo "http://localhost:3004" > mcp_server/secrets/WHATSAPP_SERVER_URL
    
    # WhatsApp Server secrets (in whatsappServer/secrets/)
    echo "your_secret_here" > whatsappServer/secrets/CHATTERBOX_SECRET
    echo "3004" > whatsappServer/secrets/PORT
    echo "true" > whatsappServer/secrets/HEADLESS
    
  2. 安装依赖项:

    npm run install:all
    
  3. 启动WhatsApp服务器:

    npm run dev:whatsapp
    
  4. 启动MCP服务器:

    npm run dev:mcp
    
  5. 验证WhatsApp:

    • 访问 http://localhost:3004/qr 获取二维码
    • 使用WhatsApp移动应用程序扫描

🛠️ 发展

每个组件都可以独立开发:

  • MCP服务器 重点介绍MCP协议的实现
  • WhatsApp服务器 处理WhatsApp Web集成和API端点

📋 必需的秘密

两台服务器都使用基于文件的机密,而不是环境变量,以提高安全性。每个秘密都存储在 secrets/ 文件夹。

MCP服务器(mcp_server/secrets/)

  • CHATTERBOX_SECRET -对WhatsApp服务器的API调用的身份验证机密
  • WHATSAPP_SERVER_URL -WhatsApp服务器的URL(例如。, http://localhost)
  • SERVER_PORT -服务器正在监听的端口(例如。, 3004)

WhatsApp服务器(whatsappServer/secrets/)

  • CHATTERBOX_SECRET -身份验证密钥(必须与MCP服务器密钥匹配)
  • PORT -服务器端口号(例如。, 3004)
  • HEADLESS -在无头模式下运行WhatsApp(true 或 false)

注: 这 CHATTERBOX_SECRET 两台服务器中的身份验证必须相同才能正常工作。

🐳 码头工人

每个组件都有自己的用于容器化的Dockerfile:

# WhatsApp Server
cd whatsappServer
docker build -t whatsapp-server .

# MCP Server
cd mcp_server
docker build -t mcp-server .