TechMCP

Integra-se ao portal e-campus do PSG College of Technology para fornecer acesso de assistentes de IA a dados acadêmicos de estudantes, como notas, frequência e horários.

Documentação

🎓 TechMCP - Servidor MCP do PSG College of Technology

MCP Python FastMCP PSG Tech

TechMCP é um servidor abrangente do Model Context Protocol (MCP) que se integra perfeitamente ao portal e-campus do PSG College of Technology. Ele fornece a assistentes de IA como Claude, Cursor e Raycast acesso direto aos dados acadêmicos dos estudantes, incluindo notas de CA, registros de frequência e informações de horários.

🚀 Hospedagem do servidor em breve! Sem necessidade de configuração local.

✨ Recursos

📊 Ferramentas de Notas e Avaliação (CA)

  • Notas CA1 e CA2: Busque notas de avaliação contínua para disciplinas individuais ou todas as disciplinas
  • Notas de Trabalhos (Assignments): Obtenha pontuações de trabalhos para cursos teóricos
  • Notas de Tutoriais: Acesse notas de tutoriais e pontuações MPT
  • Busca de Disciplinas: Pesquise por código ou nome da disciplina
  • Monitoramento de Saúde: Verificações de saúde integradas para o status do scraper

📅 Gerenciamento de Frequência

  • Percentual de Frequência: Acompanhamento em tempo real da frequência em todas as disciplinas
  • Horas Presentes/Ausentes: Detalhamento de frequência por hora
  • Calculadora de Faltas Permitidas: Cálculo inteligente de faltas disponíveis mantendo a frequência mínima
  • Análise por Disciplina: Detalhes de frequência de disciplinas individuais
  • Alertas de Frequência: Monitore o status de frequência em todos os cursos

🕒 Sistema de Horários Inteligente

  • Agenda ao Vivo: Obtenha o horário completo do dia atual
  • Próxima Aula: Encontre sua próxima aula imediata com detalhes de localização
  • Aulas Restantes: Veja o que resta para hoje
  • Agenda Semanal: Visão completa da semana com todas as disciplinas
  • Agenda de Intervalos: Acompanhe horários de intervalo e status atual
  • Agenda de Amanhã: Planeje com antecedência usando o horário do próximo dia
  • Agenda por Dia: Obtenha o horário para qualquer dia da semana

🎯 Gerenciamento de Cursos

  • Diretório de Cursos: Lista completa de todos os cursos disponíveis
  • Busca de Cursos: Encontre cursos por código ou nome
  • Informações Detalhadas do Curso: Obtenha detalhes abrangentes do curso, incluindo horários
  • Mapeamento de Disciplinas: Mapeamento automático entre códigos e nomes de cursos

🔮 Em Breve

  • Calculadora de CGPA: Calcule o CGPA atual e preveja desempenho futuro
  • Agenda de CA: Próximas datas de avaliação contínua
  • Agenda do Semestre: Datas e prazos acadêmicos importantes

📋 Pré-requisitos

  • Python 3.10+
  • Credenciais válidas do e-campus do PSG Tech
  • Conexão com a internet para acesso ao portal

🚀 Instalação

1. Clone o Repositório

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

2. Instale as Dependências

pip install -r requirements.txt

3. Configure as Credenciais

⚠️ IMPORTANTE: Você deve atualizar o arquivo config.json com suas credenciais do e-campus do PSG Tech:

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

4. Inicie o Servidor

python server.py

O servidor iniciará em http://127.0.0.1:8080/sse e estará pronto para conexões MCP.

🔗 Conectando a Assistentes de IA

🖱️ Cursor IDE

  1. Crie o diretório de configuração do MCP:
mkdir -p ~/.cursor
  1. Crie o arquivo ~/.cursor/mcp.json com o seguinte conteúdo:
{
  "mcpServers": {
    "techmcp": {
      "url": "http://127.0.0.1:8080/sse",
      "name": "TechMCP - PSG Tech Integration",
      "transport":"sse"
    }
  }
}
  1. Reinicie o Cursor IDE
  2. O servidor aparecerá nas configurações do MCP
  3. Comece a fazer perguntas como: "Quais são minhas notas de CA1?" ou "Qual é minha próxima aula?"

