PAF-IAST LMS Automation
Automatiza las interacciones con el Sistema de Gestión de Aprendizaje (LMS) PAF-IAST para asistentes de IA como Claude y VS Code Copilot.
Documentación
🎓 Servidor MCP LMS - Automatización de la Universidad PAF-IAST
Un potente servidor de Protocolo de Contexto de Modelo (MCP) que automatiza las interacciones con el LMS de PAF-IAST mediante asistentes de IA como Claude, Cursor y VS Code Copilot.
🌟 Características
🔐 Autenticación Inteligente
- Inicio de sesión automatizado con resolución avanzada de CAPTCHA
- Integración con la API de Google Gemini Vision para mayor precisión
- Gestión segura de sesiones con cifrado
- Persistencia y restauración automática de sesiones
📊 Acceso a Datos Académicos
- Seguimiento de Asistencia - Registros de asistencia en tiempo real por asignatura
- Notas y Calificaciones - Puntuaciones de exámenes y evaluaciones completas
- Gestión de Horarios - Horarios de clases y calendario académico
- Sistema de Solicitudes - Envía y realiza seguimiento de solicitudes universitarias
🤖 Automatización Impulsada por IA
- Operación de navegador sin interfaz gráfica para mayor eficiencia
- Manejo inteligente de formularios y navegación DOM
- Manejo robusto de errores y mecanismos de reintento
- Resolución de CAPTCHA por múltiples métodos (IA de Visión + OCR)
🛡️ Seguridad y Privacidad
- Configuración basada en variables de entorno
- Almacenamiento de sesiones cifrado
- Sin credenciales codificadas
- Gestión segura de claves API
🚀 Inicio Rápido
📋 Requisitos Previos
- Python 3.11+
- Git
- Navegador Chrome (para automatización)
- Clave API de Google Gemini (opcional, para resolución mejorada de CAPTCHA)
📦 Instalación
-
Clona el repositorio:
git clone <your-repo-url> cd LMS-MCP -
Instala las dependencias:
# Using uv (recommended) uv sync # Or using pip pip install -e . -
Configura el entorno:
# Copy the example environment file cp .env.example .env # Edit with your credentials (see Configuration section) notepad .env # Windows nano .env # Linux/Mac
⚙️ Configuración
📝 Configuración del Entorno
Edita tu archivo .env con la siguiente configuración:
# Required: Your PAF-IAST credentials
LMS_USERNAME=your_student_id_here
LMS_PASSWORD=your_password_here
# Optional: Enhanced CAPTCHA solving
GEMINI_API_KEY=your_gemini_api_key_here
# Browser settings
BROWSER_HEADLESS=true # Set to false for debugging
# Session settings
SESSION_EXPIRY_HOURS=24
ENCRYPT_SESSIONS=true
🔑 Obtención de la Clave API de Google Gemini (Opcional pero Recomendada)
- Visita Google AI Studio
- Inicia sesión con tu cuenta de Google
- Haz clic en "Crear Clave API"
- Copia la clave API a tu archivo
.env
🔧 Configuración con Asistentes de IA
🤖 Configuración de Claude Desktop
-
Localiza el archivo de configuración de Claude:
# Windows %APPDATA%\Claude\claude_desktop_config.json # macOS ~/Library/Application Support/Claude/claude_desktop_config.json # Linux ~/.config/Claude/claude_desktop_config.json -
Añade la configuración del servidor MCP:
{ "mcpServers": { "lms-automation": { "command": "python", "args": ["C:/path/to/your/LMS-MCP/main.py"], "env": { "PYTHONPATH": "C:/path/to/your/LMS-MCP" } } } } -
Reinicia Claude Desktop
-
Prueba la conexión:
Can you check my LMS attendance?
💻 Configuración del IDE Cursor
-
Abre el IDE Cursor
-
Ve a Configuración (Ctrl/Cmd + ,)
-
Navega a Extensiones → MCP
-
Añade un nuevo servidor MCP:
{ "name": "LMS Automation", "command": "python", "args": ["./main.py"], "cwd": "/path/to/LMS-MCP", "env": { "PYTHONPATH": "/path/to/LMS-MCP" } } -
Reinicia Cursor
-
Prueba en el chat:
@lms-automation login to LMS and check my marks
🆚 Configuración de VS Code con GitHub Copilot
-
Instala la Extensión MCP:
- Abre VS Code
- Ve a Extensiones (Ctrl+Shift+X)
- Busca "Cliente MCP" e instala
-
Configura el servidor MCP:
Crea
.vscode/settings.jsonen tu proyecto:{ "mcp.servers": [ { "name": "lms-automation", "command": "python", "args": ["main.py"], "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] } -
Úsalo con Copilot Chat:
- Abre Copilot Chat (Ctrl+Shift+I)
- Escribe:
@mcp:lms-automation login and get my attendance
🛠️ Herramientas MCP Disponibles
🔐 Autenticación
login_to_lms- Inicia sesión con credenciales y resolución de CAPTCHAlogout_lms- Cierra sesión y limpia la sesión
📊 Datos Académicos
check_attendance- Obtiene registros de asistencia por asignaturaget_marks- Recupera notas y calificacionesget_timetable- Accede al horario de clases
📝 Solicitudes
create_application- Envía solicitudes universitariasview_application_status- Consulta el estado de las solicitudes
🔧 Utilidades
solve_captcha- Resolución manual de CAPTCHA
💡 Ejemplos de Uso
Inicio de Sesión Básico y Recuperación de Datos
# Login to LMS
Login to PAF-IAST LMS with my credentials
# Check attendance
What's my current attendance status?
# Get marks
Show me my latest marks and grades
# View timetable
What's my class schedule for today?
Consultas Avanzadas
# Comprehensive report
Generate a summary report of my academic performance including attendance, marks, and upcoming classes
# Specific subject
What's my attendance percentage for Computer Science subjects?
# Application tracking
Check the status of my scholarship application
🔍 Solución de Problemas
Problemas Comunes
❌ Error de Inicio de Sesión
- Verifica las credenciales en el archivo
.env - Comprueba que la resolución de CAPTCHA esté funcionando
- Asegúrate de que el LMS de la universidad sea accesible
❌ El CAPTCHA No se Resuelve
- Añade la clave API de Gemini para mayor precisión
- Comprueba la conexión a internet
- Verifica el preprocesamiento de imágenes
❌ Sesión Expirada
- Las sesiones expiran después de 24 horas por defecto
- Volver a iniciar sesión creará una nueva sesión
- Comprueba la configuración de
SESSION_EXPIRY_HOURS
❌ Problemas con el Navegador
- Asegúrate de que Chrome esté instalado y actualizado
- Comprueba la configuración de
BROWSER_HEADLESS - Instala los controladores de navegador necesarios
Modo de Depuración
Activa el modo de depuración para solucionar problemas:
# In .env file
DEBUG_MODE=true
SAVE_SCREENSHOTS=true
BROWSER_HEADLESS=false
🏗️ Arquitectura
🧱 Componentes Principales
LMS-MCP/
├── main.py # MCP server entry point
├── lms_automation.py # Core automation logic
├── captcha_solver.py # CAPTCHA solving algorithms
├── session_manager.py # Session persistence
├── config.py # Configuration management
├── models/ # Data models
│ ├── attendance.py
│ ├── marks.py
│ └── timetable.py
└── utils/ # Utility functions
├── encryption.py
├── image_processor.py
└── web_scraper.py
🔄 Flujo de Trabajo
- Inicialización - Carga la configuración y configura el navegador
- Autenticación - Inicia sesión con resolución de CAPTCHA
- Gestión de Sesiones - Guarda/restaura sesiones de inicio de sesión
- Extracción de Datos - Navega y extrae datos académicos
- Formato de Respuestas - Estructura los datos para el consumo de IA
🤝 Contribuciones
¡Damos la bienvenida a las contribuciones! Así es como empezar:
- Haz un fork del repositorio
- Crea una rama de características (
git checkout -b feature/amazing-feature) - Confirma los cambios (
git commit -m 'Add amazing feature') - Sube la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
Configuración de Desarrollo
# Clone your fork
git clone https://github.com/yourusername/LMS-MCP.git
cd LMS-MCP
# Install development dependencies
uv sync --dev
# Run tests
python -m pytest
# Run linting
black . && flake8 .
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.
⚠️ Aviso Legal
Esta herramienta es solo para fines educativos y uso personal. Los usuarios son responsables de:
- Cumplir con las políticas de la universidad
- Asegurar sus propias credenciales
- Usar la herramienta de manera responsable
- No sobrecargar los servidores de la universidad
📞 Soporte
- Documentación: Wiki
- Problemas: Problemas de GitHub
- Discusiones: Discusiones de GitHub
Hecho con ❤️ para los estudiantes de PAF-IAST
⭐ Marca este repositorio | 🐛 Reportar un Error | 💡 Solicitar una Función