campus-cli について
campus-cliは、Campusリレー経由で大学のBlackboardデータにアクセスするコマンドラインクライアントです。学生はコース、課題、成績、教材を参照でき、MCPクライアントからリレーのツールやリソースを利用できます。
主な機能
- 01リレー経由のBlackboardデータアクセス
- 02コース、課題、成績のコマンド
- 03MCPツールの検索と呼び出し
- 04コースファイルのダウンロード
- 05OAuthログインと大学MFAの手順
活用シーン
- 01コースや課題の一覧確認
- 02成績やコース内容の確認
- 03公開済み大学ツールの検索と実行
- 04教材のローカルフォルダーへのダウンロード
MCP 対応
stdio MCPプロセスは、ツール、リソース、指示、結果、確認要求などのプロトコル通信を認証済みCampusリレーへ転送します。MCP対応クライアントはOAuthを使ってリモートエンドポイントへ直接接続することもできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
19掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
campus-cli
Campus のリレーを介して、大学のキャンパスをターミナルまたは AI クライアントに接続します。
バージョン 3.0.0。 このバージョンではアーキテクチャが変更され、すべてのデータコマンドと stdio 経由の MCP が、認証済みリレーを使用するようになりました。サーバーは各操作でアカウントのプランと利用枠を適用します。CLI をインストールしても無料でアクセスできるわけではなく、これらの制限を回避することもできません。
現在のリレーのポリシーでは、5 回の試用クエリが維持されています。この移行により、新しい配布版のローカルな代替手段は終了しますが、サーバーの試用ポリシーは変更されず、すでにダウンロード済みのコードやバージョン 2.x を削除することもできません。
Campus は非公式の統合です。Blackboard、UPC、UPN、その他の大学はこのプロジェクトを後援していません。Canvas と Moodle は引き続きロードマップに含まれています。
インストールとログイン
Node.js 22.13 以降と、アカウントを認証するためのブラウザーが必要です。
npm install -g [email protected]
campus login
campus courses list --json
campus assignments list <courseId> --json
campus login は OAuth で Campus アカウントを認証した後、お使いのコンピューター上で Playwright を起動し、大学にログインして MFA を完了します。リレーへの大学の Cookie のみの送信について同意を求めます。パスワードや Microsoft または Google の Cookie は送信されません。リレーはセッションを暗号化して保存し、MCP トークンを有効にする前に Blackboard に対して本人確認を行います。campus account login はエイリアスです。以前の Blackboard のローカルセッションや Google アカウントのローカルセッションでは、リレーにアクセスできません。リレーを利用するには、1 回認証する必要があります。
Playwright はクライアントの依存関係に含まれており、ローカルの Chrome/Edge を検索します。必要に応じて、ログイン用に Chromium をインストールします。ブラウザーは一時的なコンテキストを使用し、セッションの取得後に閉じられます。クライアントは、リレーへの認証情報のみを ~/.blackboard-cli/relay/ に保存します。この情報は、プライベートなアクセス権限で保護され、サービス URL ごとに分けて保存されます。
CLI
バージョン 3.x をインストールすると、これらのコマンドを campus、campus-cli、blackboard、blackboard-upc として利用できます。
campus login
campus login --university upn-pe
campus status --json
campus whoami
campus courses list --json
campus courses contents <courseId> --parent <contentId> --json
campus courses grades <courseId> --json
campus assignments list <courseId> --json
campus assignments attempts <courseId> <columnId> --json
campus assignments feedback <courseId> --json
campus messages --course <courseId> --json
campus upn profile
campus upn grades <courseCode>
campus miupc courses
campus miupc grades --course <courseCode>
campus logout
応答は JSON として出力されます。--json は互換性のために引き続き使用できます。Mi UPC と Mi Mundo UPN のコードは、Blackboard の ID とは異なります。リレーは、接続されている大学に応じて提供するツールを決定します。ローカルログインでは、Cookie を取得する前に、そのリレーがサポートする大学の一覧を確認します。ホスト型コントラクトの初回公開では UPC と UPN がサポートされます。告知されていない大学は明示的に拒否されます。自動化されたターミナルでは、--consent-session-upload を使って同意を示します。ユーザーは引き続きブラウザーでログインと MFA を完了する必要があります。大学のセッションが期限切れになったら、campus login を再実行してください。
カタログを確認し、公開されている任意のツールを実行するには、次のコマンドを使用します。
campus tools list
campus tools call banner_get_weekly_schedule
campus tools call blackboard_get_course --args '{"courseId":"_100004_1"}'
campus tools call campus_archimate_guidance --args '{"topic":"overview"}'
campus tools call campus_mendeley_connect
tools call は、リンク、メタデータ、支払いに関するメッセージなど、MCP の完全な結果を保持します。Blackboard の他の公開エンドポイントを読み取るには、次のコマンドを使用します。
campus api GET /learn/api/public/v1/users/me
現在のリレーでは、Blackboard の読み取りを利用できます。課題の提出と下書きの作成は Aula Virtual で行います。CLI から提出や直接的な変更を実行することはできません。互換性と変更されたコマンドについては、リレーへの移行をご覧ください。
ダウンロード
campus download <courseId> <contentId> --out curso/semana1
campus download-folder <courseId> <folderId> --out curso --filter diapositivas
ファイルは、リレーが認証後に発行する一時的なリンクを使用して取得されます。ファイルは ~/Downloads/campus-cli または CAMPUS_DOWNLOAD_DIR の下に、相対サブディレクトリで保存されます。サイズ制限が適用され、既存のファイルは上書きされません。MCP の結果には、サービスが公開するリンクとリソースが保持されます。
stdio 経由の MCP
まず campus login を実行してください。その後、このバージョンの実行ファイルを使って MCP クライアントを接続します。
{
"mcpServers": {
"campus": {
"command": "campus",
"args": ["mcp"]
}
}
}
チェックアウトからテストする場合は、command に node を指定し、run.js の絶対パスと mcp 引数を使用してください。このプロセスは、指示、ツール、リソース、結果、キャンセル、クライアントからの確認要求を含むプロトコルをリレーに転送します。大学のローカルツールを登録することはなく、支払い、セッション、ネットワークの拒否があった場合にローカルプロバイダーへ切り替えることもありません。
リモート MCP に対応したクライアントは、OAuth フローを使って https://mcp.campuscli.com/mcp に直接接続できます。
設定
| 変数 | 用途 |
|---|---|
CAMPUS_RELAY_URL | MCP エンドポイントの完全な URL。デフォルトは https://mcp.campuscli.com/mcp です。開発用のループバックを除き、HTTPS が必須です。 |
CAMPUS_DOWNLOAD_DIR | CLI ダウンロードのルートディレクトリ。 |
OAuth/MCP 認証ではネットワークリダイレクトに従わず、別のオリジンにトークンを送信することもありません。リレーの URL を変更するには、個別の認証が必要です。campus logout はそのリレーのローカル認証情報を削除しますが、アカウントの他の接続は取り消しません。
開発
npm run build
node --import tsx --test tests/relay-client.test.ts
npm pack --dry-run
以前のプロバイダーのソースコードは、プライベートなコアとそのテストを維持するために保持されています。npm 3.x の配布物には、リレーのクライアントとダウンロードユーティリティのみが含まれ、大学クエリエンジン、旧式のセッション、以前のライブラリサブパスは含まれません。クライアントに含まれる唯一の大学モジュールは、一時的なログインキャプチャを行います。ホスト型バックエンドは、引き続きバージョン固定されたコアのアーティファクトを使用します。このクライアントパッケージで置き換えてはいけません。
過去の 2.x ドキュメント、3.x への移行、変更履歴を参照してください。
ライセンスは ISC です。ホスト型サービスの利用規約とアクセス制御は、クライアントのライセンスとは別です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。