🚀 WhatsApp流量API MCP服务器
](https://www.docker.com/)   
*一个容器化的模型上下文协议(MCP)服务器,用于创建和管理与ERP系统集成的WhatsApp调查*
______________________________________________________________________
✨ 特性
- 🐳 Docker化架构 -使用Redis和后台处理完成容器化设置
- 🔧 模块化ERP集成 -支持Business Central、SAP、Oracle和自定义ERP系统
- ⚡ 后台处理 -处理大型客户列表的异步作业处理
- 📱 WhatsApp流量管理 -通过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 credentials2.️⃣ 启动服务
🏭 生产模式
make start
# or
./scripts/start.sh🛠️ 开发模式(热重载)
make start-dev
# or
./scripts/start-dev.sh3.️⃣ 访问服务
| 服务 | URL | 描述 |
|---|---|---|
| MCP服务器 | 在容器中运行 | 主MCP服务器(stdio传输) |
| 工作仪表板 | http://localhost:3001 | 监视后台作业 |
| Redis指挥官 | http://localhost:8081 | Redis管理界面 |
| 雷迪斯 | 本地主机: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服务器 | 主MCP服务器 | 1 |
| 雷迪斯 | 作业队列和缓存 | 1 |
| 工作人员 | 后台作业处理 | 2 |
| 作业仪表板 | 作业监控web UI | 1 |
| redis指挥官 | Redis管理UI | 1 |
______________________________________________________________________
🛠️ 命令参考
发出命令
| 命令 | 描述 |
|---|---|
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容器中的外壳 |
make shell-celery | 🐚 打开工人容器中的外壳 |
make redis-cli | 💾 打开Redis命令行界面 |
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指挥官
访问地址: 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编写生产
# 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-cli ping |
| MCP服务器 | Node.js健康端点 |
| 工作人员 | 工人状态ping |
💾 持久性数据
通过Docker卷实现数据持久化:
| 卷 | 目的 |
|---|---|
redis_data | Redis数据库 |
mcp_config | ERP配置 |
mcp_surveys | 调查定义 |
mcp_logs | 应用程序日志 |
worker_logs | 工人日志 |
______________________________________________________________________
🔧 故障排除
常见问题
🚫 Services won't start
# Check Docker status
docker-compose ps
# View service logs
make logs
# Check system resources
docker stats🔴 Redis connection issues
# Test Redis connection
make redis-cli
ping
# Check Redis logs
docker-compose logs redis⚠️ Jobs not processing
# Check worker status
make logs-celery
# Access job dashboard
open http://localhost:3001
# Check Redis queue
make redis-cli
LLEN job_queue🔑 Environment variables not loaded
# 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许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
⭐ 如果您觉得此存储库有用,请将其标记为星号!

