TechMCP

Se integra con el portal e-campus de PSG College of Technology para proporcionar a los asistentes de IA acceso a datos académicos de estudiantes como calificaciones, asistencia y horarios.

Documentación

🎓 TechMCP - Servidor MCP del PSG College of Technology

MCP Python FastMCP PSG Tech

TechMCP es un servidor integral del Protocolo de Contexto de Modelos (MCP) que se integra perfectamente con el portal e-campus del PSG College of Technology. Proporciona a asistentes de IA como Claude, Cursor y Raycast acceso directo a los datos académicos de los estudiantes, incluyendo calificaciones de CA, registros de asistencia e información de horarios.

🚀 ¡Alojamiento del servidor próximamente! No más configuración local necesaria.

✨ Características

📊 Herramientas de Calificaciones de CA y Evaluación

  • Calificaciones de CA1 y CA2: Obtén calificaciones de evaluación continua para materias individuales o todas las materias
  • Calificaciones de Tareas: Obtén puntuaciones de tareas para cursos teóricos
  • Calificaciones de Tutoría: Accede a calificaciones de tutoría y puntuaciones de MPT
  • Búsqueda de Materias: Busca por código o nombre de materia
  • Monitoreo de Salud: Verificaciones de salud integradas para el estado del scraper

📅 Gestión de Asistencia

  • Porcentaje de Asistencia: Seguimiento de asistencia en tiempo real para todas las materias
  • Horas Presentes/Ausentes: Desglose detallado de asistencia por horas
  • Calculadora de Faltas: Cálculo inteligente de faltas disponibles manteniendo la asistencia mínima
  • Análisis por Materia: Detalles de asistencia individual por materia
  • Alertas de Asistencia: Monitorea el estado de asistencia en todos los cursos

🕒 Sistema de Horarios Inteligente

  • Horario en Vivo: Obtén el horario completo del día actual
  • Próxima Clase: Encuentra tu próxima clase inmediata con detalles de ubicación
  • Clases Restantes: Ve lo que queda para hoy
  • Horario Semanal: Vista completa de la semana con todas las materias
  • Horario de Descansos: Rastrea los tiempos de descanso y el estado actual de los descansos
  • Horario de Mañana: Planifica con anticipación con el horario del día siguiente
  • Horario por Día: Obtén el horario para cualquier día de la semana

🎯 Gestión de Cursos

  • Directorio de Cursos: Lista completa de todos los cursos disponibles
  • Búsqueda de Cursos: Encuentra cursos por código o nombre
  • Información Detallada del Curso: Obtén detalles completos del curso incluyendo el horario
  • Mapeo de Materias: Mapeo automático entre códigos y nombres de cursos

🔮 Próximamente

  • Calculadora de CGPA: Calcula tu CGPA actual y predice el rendimiento futuro
  • Calendario de CA: Próximas fechas de evaluación continua
  • Calendario del Semestre: Fechas académicas importantes y plazos

📋 Requisitos Previos

  • Python 3.10+
  • Credenciales válidas del e-campus del PSG Tech
  • Conexión a internet para acceso al portal

🚀 Instalación

1. Clonar el Repositorio

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

2. Instalar Dependencias

pip install -r requirements.txt

3. Configurar Credenciales

⚠️ IMPORTANTE: Debes actualizar el archivo config.json con tus credenciales del e-campus del PSG Tech:

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

4. Iniciar el Servidor

python server.py

El servidor se iniciará en http://127.0.0.1:8080/sse y estará listo para conexiones MCP.

🔗 Conexión a Asistentes de IA

🖱️ Cursor IDE

  1. Crea el directorio de configuración de MCP:
mkdir -p ~/.cursor
  1. Crea ~/.cursor/mcp.json con el siguiente contenido:
{
  "mcpServers": {
    "techmcp": {
      "url": "http://127.0.0.1:8080/sse",
      "name": "TechMCP - PSG Tech Integration",
      "transport":"sse"
    }
  }
}
  1. Reinicia Cursor IDE
  2. El servidor aparecerá en tu configuración de MCP
  3. Comienza a hacer preguntas como: "¿Cuáles son mis calificaciones de CA1?" o "¿Cuál es mi próxima clase?"

