프로젝트 소개

campus-cli는 Blackboard Learn(Aula Virtual)을 사용하는 페루 UPC 학생을 위한 비공식 명령줄 도구이자 MCP 서버입니다. 브라우저를 열지 않고도 강좌, 시간표, 대기 중인 과제, 제출 기한, 성적, 공지, 메시지, 자료를 조회할 수 있으며, Model Context Protocol을 지원하는 AI 어시스턴트에 해당 정보를 제공합니다. 주요 기능: - 학기 강좌 목록, 콘텐츠, 폴더, 공지, 메시지, 성적 조회. - 대기 중인 과제, 시도 이력, 교수 피드백, 주간 시간표(Banner UPC) 조회. - Blackboard의 파일 및 전체 폴더 다운로드, 크기 제한 및 파일 덮어쓰기 방지. - 파일 업로드, 초안 저장, 과제 제출, MCP 클라이언트의 명시적 확인 필요. - Crossref, OpenAlex, IEEE Xplore, ACM, Scopus, Web of Science, ScienceDirect에서 학술 논문 검색, DOI 확인 및 철회 공지 확인. - 기존 SSO 세션을 통해 UPC Class 녹화 및 녹취록 접근. - Blackboard 공개 API 직접 호출 및 스크립팅용 JSON 출력. 사용 모드: 직접 CLI, stdio를 통한 MCP 서버(npx campus-cli mcp), raw API. MCP 서버 설정을 통해 Claude Desktop, Claude Code, Cursor, GitHub Copilot, OpenAI Codex CLI, Windsurf와 통합됩니다. 인증 및 개인정보: Playwright를 사용하여 Chromium을 열고 Microsoft SSO를 완료합니다. 쿠키는 로컬 ~/.blackboard-cli/session.json에 저장됩니다. 대학 OAuth 키나 중간 서버가 필요하지 않습니다. 선택적 PostHog 분석은 속성 허용 목록을 사용하며 POSTHOG_DISABLED=1로 비활성화할 수 있습니다. 요구사항: Node.js 22.13.0 이상, 활성 UPC 계정, Playwright가 Chromium을 열 수 있는 환경. 스택: TypeScript, Playwright, Axios, Commander.js, MCP SDK. 라이선스 ISC. Canvas와 Moodle은 로드맵에 있습니다.