#!/bin/bash

# MCP服务启动脚本
# 用于在Docker中启动所有MCP服务

set -e

echo "🚀 启动MCP服务..."

# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
    echo "❌ Docker未运行，请先启动Docker"
    exit 1
fi

# 检查环境变量文件
if [ ! -f ".env" ]; then
    if [ -f ".env.mcp" ]; then
        echo "📋 复制环境变量模板..."
        cp .env.mcp .env
        echo "⚠️  请编辑 .env 文件，填入您的真实API密钥"
        echo "   然后重新运行此脚本"
        exit 1
    else
        echo "❌ 未找到环境变量文件，请先创建 .env 文件"
        exit 1
    fi
fi

# 停止现有的MCP进程
echo "🛑 停止现有的MCP进程..."
pkill -f "mcp-" || true
pkill -f "@browserbasehq/mcp-browserbase" || true
pkill -f "@adalovu/mcp-playwright" || true
pkill -f "mcp-server-memory" || true
pkill -f "browser-tools-mcp" || true
pkill -f "@upstash/context7-mcp" || true

# 停止现有的Docker容器
echo "🛑 停止现有的Docker容器..."
docker-compose down || true

# 拉取最新镜像
echo "📥 拉取Docker镜像..."
docker-compose pull

# 启动服务
echo "🚀 启动MCP服务..."
docker-compose up -d

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 10

# 检查服务状态
echo "📊 检查服务状态..."
docker-compose ps

# 显示日志
echo "📝 显示服务日志..."
docker-compose logs --tail=20

echo ""
echo "✅ MCP服务启动完成！"
echo ""
echo "📋 可用的命令："
echo "   查看所有服务状态: docker-compose ps"
echo "   查看服务日志:     docker-compose logs -f [service_name]"
echo "   重启服务:         docker-compose restart [service_name]"
echo "   停止所有服务:     docker-compose down"
echo "   查看实时日志:     docker-compose logs -f"
echo ""
echo "🔧 MCP服务列表："
echo "   - mcp-browserbase:      BrowserBase浏览器自动化"
echo "   - mcp-playwright:       Playwright浏览器自动化"
echo "   - mcp-memory:           内存管理服务"
echo "   - mcp-browser-tools:    浏览器工具服务"
echo "   - mcp-context7:         Context7文档检索"
echo "   - mcp-github:           GitHub集成服务"
echo "   - mcp-desktop-commander: 桌面命令服务"
echo "   - mcp-filesystem:       文件系统服务"
echo ""