🤖 Claude Desktop

  1. Instala el servidor localmente:
# From the TechMCP directory
mcp install server.py
  1. Reinicia Claude Desktop
  2. El servidor TechMCP estará disponible en el panel de herramientas de Claude
  3. ¡Pregúntale a Claude directamente sobre tus datos académicos!

⚡ Raycast

  1. Asegúrate de que el servidor esté ejecutándose en http://127.0.0.1:8080/sse
  2. Instala una extensión MCP compatible para Raycast
  3. Configura la URL del servidor en la configuración de Raycast
  4. Accede a tus datos académicos a través de los comandos de Raycast

🛠️ Herramientas Disponibles

Calificaciones y Evaluación

  • get_ca1_subject_mark - Obtén la calificación de CA1 para una materia específica
  • get_ca2_subject_mark - Obtén la calificación de CA2 para una materia específica
  • get_ca1_all_marks - Obtén las calificaciones de CA1 para todas las materias
  • get_ca2_all_marks - Obtén las calificaciones de CA2 para todas las materias
  • get_assignment_mark_by_subject - Obtén las calificaciones de tareas para una materia
  • get_all_assignment_marks - Obtén todas las calificaciones de tareas
  • get_tutorial_marks_by_subject - Obtén las calificaciones de tutoría para una materia
  • get_all_tutorial_marks - Obtén todas las calificaciones de tutoría
  • list_available_subjects - Lista todas las materias disponibles
  • health_check - Verifica el estado de salud del scraper

Gestión de Asistencia

  • get_subject_attendance_percentage - Obtén el % de asistencia para una materia
  • get_all_attendance_percentages - Obtén el % de asistencia para todas las materias
  • get_subject_absent_hours - Obtén las horas ausentes para una materia
  • get_all_absent_hours - Obtén las horas ausentes para todas las materias
  • get_subject_present_hours - Obtén las horas presentes para una materia
  • get_all_present_hours - Obtén las horas presentes para todas las materias
  • get_subject_available_bunks - Calcula las faltas disponibles para una materia
  • get_all_available_bunks - Calcula las faltas disponibles para todas las materias

Horarios y Programación

  • get_next_class - Obtén tu próxima clase programada
  • get_todays_schedule - Obtén el horario completo de hoy
  • get_schedule_from_now - Obtén las clases restantes para hoy
  • get_tomorrows_schedule - Obtén el horario de mañana
  • get_schedule_for_day - Obtén el horario para un día específico
  • get_weekly_schedule - Obtén el horario semanal completo
  • get_break_schedule - Obtén los tiempos de descanso y el estado actual

Información de Cursos

  • get_all_courses - Obtén la lista de todos los cursos
  • search_courses - Busca cursos por nombre o código
  • get_course_details - Obtén información detallada del curso

💡 Ejemplos de Uso

Con 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?"

Uso Directo de la API

# 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"}}'

🤝 Contribuciones

¡Agradecemos las contribuciones para mejorar TechMCP! Así es como puedes ayudar:

  1. Haz un fork del repositorio
  2. Crea una rama de características (git checkout -b feature/amazing-feature)
  3. Haz commit de tus cambios (git commit -m 'Add amazing feature')
  4. Haz push a la rama (git push origin feature/amazing-feature)
  5. Abre una Solicitud de Extracción (Pull Request)

🐛 Problemas y Sugerencias

🙏 Agradecimientos

⚖️ Legal y Privacidad

  • Este proyecto es solo para fines educativos
  • Usa tus propias credenciales para acceder a tus propios datos
  • No se almacenan ni transmiten datos a servidores externos
  • Respeta los términos de servicio del e-campus del PSG Tech
  • Código abierto y transparente

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🔧 Detalles Técnicos

  • Framework: FastMCP 2.0+
  • Web Scraping: Beautiful Soup 4, httpx
  • Modelos de Datos: Pydantic
  • Transporte: Eventos Enviados por el Servidor (SSE)
  • Autenticación: Basada en sesión con protección CSRF

Hecho con ❤️ para los Estudiantes del PSG Tech

Simplificando el acceso a datos académicos a través de IA

⭐ Marca este repositorio | 🐛 Reportar un Error | 💬 Únete a Discord