PAF-IAST LMS Automation
About
Automates interactions with the PAF-IAST Learning Management System (LMS) for AI assistants like Claude and VS Code Copilot.
Details
- Author
- qaziabsaar
- Categories
- Productivity, Other, Automation
Jump to
Getting Google Gemini Api Key Optional But Recommended
# Windows %APPDATA%\Claude\claude_desktop_config.json # macOS ~/Library/Application Support/Claude/claude_desktop_config.json # Linux ~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "lms-automation": { "command": "python", "args": ["C:/path/to/your/LMS-MCP/main.py"], "env": { "PYTHONPATH": "C:/path/to/your/LMS-MCP" } } } }
{ "name": "LMS Automation", "command": "python", "args": ["./main.py"], "cwd": "/path/to/LMS-MCP", "env": { "PYTHONPATH": "/path/to/LMS-MCP" } }
@lms-automation login to LMS and check my marks
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "MCP Client" and install
Create.vscode/settings.jsonin your project:
{ "mcp.servers": [ { "name": "lms-automation", "command": "python", "args": ["main.py"], "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
- Open Copilot Chat (Ctrl+Shift+I)
- Type:@mcp:lms-automation login and get my attendance
- login_to_lms- Login with credentials and CAPTCHA solving
- logout_lms- Logout and clear session
- check_attendance- Get attendance records by subject
- get_marks- Retrieve marks and grades
- get_timetable- Access class schedule
- create_application- Submit university applications
- view_application_status- Check application status
# 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?
# 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
- Verify credentials in.envfile
- Check if CAPTCHA solving is working
- Ensure university LMS is accessible
- Add Gemini API key for better accuracy
- Check internet connection
- Verify image preprocessing
- Sessions expire after 24 hours by default
- Re-login will create a new session
- CheckSESSION_EXPIRY_HOURSsetting
- Ensure Chrome is installed and updated
- CheckBROWSER_HEADLESSsetting
- Install required browser drivers
# In .env file DEBUG_MODE=true SAVE_SCREENSHOTS=true BROWSER_HEADLESS=false
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
- Initialization- Load configuration and setup browser
- Authentication- Login with CAPTCHA solving
- Session Management- Save/restore login sessions
- Data Extraction- Navigate and scrape academic data
- Response Formatting- Structure data for AI consumption
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch(git checkout -b feature/amazing-feature)
- Commit changes(git commit -m 'Add amazing feature')
- Push to branch(git push origin feature/amazing-feature)
- Open a Pull Request
# 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 .
This project is licensed under the MIT License - see theLICENSEfile for details.
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
- Documentation:Wiki
- Issues:GitHub Issues
- Discussions:GitHub Discussions
⭐ Star this repo|🐛 Report Bug|💡 Request Feature
MCP allowing your Agent to request human validation on webapps and apps.
A local office automation assistant for file system operations, system command execution, and browser control.
A TypeScript server for automation and integration, featuring Microsoft OAuth, browser control, and basic utilities.
Plugin-based MCP server that gives AI agents access to web applications through the user's authenticated browser session. Chrome extension with 100+ plugins for Slack, Discord, GitHub, Reddit, and more.
Open-source self-hostable MCP server with ~1,100 deterministic tools (web search, headless Chromium, PDFs, OCR, images, ~1,040 CPU utilities). Free to self-host or pay per call via x402 (USDC on Base).
A TypeScript MCP server for integrating with the AntBot AI-based RPA platform, handling tool listing and execution.
Manages development servers for LLM-assisted workflows, offering programmatic control through a unified TUI and experimental browser automation via Playwright.
GNOME Shell extension + Python MCP server giving AI assistants 30 tools to automate the Linux desktop: screenshots, window management, mouse/keyboard injection, clipboard, and workspaces.
Let Claude control your Mac — 12 typed tools for windows, menus, keyboard, clipboard, browser tabs
Automates interactions with the PAF-IAST Learning Management System (LMS) for AI assistants like Claude and VS Code Copilot.
🎓 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.
- Automated login with advanced CAPTCHA solving
- Google Gemini Vision API integration for enhanced accuracy
- Secure session management with encryption
- Automatic session persistence and restoration
- 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
- Headless browser operation for efficiency
- Intelligent form handling and DOM navigation
- Robust error handling and retry mechanisms
- Multi-method CAPTCHA solving (Vision AI + OCR)
- Environment-based configuration
- Encrypted session storage
- No hardcoded credentials
- Secure API key management
- Python 3.11+
- Git
- Chrome Browser(for automation)
- Google Gemini API Key(optional, for enhanced CAPTCHA solving)
git clone <your-repo-url> cd LMS-MCP
# Using uv (recommended) uv sync # Or using pip pip install -e .
# Copy the example environment file cp .env.example .env # Edit with your credentials (see Configuration section) notepad .env # Windows nano .env # Linux/Mac
Edit your.envfile with the following settings:
# 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
🔑 Getting Google Gemini API Key (Optional but Recommended)
# Windows %APPDATA%\Claude\claude_desktop_config.json # macOS ~/Library/Application Support/Claude/claude_desktop_config.json # Linux ~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "lms-automation": { "command": "python", "args": ["C:/path/to/your/LMS-MCP/main.py"], "env": { "PYTHONPATH": "C:/path/to/your/LMS-MCP" } } } }
{ "name": "LMS Automation", "command": "python", "args": ["./main.py"], "cwd": "/path/to/LMS-MCP", "env": { "PYTHONPATH": "/path/to/LMS-MCP" } }
@lms-automation login to LMS and check my marks
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "MCP Client" and install
Create.vscode/settings.jsonin your project:
{ "mcp.servers": [ { "name": "lms-automation", "command": "python", "args": ["main.py"], "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
- Open Copilot Chat (Ctrl+Shift+I)
- Type:@mcp:lms-automation login and get my attendance
- login_to_lms- Login with credentials and CAPTCHA solving
- logout_lms- Logout and clear session
- check_attendance- Get attendance records by subject
- get_marks- Retrieve marks and grades
- get_timetable- Access class schedule
- create_application- Submit university applications
- view_application_status- Check application status
# 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?
# 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
- Verify credentials in.envfile
- Check if CAPTCHA solving is working
- Ensure university LMS is accessible
- Add Gemini API key for better accuracy
- Check internet connection
- Verify image preprocessing
- Sessions expire after 24 hours by default
- Re-login will create a new session
- CheckSESSION_EXPIRY_HOURSsetting
- Ensure Chrome is installed and updated
- CheckBROWSER_HEADLESSsetting
- Install required browser drivers
# In .env file DEBUG_MODE=true SAVE_SCREENSHOTS=true BROWSER_HEADLESS=false
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
- Initialization- Load configuration and setup browser
- Authentication- Login with CAPTCHA solving
- Session Management- Save/restore login sessions
- Data Extraction- Navigate and scrape academic data
- Response Formatting- Structure data for AI consumption
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch(git checkout -b feature/amazing-feature)
- Commit changes(git commit -m 'Add amazing feature')
- Push to branch(git push origin feature/amazing-feature)
- Open a Pull Request
# 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 .
This project is licensed under the MIT License - see theLICENSEfile for details.
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
- Documentation:Wiki
- Issues:GitHub Issues
- Discussions:GitHub Discussions
⭐ Star this repo|🐛 Report Bug|💡 Request Feature
MCP allowing your Agent to request human validation on webapps and apps.
A local office automation assistant for file system operations, system command execution, and browser control.
A TypeScript server for automation and integration, featuring Microsoft OAuth, browser control, and basic utilities.
Plugin-based MCP server that gives AI agents access to web applications through the user's authenticated browser session. Chrome extension with 100+ plugins for Slack, Discord, GitHub, Reddit, and more.
Open-source self-hostable MCP server with ~1,100 deterministic tools (web search, headless Chromium, PDFs, OCR, images, ~1,040 CPU utilities). Free to self-host or pay per call via x402 (USDC on Base).
A TypeScript MCP server for integrating with the AntBot AI-based RPA platform, handling tool listing and execution.
Manages development servers for LLM-assisted workflows, offering programmatic control through a unified TUI and experimental browser automation via Playwright.
GNOME Shell extension + Python MCP server giving AI assistants 30 tools to automate the Linux desktop: screenshots, window management, mouse/keyboard injection, clipboard, and workspaces.
Let Claude control your Mac — 12 typed tools for windows, menus, keyboard, clipboard, browser tabs
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


