Campus Cli

io.github.alejooroncoy由 GitHub 帳號 alejooroncoy 發布v3.1.0更新於 Oct 30, 2026

Campus relay MCP client: authenticated access to courses, assignments, grades and materials.

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

本機 stdio MCP 用戶端,透過 Campus 中繼讓助理以已驗證身分存取大學課程、作業、成績與課程教材。

可以做什麼
  • 列出課程、課程內容與成績,讀取作業、作答紀錄與回饋
  • 讀取課程訊息以及各大學專屬的個人資料與成績資料
  • 透過中繼簽發的臨時連結下載課程檔案與資料夾
  • 探索並呼叫中繼發布的工具,讀取 Blackboard 公開 API 端點
  • 登入、查看狀態與身分,並登出中繼工作階段
適用情境
適合支援大學(初始託管版本為 UPC 與 UPN)的學生,讓 AI 用戶端直接讀取 Blackboard 課程資料、成績與教材,不必每次開啟網頁入口。
執行需求
需要 Node.js 22.13 或更新版本,以及本機瀏覽器(Chrome/Edge,或為登入安裝 Chromium)。須先執行 campus login:OAuth 授權,並在本機以 Playwright 瀏覽器完成學校登入與 MFA。可選環境變數 CAMPUS_RELAY_URL(HTTPS,預設為託管中繼)與 CAMPUS_DOWNLOAD_DIR。需要能連線至中繼的網路。
安裝前請注意
登入時會徵求同意,僅將校園 cookie 傳送給託管中繼,中繼會保存加密工作階段並簽發 MCP 權杖;不會傳送密碼及 Microsoft/Google cookie。中繼依帳號方案與配額執行限制,安裝 CLI 不代表可免費使用。此為非官方整合,未獲 Blackboard 或各大學背書。僅支援讀取,繳交作業與草稿須在 Aula Virtual 完成。下載會寫入本機檔案,且不會覆寫既有檔案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Campus Cli,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

campus-cli

[npm version]

Conecta tu campus universitario con tu terminal o cliente de IA mediante el relay de Campus.

Versión 3.1.0. Desde la 3.0.0 todos los comandos de datos y el MCP por stdio usan el relay autenticado. El servidor aplica el plan y el cupo de la cuenta en cada operación. Instalar la CLI no concede acceso gratuito ni permite omitir esos controles.

La política actual del relay conserva sus cinco consultas de prueba. Esta migración cierra la alternativa local de la nueva distribución; no cambia la política de pruebas del servidor ni puede retirar código o versiones 2.x ya descargados.

Campus es una integración no oficial. Blackboard, UPC, UPN y las demás universidades no patrocinan este proyecto. Canvas y Moodle siguen en el roadmap.

Instalación y login

Requiere Node.js 22.13 o superior y un navegador para autorizar la cuenta.

bash
npm install -g [email protected]campus logincampus courses list --jsoncampus assignments list <courseId> --json

campus login autoriza tu cuenta Campus con OAuth y luego abre Playwright en tu equipo para entrar a tu universidad y completar el MFA. Pide consentimiento para enviar únicamente las cookies del campus al relay; no envía contraseñas ni cookies de Microsoft o Google. El relay verifica la identidad contra Blackboard antes de guardar la sesión cifrada y habilitar tu token MCP. campus account login es un alias. Las sesiones locales antiguas de Blackboard y de la cuenta Google no conceden acceso al relay: hace falta autorizarlo una vez.

Playwright se incluye como dependencia del cliente y busca Chrome/Edge locales; si hace falta, instala Chromium para el login. El navegador usa un contexto temporal y se cierra al capturar la sesión. El cliente guarda únicamente su autorización del relay en ~/.blackboard-cli/relay/, con permisos privados y separada para cada URL del servicio.

CLI

Tras instalar la versión 3.x, estos comandos están disponibles como campus, campus-cli, blackboard y blackboard-upc:

