关于 🚀 WhatsApp Flows API MCP Server
这是一款容器化 MCP 服务,用于管理 WhatsApp 互动问卷和收集回复,并支持 ERP 集成及大批客户名单的后台处理。
主要功能
- 01创建并发送 WhatsApp 问卷
- 02集成 ERP 系统
- 03后台处理任务
- 04监控任务和队列统计
- 05通过 Web UI 管理 Redis
适用场景
- 01向大量客户发送问卷
- 02将问卷与 ERP 系统连接
- 03跟踪问卷任务进度
- 04检查 Redis 数据和性能
MCP 相关
向 MCP 客户端提供问卷后台发送、查询任务状态和获取队列统计的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 WhatsApp Flows API MCP 服务
✨ 功能特性
- 🐳 Docker 化架构 - 完整的容器化配置,包含 Redis 和后台处理
- 🔧 模块化 ERP 集成 - 支持 Business Central、SAP、Oracle 和自定义 ERP 系统
- ⚡ 后台处理 - 异步任务处理,支持处理大型客户列表
- 📱 WhatsApp Flow 管理 - 通过 WhatsApp Business API 创建并发送交互式调查
- 📊 监控工具 - 内置任务监控和 Redis 管理仪表板
- 🔄 开发支持 - 热重载和开发容器,支持快速迭代
🚀 快速开始
前置条件
开始之前,请确保已准备好:
- ✅ 已安装 Docker 和 Docker Compose
- ✅ WhatsApp Business API 凭据
- ✅ 已配置环境变量
1️⃣ 克隆并配置
git clone https://github.com/Ronnie-Leon76/whatsapp-flows-mcp-server.git
cd whatsapp-flows-mcp-server
# Copy and configure environment variables
cp .env.example .env
# Edit .env with your WhatsApp Business API credentials
2️⃣ 启动服务
🏭 生产模式
make start
# or
./scripts/start.sh
🛠️ 开发模式(支持热重载)
make start-dev
# or
./scripts/start-dev.sh
3️⃣ 访问服务
| 服务 | URL | 描述 |
|---|---|---|
| MCP 服务 | 在容器中运行 | 主 MCP 服务(stdio 传输) |
| 任务仪表板 | http://localhost:3001 | 监控后台任务 |
| Redis Commander | http://localhost:8081 | Redis 管理界面 |
| Redis | localhost:6379 | Redis 实例 |
🏗️ 架构
Docker 服务概览
graph TB
A[MCP Server] --> D[Redis Job Queue]
B[Job Worker 1] --> D
C[Job Worker 2] --> D
D --> E[Job Dashboard]
D --> F[Redis Commander]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#f3e5f5
style D fill:#ffebee
style E fill:#e8f5e8
style F fill:#fff3e0
核心服务
| 服务 | 用途 | 副本数 |
|---|---|---|
| mcp-server | 主 MCP 服务 | 1 |
| redis | 任务队列和缓存 | 1 |
| job-worker | 后台任务处理 | 2 |
| job-dashboard | 任务监控网页 UI | 1 |
| redis-commander | Redis 管理 UI | 1 |
🛠️ 命令参考
Make 命令
| 命令 | 描述 |
|---|---|
make help | 📋 显示所有可用命令 |
make build | 🔨 构建 Docker 镜像 |
make start | ▶️ 启动生产服务 |
make start-dev | 🛠️ 启动开发服务 |
make stop | ⏹️ 停止所有服务 |
make logs | 📜 查看所有服务的日志 |
make logs-mcp | 📜 查看 MCP 服务日志 |
make logs-celery | 📜 查看工作进程日志 |
make clean | 🧹 清理 Docker 资源 |
make restart | 🔄 重启所有服务 |
make shell-mcp | 🐚 在 MCP 容器中打开 shell |
make shell-celery | 🐚 在工作进程容器中打开 shell |
make redis-cli | 💾 打开 Redis CLI |
NPM 脚本
npm run docker:build # Build Docker images
npm run docker:start # Start production services
npm run docker:start-dev # Start development services
npm run docker:stop # Stop all services
npm run docker:logs # View logs
⚙️ 配置
🔑 必需的环境变量
# WhatsApp Business API Configuration
WHATSAPP_ACCESS_TOKEN=your_access_token_here
WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id_here
WHATSAPP_BUSINESS_ACCOUNT_ID=your_business_account_id_here
WHATSAPP_VERIFY_TOKEN=your_verify_token_here
🔧 可选的环境变量
# Redis Configuration (auto-configured in Docker)
REDIS_URL=redis://redis:6379/0
# Worker Configuration
WORKER_CONCURRENCY=5
# Dashboard Configuration
PORT=3001
# Paths (auto-configured in Docker)
CONFIG_PATH=/app/config
SURVEYS_PATH=/app/surveys
🛠️ 开发
热重载开发
# Start development environment with hot reload
make start-dev
# View development logs
docker-compose -f docker-compose.dev.yml logs -f
本地开发(不使用 Docker)
# Start Redis locally
docker run -d -p 6379:6379 redis:7-alpine
# Install dependencies
npm install
# Start MCP server
npm run dev
# Start worker (in separate terminal)
cd celery_app
celery -A tasks worker --loglevel=info
📊 监控与调试
📈 任务仪表板
访问 **http://localhost:3001**,即可:
- ✅ 监控进行中和已完成的任务
- 📋 查看任务详情和进度
- 👥 监控工作进程状态
- ⚡ 实时跟踪任务执行情况
💾 Redis Commander
访问 **http://localhost:8081**,即可:
- 🔍 浏览 Redis 键
- 📊 监控 Redis 性能
- 👁️ 查看存储的数据
- 🔧 调试 Redis 问题
🔧 新增 MCP 工具
send-survey- 为大型客户列表处理后台作业get-job-status- 监控后台作业进度get-queue-stats- 查看作业队列统计信息
📜 查看日志
# All services
make logs
# Specific service
docker-compose logs -f mcp-server
docker-compose logs -f job-worker
docker-compose logs -f redis
# Follow logs in real-time
docker-compose logs -f --tail=100
🚀 生产环境部署
Docker Compose 生产环境
# Start production services
make start
# Scale workers
docker-compose up -d --scale job-worker=4
# Update services
docker-compose pull
docker-compose up -d
🏥 健康检查
所有服务都包含全面的健康检查:
| 服务 | 健康检查 |
|---|---|
| Redis | redis-cli ping |
| MCP 服务 | Node.js 健康检查端点 |
| 作业工作进程 | 工作进程状态 ping |
💾 持久化数据
通过 Docker 卷持久化数据:
| 卷 | 用途 |
|---|---|
redis_data | Redis 数据库 |
mcp_config | ERP 配置 |
mcp_surveys | 调查问卷定义 |
mcp_logs | 应用程序日志 |
worker_logs | 工作进程日志 |
🔧 故障排除
常见问题
🚫 服务无法启动
# Check Docker status
docker-compose ps
# View service logs
make logs
# Check system resources
docker stats
🔴 Redis 连接问题
# Test Redis connection
make redis-cli
ping
# Check Redis logs
docker-compose logs redis
⚠️ 作业未处理
# Check worker status
make logs-celery
# Access job dashboard
open http://localhost:3001
# Check Redis queue
make redis-cli
LLEN job_queue
🔑 未加载环境变量
# Verify .env file exists and is configured
cat .env
# Restart services
make restart
# Check environment in container
docker-compose exec mcp-server env | grep WHATSAPP
🔍 调试
# Access container shells
make shell-mcp # MCP server container
make shell-celery # Worker container
# View container resources
docker stats
# Inspect container configuration
docker-compose config
📄 许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。