このプロジェクトについて

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を完了します。Cookieはローカルの~/.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はロードマップに含まれています。