Skip to content

codit04/TechMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

26 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ TechMCP - PSG College of Technology MCP Server

MCP Python FastMCP PSG Tech

TechMCP is a comprehensive Model Context Protocol (MCP) server that seamlessly integrates with PSG College of Technology's e-campus portal. It provides AI assistants like Claude, Cursor, and Raycast with direct access to student academic data including CA marks, attendance records, and timetable information.

๐Ÿš€ Server hosting coming soon! No more local setup required.

โœจ Features

๐Ÿ“Š CA Marks & Assessment Tools

  • CA1 & CA2 Marks: Fetch continuous assessment marks for individual subjects or all subjects
  • Assignment Marks: Get assignment scores for theory courses
  • Tutorial Marks: Access tutorial marks and MPT scores
  • Subject Search: Search by subject code or subject name
  • Health Monitoring: Built-in health checks for scraper status

๐Ÿ“… Attendance Management

  • Attendance Percentage: Real-time attendance tracking for all subjects
  • Present/Absent Hours: Detailed hour-wise attendance breakdown
  • Bunk Calculator: Smart calculation of available bunks while maintaining minimum attendance
  • Subject-wise Analysis: Individual subject attendance details
  • Attendance Alerts: Monitor attendance status across all courses

๐Ÿ•’ Smart Timetable System

  • Live Schedule: Get current day's complete timetable
  • Next Class: Find your immediate next class with location details
  • Remaining Classes: See what's left for today
  • Weekly Schedule: Complete week view with all subjects
  • Break Schedule: Track break times and current break status
  • Tomorrow's Schedule: Plan ahead with next day's timetable
  • Day-specific Schedule: Get timetable for any day of the week

๐ŸŽฏ Course Management

  • Course Directory: Complete list of all available courses
  • Course Search: Find courses by code or name
  • Detailed Course Info: Get comprehensive course details including timetable
  • Subject Mapping: Automatic mapping between course codes and names

๐Ÿ”ฎ Coming Soon

  • CGPA Calculator: Calculate current CGPA and predict future performance
  • CA Schedule: Upcoming continuous assessment dates
  • Semester Schedule: Important academic dates and deadlines

๐Ÿ“‹ Prerequisites

  • Python 3.10+
  • Valid PSG Tech e-campus credentials
  • Internet connection for portal access

๐Ÿš€ Installation

1. Clone the Repository

git clone https://github.com/codit04/TechMCP.git
cd TechMCP

2. Install Dependencies

pip install -r requirements.txt

3. Configure Credentials

โš ๏ธ IMPORTANT: You must update the config.json file with your PSG Tech e-campus credentials:

{
    "credentials": {
        "roll_number": "YOUR_ACTUAL_ROLL_NUMBER",
        "password": "YOUR_ACTUAL_PASSWORD"
    },
    "server": {
        "host": "localhost",
        "port": 8080,
        "sse_mode": true
    }
}

4. Start the Server

python server.py

The server will start on http://127.0.0.1:8080/sse and be ready for MCP connections.

๐Ÿ”— Connecting to AI Assistants

๐Ÿ–ฑ๏ธ Cursor IDE

  1. Create the MCP configuration directory:
mkdir -p ~/.cursor
  1. Create ~/.cursor/mcp.json with the following content:
{
  "mcpServers": {
    "techmcp": {
      "url": "http://127.0.0.1:8080/sse",
      "name": "TechMCP - PSG Tech Integration",
      "transport":"sse"
    }
  }
}
  1. Restart Cursor IDE
  2. The server will appear in your MCP settings
  3. Start asking questions like: "What are my CA1 marks?" or "What's my next class?"

๐Ÿค– Claude Desktop

  1. Install the server locally:
# From the TechMCP directory
mcp install server.py
  1. Restart Claude Desktop
  2. The TechMCP server will be available in Claude's tools panel
  3. Ask Claude about your academic data directly!

โšก Raycast

  1. Ensure the server is running on http://127.0.0.1:8080/sse
  2. Install a compatible MCP extension for Raycast
  3. Configure the server URL in Raycast settings
  4. Access your academic data through Raycast commands

๐Ÿ› ๏ธ Available Tools

Marks & Assessment

  • get_ca1_subject_mark - Get CA1 mark for a specific subject
  • get_ca2_subject_mark - Get CA2 mark for a specific subject
  • get_ca1_all_marks - Get CA1 marks for all subjects
  • get_ca2_all_marks - Get CA2 marks for all subjects
  • get_assignment_mark_by_subject - Get assignment marks for a subject
  • get_all_assignment_marks - Get all assignment marks
  • get_tutorial_marks_by_subject - Get tutorial marks for a subject
  • get_all_tutorial_marks - Get all tutorial marks
  • list_available_subjects - List all available subjects
  • health_check - Check scraper health status

Attendance Management

  • get_subject_attendance_percentage - Get attendance % for a subject
  • get_all_attendance_percentages - Get attendance % for all subjects
  • get_subject_absent_hours - Get absent hours for a subject
  • get_all_absent_hours - Get absent hours for all subjects
  • get_subject_present_hours - Get present hours for a subject
  • get_all_present_hours - Get present hours for all subjects
  • get_subject_available_bunks - Calculate available bunks for a subject
  • get_all_available_bunks - Calculate available bunks for all subjects

Timetable & Schedule

  • get_next_class - Get your next scheduled class
  • get_todays_schedule - Get today's complete schedule
  • get_schedule_from_now - Get remaining classes for today
  • get_tomorrows_schedule - Get tomorrow's schedule
  • get_schedule_for_day - Get schedule for a specific day
  • get_weekly_schedule - Get complete weekly timetable
  • get_break_schedule - Get break times and current status

Course Information

  • get_all_courses - Get list of all courses
  • search_courses - Search courses by name or code
  • get_course_details - Get detailed course information

๐Ÿ’ก Usage Examples

With Cursor/Claude

"What are my CA1 marks for Data Structures?"
"Show me my attendance percentage for all subjects"
"What's my next class?"
"How many hours can I bunk in Computer Networks while maintaining 75% attendance?"
"What's my complete schedule for tomorrow?"

Direct API Usage

# Get CA1 marks for a subject
curl -X POST http://127.0.0.1:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"method": "get_ca1_subject_mark", "params": {"subject": "20XTO1"}}'

๐Ÿค Contributing

We welcome contributions to improve TechMCP! Here's how you can help:

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

๐Ÿ› Issues & Suggestions

๐Ÿ™ Acknowledgments

โš–๏ธ Legal & Privacy

  • This project is for educational purposes only
  • Uses your own credentials to access your own data
  • No data is stored or transmitted to external servers
  • Respects PSG Tech's e-campus terms of service
  • Open source and transparent

๐Ÿ“„ License

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

๐Ÿ”ง Technical Details

  • Framework: FastMCP 2.0+
  • Web Scraping: Beautiful Soup 4, httpx
  • Data Models: Pydantic
  • Transport: Server-Sent Events (SSE)
  • Authentication: Session-based with CSRF protection

Made with โค๏ธ for PSG Tech Students

Simplifying academic data access through AI

โญ Star this repo | ๐Ÿ› Report Bug | ๐Ÿ’ฌ Join Discord

About

MCP server for PSG College of Technology

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages