Labsco
QaziAbsaar logo

PAF-IAST LMS Automation

β˜… 1

from QaziAbsaar

Automates interactions with the PAF-IAST Learning Management System (LMS) for AI assistants like Claude and VS Code Copilot.

πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

πŸŽ“ LMS MCP Server - PAF-IAST University Automation

A powerful Model Context Protocol (MCP) server that automates PAF-IAST LMS interactions with AI assistants like Claude, Cursor, and VS Code Copilot.

Python MCP License

🌟 Features

πŸ” Smart Authentication

  • Automated login with advanced CAPTCHA solving
  • Google Gemini Vision API integration for enhanced accuracy
  • Secure session management with encryption
  • Automatic session persistence and restoration

πŸ“Š Academic Data Access

  • Attendance Tracking - Real-time attendance records by subject
  • Marks & Grades - Comprehensive exam scores and assessments
  • Timetable Management - Class schedules and academic calendar
  • Application System - Submit and track university applications

πŸ€– AI-Powered Automation

  • Headless browser operation for efficiency
  • Intelligent form handling and DOM navigation
  • Robust error handling and retry mechanisms
  • Multi-method CAPTCHA solving (Vision AI + OCR)

πŸ›‘οΈ Security & Privacy

  • Environment-based configuration
  • Encrypted session storage
  • No hardcoded credentials
  • Secure API key management

πŸ› οΈ Available MCP Tools

πŸ” Authentication

  • login_to_lms - Login with credentials and CAPTCHA solving
  • logout_lms - Logout and clear session

πŸ“Š Academic Data

  • check_attendance - Get attendance records by subject
  • get_marks - Retrieve marks and grades
  • get_timetable - Access class schedule

πŸ“ Applications

  • create_application - Submit university applications
  • view_application_status - Check application status

πŸ”§ Utilities

  • solve_captcha - Manual CAPTCHA solving

πŸ—οΈ Architecture

🧱 Core Components

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

πŸ”„ Workflow

  1. Initialization - Load configuration and setup browser
  2. Authentication - Login with CAPTCHA solving
  3. Session Management - Save/restore login sessions
  4. Data Extraction - Navigate and scrape academic data
  5. Response Formatting - Structure data for AI consumption

🀝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# 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 .

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


⚠️ Disclaimer

This tool is for educational purposes and personal use only. Users are responsible for:

  • Complying with university policies
  • Securing their own credentials
  • Using the tool responsibly
  • Not overloading university servers

πŸ“ž Support


<div align="center">

Made with ❀️ for PAF-IAST students

⭐ Star this repo | πŸ› Report Bug | πŸ’‘ Request Feature

</div>