WhatsApp调查管理服务器

一个容器化的模型上下文协议(MCP)服务器,用于创建和管理WhatsApp调查并与ERP系统集成。

  • by Ronnie-Leon76
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ronnie-leon76/whatsapp-flows-mcp-server

使用说明

🚀 WhatsApp流量API MCP服务器

一个容器化的模型上下文协议(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 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指挥官 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许可证获得许可-请参阅 许可证 文件以获取详细信息。


⭐ 如果您觉得此存储库有用,请将其标记为星号!

报告Bug · 请求功能 · 贡献