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
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
- Crie o diretório de configuração do MCP:
mkdir -p ~/.cursor
- Crie o arquivo
~/.cursor/mcp.jsoncom o seguinte conteúdo:
{
"mcpServers": {
"techmcp": {
"url": "http://127.0.0.1:8080/sse",
"name": "TechMCP - PSG Tech Integration",
"transport":"sse"
}
}
}
- Reinicie o Cursor IDE
- O servidor aparecerá nas configurações do MCP
- Comece a fazer perguntas como: "Quais são minhas notas de CA1?" ou "Qual é minha próxima aula?"
🤖 Claude Desktop
- Instale o servidor localmente:
# From the TechMCP directory
mcp install server.py
- Reinicie o Claude Desktop
- O servidor TechMCP estará disponível no painel de ferramentas do Claude
- Pergunte ao Claude sobre seus dados acadêmicos diretamente!
⚡ Raycast
- Certifique-se de que o servidor esteja rodando em
http://127.0.0.1:8080/sse - Instale uma extensão MCP compatível para o Raycast
- Configure a URL do servidor nas configurações do Raycast
- 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íficaget_ca2_subject_mark- Obtenha a nota de CA2 para uma disciplina específicaget_ca1_all_marks- Obtenha notas de CA1 para todas as disciplinasget_ca2_all_marks- Obtenha notas de CA2 para todas as disciplinasget_assignment_mark_by_subject- Obtenha notas de trabalhos para uma disciplinaget_all_assignment_marks- Obtenha todas as notas de trabalhosget_tutorial_marks_by_subject- Obtenha notas de tutoriais para uma disciplinaget_all_tutorial_marks- Obtenha todas as notas de tutoriaislist_available_subjects- Liste todas as disciplinas disponíveishealth_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 disciplinaget_all_attendance_percentages- Obtenha o percentual de frequência de todas as disciplinasget_subject_absent_hours- Obtenha horas ausentes de uma disciplinaget_all_absent_hours- Obtenha horas ausentes de todas as disciplinasget_subject_present_hours- Obtenha horas presentes de uma disciplinaget_all_present_hours- Obtenha horas presentes de todas as disciplinasget_subject_available_bunks- Calcule faltas disponíveis para uma disciplinaget_all_available_bunks- Calcule faltas disponíveis para todas as disciplinas
Horários e Agenda
get_next_class- Obtenha sua próxima aula agendadaget_todays_schedule- Obtenha a agenda completa de hojeget_schedule_from_now- Obtenha as aulas restantes de hojeget_tomorrows_schedule- Obtenha a agenda de amanhãget_schedule_for_day- Obtenha a agenda de um dia específicoget_weekly_schedule- Obtenha o horário semanal completoget_break_schedule- Obtenha horários de intervalo e status atual
Informações de Cursos
get_all_courses- Obtenha a lista de todos os cursossearch_courses- Pesquise cursos por nome ou códigoget_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:
- Faça um fork do repositório
- Crie um branch de funcionalidade (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Abra um Pull Request
🐛 Problemas e Sugestões
- Issues no GitHub: Crie um issue para bugs ou solicitações de recursos
- Comunidade Discord: Participe da nossa discussão em @discord.gg/fRFGPQKERJ
🙏 Agradecimentos
- @mathanamathav - Inspiração do projeto bunker-api
- PSG College of Technology - Pelo excelente portal e-campus
- Portal E-Campus - A fonte de todos os dados acadêmicos
⚖️ 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