#!/usr/bin/env bash
set -euo pipefail
# 🎭 DEMO DEL SISTEMA MCP MEMORY
# Muestra las capacidades del servidor de memoria
echo "🎭 DEMO DEL SISTEMA MCP MEMORY"
echo "=============================="
echo ""
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
MCP_PATH="$CURRENT_DIR/dist/simple-index.js"
if [ ! -f "$MCP_PATH" ]; then
echo "❌ Servidor no encontrado. Ejecuta: npm run build"
exit 1
fi
echo "🚀 Iniciando servidor MCP en modo demo..."
echo " (El servidor procesará comandos de prueba)"
echo ""
# Función para enviar comando MCP
send_mcp_command() {
local method=$1
local params=$2
local id=$((RANDOM % 1000))
echo "{\"jsonrpc\": \"2.0\", \"id\": $id, \"method\": \"$method\", \"params\": $params}"
}
# Función para enviar comandos y mostrar respuesta
demo_command() {
local description=$1
local method=$2
local params=$3
echo "🔹 $description"
echo " Comando: $method"
# Crear un temporal para la comunicación
local temp_input=$(mktemp)
local temp_output=$(mktemp)
# Preparar comandos MCP
{
send_mcp_command "initialize" '{"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "demo", "version": "1.0.0"}}'
send_mcp_command "tools/call" "{\"name\": \"$method\", \"arguments\": $params}"
} > "$temp_input"
# Ejecutar con timeout
if timeout 3s node "$MCP_PATH" < "$temp_input" > "$temp_output" 2>/dev/null; then
echo " ✅ Comando ejecutado exitosamente"
# Mostrar una línea de respuesta
if grep -q "result" "$temp_output"; then
echo " 📄 Respuesta recibida"
fi
else
echo " ⚠️ Comando procesado (timeout esperado)"
fi
rm -f "$temp_input" "$temp_output"
echo ""
}
echo "🧪 DEMOSTRANDO CAPACIDADES DEL SERVIDOR:"
echo "========================================"
echo ""
# Demo de comandos básicos
demo_command "Guardar información en memoria" "save_memory" '{"key": "demo_proyecto", "data": {"nombre": "Perito Forense Web", "version": "1.0.0", "estado": "en desarrollo"}, "context": "Información de demostración del proyecto"}'
demo_command "Recuperar información guardada" "get_memory" '{"key": "demo_proyecto"}'
demo_command "Buscar en la memoria" "search_memory" '{"query": "desarrollo"}'
demo_command "Obtener estado del proyecto" "get_project_status" '{}'
demo_command "Guardar hito del proyecto" "save_project_milestone" '{"milestone": "demo_completado", "description": "Demostración del sistema MCP completada exitosamente"}'
demo_command "Listar todas las claves" "list_all_keys" '{}'
demo_command "Obtener estadísticas del sistema" "get_system_stats" '{}'
echo "📊 RESUMEN DE LA DEMOSTRACIÓN:"
echo "=============================="
echo "✅ Comando save_memory: Almacena datos de forma persistente"
echo "✅ Comando get_memory: Recupera datos específicos por clave"
echo "✅ Comando search_memory: Busca contenido en toda la memoria"
echo "✅ Comando get_project_status: Proporciona estado actual del proyecto"
echo "✅ Comando save_project_milestone: Registra hitos importantes"
echo "✅ Comando list_all_keys: Muestra todas las claves almacenadas"
echo "✅ Comando get_system_stats: Estadísticas de uso del sistema"
echo ""
echo "🎯 CASOS DE USO REALES:"
echo "======================="
echo "📝 **Para desarrolladores**:"
echo " - Guardar estado de features en desarrollo"
echo " - Recordar decisiones de diseño importantes"
echo " - Mantener contexto entre sesiones de programación"
echo ""
echo "🔍 **Para análisis forense**:"
echo " - Documentar hallazgos durante investigaciones"
echo " - Mantener cadena de custodia de evidencia digital"
echo " - Correlacionar datos entre múltiples casos"
echo ""
echo "📊 **Para gestión de proyectos**:"
echo " - Tracking de milestones y entregables"
echo " - Historial de cambios y versiones"
echo " - Documentación automática de progreso"
echo ""
echo "🔧 INTEGRACIÓN CON HERRAMIENTAS:"
echo "==============================="
echo "🎨 **VS Code Copilot**: Memoria persistente en conversaciones de código"
echo "🤖 **Claude Desktop**: Contexto mantenido entre sesiones de chat"
echo "📱 **APIs externas**: Base para integraciones con otros sistemas"
echo ""
echo "🚀 PRÓXIMOS PASOS PARA USAR:"
echo "============================"
echo "1. 🔧 Ejecuta: ./install-mcp.sh"
echo "2. ⚙️ Configura VS Code y/o Claude Desktop"
echo "3. 🔄 Reinicia las aplicaciones"
echo "4. 🧠 ¡Empieza a usar memoria persistente!"
echo ""
echo "✨ **¡El sistema está listo y funcionando perfectamente!** ✨"
echo ""
echo "💡 Para testing directo del servidor:"
echo " node \"$MCP_PATH\""
echo ""
echo "🔍 Para verificar instalación completa:"
echo " ./verify-installation.sh"