🤖 Claude Desktop

  1. Instale o servidor localmente:
# From the TechMCP directory
mcp install server.py
  1. Reinicie o Claude Desktop
  2. O servidor TechMCP estará disponível no painel de ferramentas do Claude
  3. Pergunte ao Claude sobre seus dados acadêmicos diretamente!

⚡ Raycast

  1. Certifique-se de que o servidor esteja rodando em http://127.0.0.1:8080/sse
  2. Instale uma extensão MCP compatível para o Raycast
  3. Configure a URL do servidor nas configurações do Raycast
  4. Acesse seus dados acadêmicos através dos comandos do Raycast

🛠️ Ferramentas Disponíveis

Notas e Avaliação

  • get_ca1_subject_mark - Obtenha a nota de CA1 para uma disciplina específica
  • get_ca2_subject_mark - Obtenha a nota de CA2 para uma disciplina específica
  • get_ca1_all_marks - Obtenha notas de CA1 para todas as disciplinas
  • get_ca2_all_marks - Obtenha notas de CA2 para todas as disciplinas
  • get_assignment_mark_by_subject - Obtenha notas de trabalhos para uma disciplina
  • get_all_assignment_marks - Obtenha todas as notas de trabalhos
  • get_tutorial_marks_by_subject - Obtenha notas de tutoriais para uma disciplina
  • get_all_tutorial_marks - Obtenha todas as notas de tutoriais
  • list_available_subjects - Liste todas as disciplinas disponíveis
  • health_check - Verifique o status de saúde do scraper

Gerenciamento de Frequência

  • get_subject_attendance_percentage - Obtenha o percentual de frequência de uma disciplina
  • get_all_attendance_percentages - Obtenha o percentual de frequência de todas as disciplinas
  • get_subject_absent_hours - Obtenha horas ausentes de uma disciplina
  • get_all_absent_hours - Obtenha horas ausentes de todas as disciplinas
  • get_subject_present_hours - Obtenha horas presentes de uma disciplina
  • get_all_present_hours - Obtenha horas presentes de todas as disciplinas
  • get_subject_available_bunks - Calcule faltas disponíveis para uma disciplina
  • get_all_available_bunks - Calcule faltas disponíveis para todas as disciplinas

Horários e Agenda

  • get_next_class - Obtenha sua próxima aula agendada
  • get_todays_schedule - Obtenha a agenda completa de hoje
  • get_schedule_from_now - Obtenha as aulas restantes de hoje
  • get_tomorrows_schedule - Obtenha a agenda de amanhã
  • get_schedule_for_day - Obtenha a agenda de um dia específico
  • get_weekly_schedule - Obtenha o horário semanal completo
  • get_break_schedule - Obtenha horários de intervalo e status atual

Informações de Cursos

  • get_all_courses - Obtenha a lista de todos os cursos
  • search_courses - Pesquise cursos por nome ou código
  • get_course_details - Obtenha informações detalhadas do curso

💡 Exemplos de Uso

Com 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 Direto da 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"}}'

🤝 Contribuindo

Aceitamos contribuições para melhorar o TechMCP! Veja como você pode ajudar:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add amazing feature')
  4. Envie para o branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

🐛 Problemas e Sugestões

🙏 Agradecimentos

⚖️ Legal e Privacidade

  • Este projeto é apenas para fins educacionais
  • Usa suas próprias credenciais para acessar seus próprios dados
  • Nenhum dado é armazenado ou transmitido para servidores externos
  • Respeita os termos de serviço do e-campus do PSG Tech
  • Código aberto e transparente

📄 Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.

🔧 Detalhes Técnicos

  • Framework: FastMCP 2.0+
  • Web Scraping: Beautiful Soup 4, httpx
  • Modelos de Dados: Pydantic
  • Transporte: Server-Sent Events (SSE)
  • Autenticação: Baseada em sessão com proteção CSRF

Feito com ❤️ para estudantes do PSG Tech

Simplificando o acesso a dados acadêmicos através de IA

⭐ Dê uma estrela neste repositório | 🐛 Reporte um Bug | 💬 Participe do Discord