FAST-NUCES flex Student Portal MCP Server
An MCP server that connects AI assistants like Claude Desktop or GitHub Copilot directly to your Flex Student Portal. Ask questions about your academic data in plain English.
What Can You Do?
Once connected, just chat naturally:
| Ask This | Get This |
|---|---|
| "Roast my transcript" | A brutally honest AI review of your transcript |
| "Am I passing PF?" | Quick calculation of your current standing |
| "How many classes did I bunk?" | Attendance reality check |
| "Compare my marks to class average" | See where you stand vs classmates |
Requirements
- Python 3.11+
- Google Chrome installed (for login automation)
- Claude Desktop or GitHub Copilot (with MCP support)
Installation
-
Clone and install dependencies:
git clone <repo-url> cd FLEX pip install -r requirements.txt -
Create
.envfile with your credentials:FLEX_ROLL_NO=22F-XXXX FLEX_PASSWORD=your_password -
Configure your MCP client:
Claude Desktop
Edit
%APPDATA%\Claude\claude_desktop_config.json:{ "mcpServers": { "flex": { "command": "python", "args": ["C:/path/to/FLEX/server.py"], "env": { "FLEX_ROLL_NO": "22F-XXXX", "FLEX_PASSWORD": "your_password" } } } }GitHub Copilot
Add to your MCP settings:
{ "flex": { "command": "python", "args": ["C:/path/to/FLEX/server.py"] } }
Usage
- Start your MCP client (Claude Desktop / Copilot)
- The first time, say "Login to FLEX" ,Chrome will open for CAPTCHA
- If image CAPTCHA appears, solve it manually (you have 2 minutes)
- Once logged in, ask away!
Available Tools
| Tool | Description |
|---|---|
login | Opens Chrome for CAPTCHA-authenticated login |
get_attendance | Fetches attendance for all courses |
get_marks | Gets detailed marks with class statistics |
get_transcript | Full academic transcript with GPAs |
get_mca | Modified Class Average for relative grading |
get_courses | Current semester registered courses |
get_fee_report | Payment history and fee details |
check_login_status | Verify if session is active |
Project Structure
FLEX/
├── server.py # MCP entry point
├── auth.py # Login & session management
├── tools/ # MCP tool implementations
│ ├── login.py
│ ├── attendance.py
│ ├── marks.py
│ ├── transcript.py
│ ├── mca.py
│ ├── courses.py
│ ├── fees.py
│ └── status.py
└── parsers/ # HTML parsing logic
├── attendance.py
├── marks.py
├── transcript.py
├── courses.py
├── fees.py
└── challan.py
Notes
- Login session persists until you restart the MCP server
- Chrome must be installed (Other browsers are not supported, well if you can add support please do)
- Your credentials are only used locally, never transmitted elsewhere
- Image CAPTCHAs require manual solving, the browser stays open for you