Sobre el proyecto

campus-cli es una herramienta de línea de comandos y servidor MCP no oficial para estudiantes de la UPC (Perú) que usan Blackboard Learn (Aula Virtual). Permite consultar cursos, horarios, tareas pendientes, fechas de entrega, notas, anuncios, mensajes y materiales sin abrir el navegador, y expone esa información a asistentes de IA compatibles con Model Context Protocol. Capacidades principales: - Listar cursos del ciclo, ver contenidos, carpetas, anuncios, mensajes y calificaciones. - Consultar tareas pendientes, historial de intentos, feedback del profesor y horario semanal (Banner UPC). - Descargar archivos y carpetas completas de Blackboard, con límites de tamaño y sin sobrescribir archivos. - Subir archivos, guardar borradores y entregar tareas, con confirmación explícita del cliente MCP. - Buscar publicaciones académicas en Crossref, OpenAlex, IEEE Xplore, ACM, Scopus, Web of Science y ScienceDirect, verificar DOI y avisos de retractación. - Acceder a grabaciones y transcripciones de UPC Class mediante la sesión SSO existente. - Ejecutar llamadas directas a la API pública de Blackboard y salida JSON para scripting. Modos de uso: CLI directo, servidor MCP por stdio (npx campus-cli mcp) y API raw. Se integra con Claude Desktop, Claude Code, Cursor, GitHub Copilot, OpenAI Codex CLI y Windsurf mediante configuración de servidor MCP. Autenticación y privacidad: usa Playwright para abrir Chromium y completar el SSO de Microsoft; las cookies se guardan localmente en ~/.blackboard-cli/session.json. No requiere clave OAuth de la universidad ni servidor intermedio. La analítica opcional con PostHog usa una lista blanca de propiedades y puede desactivarse con POSTHOG_DISABLED=1. Requisitos: Node.js 22.13.0 o superior, cuenta UPC activa y entorno donde Playwright pueda abrir Chromium. Stack: TypeScript, Playwright, Axios, Commander.js, MCP SDK. Licencia ISC. Canvas y Moodle están en el roadmap.