bash
campus logincampus login --university upn-pecampus status --jsoncampus whoamicampus courses list --jsoncampus courses contents <courseId> --parent <contentId> --jsoncampus courses grades <courseId> --jsoncampus assignments list <courseId> --jsoncampus assignments attempts <courseId> <columnId> --jsoncampus assignments feedback <courseId> --jsoncampus messages --course <courseId> --jsoncampus upn profilecampus upn grades <courseCode>campus miupc coursescampus miupc grades --course <courseCode>campus logout

Las respuestas se imprimen como JSON; --json se conserva por compatibilidad. Los códigos de Mi UPC y Mi Mundo UPN son distintos de los IDs de Blackboard. El relay decide qué herramientas ofrece según la universidad conectada. El login local comprueba la lista de universidades que admite ese relay antes de capturar cookies. La publicación inicial del contrato hospedado admite UPC y UPN; las universidades no anunciadas se rechazan explícitamente. Para una terminal automatizada, --consent-session-upload expresa el consentimiento; el usuario sigue completando el login y MFA en el navegador. Cuando expire la sesión universitaria, vuelve a ejecutar campus login.

Para descubrir el catálogo y ejecutar cualquier herramienta publicada:

bash
campus tools listcampus tools call banner_get_weekly_schedulecampus 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 conserva el resultado MCP completo, incluidos enlaces, metadatos y mensajes de pago. Para leer otros endpoints públicos de Blackboard:

bash
campus api GET /learn/api/public/v1/users/me

El relay actual ofrece lecturas de Blackboard. Las entregas y borradores se realizan en Aula Virtual; la CLI no ejecuta envíos ni cambios directos. La compatibilidad y los comandos que cambiaron se detallan en la migración al relay.

Descargas

bash
campus download <courseId> <contentId> --out curso/semana1campus download-folder <courseId> <folderId> --out curso --filter diapositivas

Los archivos se obtienen con enlaces temporales emitidos por el relay después de su autorización. Se guardan bajo ~/Downloads/campus-cli o CAMPUS_DOWNLOAD_DIR, en subdirectorios relativos, con límites de tamaño y sin sobrescribir archivos. Los resultados MCP conservan los enlaces y recursos que publica el servicio.

MCP por stdio

Primero ejecuta campus login. Después conecta tu cliente MCP con el ejecutable de esta versión:

json
{  "mcpServers": {    "campus": {      "command": "campus",      "args": ["mcp"]    }  }}

Para probar desde el checkout usa node como command y las rutas absolutas de run.js y el argumento mcp. El proceso reenvía el protocolo al relay: instrucciones, herramientas, recursos, resultados, cancelaciones y solicitudes de confirmación del cliente. No registra herramientas universitarias locales ni cambia a proveedores locales cuando hay un rechazo de pago, sesión o red.

Los clientes compatibles con MCP remoto pueden conectarse directamente a https://mcp.campuscli.com/mcp usando su flujo OAuth.

Configuración

VariableUso
CAMPUS_RELAY_URLEndpoint MCP completo; por defecto https://mcp.campuscli.com/mcp. HTTPS obligatorio, salvo loopback para desarrollo.
CAMPUS_DOWNLOAD_DIRDirectorio raíz de las descargas de la CLI.

La autorización OAuth/MCP no sigue redirecciones de red ni envía tokens a otro origen. Cambiar la URL del relay exige su propia autorización. campus logout elimina las credenciales locales de ese relay; no revoca otras conexiones de la cuenta.

Desarrollo

bash
npm run buildnode --import tsx --test tests/relay-client.test.tsnpm pack --dry-run

El código fuente de los proveedores anteriores se conserva para mantener el núcleo privado y sus pruebas. La distribución npm 3.x incluye únicamente el cliente del relay y utilidades de descarga; no incluye el motor de consultas universitarias, sesiones heredadas ni los antiguos subpaths de biblioteca. El único módulo de universidad del cliente realiza la captura temporal de login. El backend hospedado continúa utilizando su artefacto de núcleo fijado por versión; no debe sustituirse por este paquete cliente.

Consulta la documentación histórica 2.x, la migración 3.x y el registro de cambios.

Licencia ISC. Los términos del servicio hospedado y sus controles de acceso son independientes de la licencia del cliente.

來源:README.md,提交 5a05856

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

2
  1. v3.1.0最新Oct 30, 2026
  2. v1.4.1Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分