test-integration.sh•4.89 kB
#!/bin/bash
# Script de Teste de Integração - MCP WPPConnect Server
# Este script testa a integração com Claude Desktop
echo "🧪 Iniciando testes de integração MCP WPPConnect Server"
echo "=================================================="
# Cores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Função para imprimir status
print_status() {
if [ $1 -eq 0 ]; then
echo -e "${GREEN}✅ $2${NC}"
else
echo -e "${RED}❌ $2${NC}"
fi
}
print_warning() {
echo -e "${YELLOW}⚠️ $1${NC}"
}
# 1. Verificar se o build existe
echo "1. Verificando build..."
if [ -f "build/index.js" ]; then
print_status 0 "Build encontrado"
else
print_status 1 "Build não encontrado - execute 'npm run build' primeiro"
exit 1
fi
# 2. Testar execução do servidor
echo ""
echo "2. Testando execução do servidor..."
npm start > /tmp/mcp-test.log 2>&1 &
SERVER_PID=$!
sleep 3
if ps -p $SERVER_PID > /dev/null; then
print_status 0 "Servidor iniciado com sucesso (PID: $SERVER_PID)"
kill $SERVER_PID 2>/dev/null
sleep 1
else
print_status 1 "Servidor falhou ao iniciar"
echo "Logs:"
cat /tmp/mcp-test.log
exit 1
fi
# 3. Verificar configuração do Claude Desktop
echo ""
echo "3. Verificando configuração do Claude Desktop..."
CONFIG_FILES=(
"$HOME/Library/Application Support/Claude/claude_desktop_config.json"
"$APPDATA/Claude/claude_desktop_config.json"
"$HOME/.config/Claude/claude_desktop_config.json"
)
CONFIG_FOUND=false
for config_file in "${CONFIG_FILES[@]}"; do
if [ -f "$config_file" ]; then
echo " Configuração encontrada: $config_file"
CONFIG_FOUND=true
# Verificar se MCP WPPConnect está configurado
if grep -q "mcp-wppconnect-server" "$config_file"; then
print_status 0 "MCP WPPConnect Server configurado no Claude Desktop"
else
print_warning "MCP WPPConnect Server NÃO configurado no Claude Desktop"
echo " Adicione a configuração manualmente conforme o README.md"
fi
break
fi
done
if [ "$CONFIG_FOUND" = false ]; then
print_warning "Arquivo de configuração do Claude Desktop não encontrado"
fi
# 4. Verificar dependências
echo ""
echo "4. Verificando dependências..."
npm list @modelcontextprotocol/sdk > /dev/null 2>&1
print_status $? "MCP SDK instalado"
npm list @wppconnect-team/wppconnect > /dev/null 2>&1
print_status $? "WPPConnect instalado"
# 5. Testar ferramentas disponíveis
echo ""
echo "5. Ferramentas disponíveis:"
echo " - initialize_session: Inicializar sessão WhatsApp"
echo " - get_qr_snapshot: Obter QR code para autenticação"
echo " - get_session_status: Verificar status da sessão"
echo " - send_text: Enviar mensagem de texto"
echo " - promote_group_participant: Promover participante em grupo"
echo " - demote_group_participant: Remover admin de participante"
echo " - get_community_participants: Listar participantes de comunidade"
echo " - promote_community_participant: Promover participante em comunidade"
echo " - demote_community_participant: Remover admin de participante em comunidade"
echo " - get_contacts: Listar contatos"
echo " - get_chats: Listar chats"
# 6. Verificar permissões
echo ""
echo "6. Verificando permissões..."
if [ -w "~/.mcp-wppconnect/tokens" ] 2>/dev/null || [ ! -d "~/.mcp-wppconnect/tokens" ]; then
print_status 0 "Permissões de token OK"
else
print_warning "Problemas de permissão no diretório de tokens"
fi
# 7. Teste de integração completa
echo ""
echo "7. Teste de integração completa:"
echo " Para testar completamente:"
echo " 1. Abra o Claude Desktop"
echo " 2. Tente: 'Inicialize uma sessão WhatsApp com ID teste-123'"
echo " 3. Se solicitado, escaneie o QR code com seu WhatsApp"
echo " 4. Após autenticação, teste: 'Envie uma mensagem para [número]'"
# 8. Verificar logs
echo ""
echo "8. Verificando logs recentes..."
if [ -f "logs/error.log" ]; then
echo " Logs de erro recentes:"
tail -n 5 logs/error.log 2>/dev/null || echo " Sem logs de erro"
else
echo " Sem arquivo de logs de erro (normal para primeira execução)"
fi
echo ""
echo "=================================================="
echo "✅ Testes de integração concluídos!"
echo ""
echo "Próximos passos:"
echo "1. Configure o Claude Desktop com o caminho correto (veja README.md)"
echo "2. Teste a inicialização de sessão pelo Claude Desktop"
echo "3. Verifique os logs se encontrar problemas"
echo ""
echo "Para debug detalhado, execute:"
echo "DEBUG=mcp-wppconnect:* npm start"
echo ""
echo "Se encontrar problemas, consulte:"
echo "- TROUBLESHOOTING.md para problemas comuns"
echo "- DEPLOYMENT.md para configuração de produção"
echo "=================================================="