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 分