lms-cli
Allows querying courses, announcements, assignments, exam schedules, grade feedback, and course materials from Canvas LMS, including reading teacher announcements to identify assignments, exams, and class changes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lms-cliWhat's due this week across my Canvas and Blackboard accounts?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lms-cli
面向 Canvas 和 Blackboard 的多学校命令行工具,为终端和 Agent 提供统一的课程、通知、作业、成绩反馈与资料查询接口。
安装、学校搜索、配置和更新均在终端完成。只有学校登录或 MFA 需要交互时才打开授权窗口。支持独立使用 CLI,也可通过 MCP 接入 Codex 或其他 Agent 客户端。
快速开始
1. 安装
macOS / Linux:
curl -fsSL --proto '=https' https://raw.githubusercontent.com/zs-andy/lms-cli/main/install.sh | shWindows PowerShell:
& ([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/zs-andy/lms-cli/main/install.ps1).Content))安装器从 GitHub Releases 获取匹配系统和 CPU 架构的稳定版 CLI,校验 SHA-256 后安装到用户目录,无需管理员权限。自包含安装包内置 Node.js 和授权运行时,无需预装 Node.js、npm 或 Git。执行远程脚本前,请审阅并确认来源。
在线安装需要 Release 中包含对应的 lms-cli-<version>-<os>-<arch>.tar.gz 和 SHA256SUMS.txt。目标平台的安装包尚未发布时,可采用源码安装。Linux 需要系统密钥服务;网页登录需要图形会话。
2. 搜索并连接学校
lms setup首次配置时,输入学校名称或域名,按编号选择搜索结果,核对平台网址和学校时区。随后完成 Codex 接入、必要的学校授权,以及身份和课程列表检查。已有默认账号时,重复运行会继续该账号的配置流程。
lms setup --school "Hong Kong" # 搜索并添加学校
lms setup --manual # 直接输入平台网址
lms setup --no-codex # 独立使用 CLI
lms setup --no-login # 只做本地配置,暂不登录Canvas 搜索使用官方学校目录;Blackboard 当前提供本地预设和手动网址接入。搜索不到时,可使用学校公布的 HTTPS 平台根地址。详见学校搜索与多账号配置。
3. 查询
lms canvas courses
lms blackboard courses
lms overview --days 7 --fresh运行已配置平台的命令即可。接入 Codex 后,在新任务中输入:
整理本周课程和作业安排,同时检查老师通知中的调课和截止时间变更,附上来源。
Related MCP server: Canvas MCP Server
实验性登录选项
需要重新授权时,仍然打开各学校自己的登录页面及其 SSO 跳转,不会替换成统一的账号密码页。窗口顶部提供默认关闭的“记住密码”和“自动登录”:前者在下次填充账号密码后由你点击学校的登录按钮;后者同时启用记住密码,填充后等待 2 秒再自动提交。有效会话直接复用。
两项均为实验性功能,支持常见标准表单、分步账号/密码页面、精确匹配的 HTTPS 跨域提交地址,以及 PolyU 等使用的 Microsoft ADFS 脚本式按钮;不保证所有学校兼容。密码仅在成功验证学校身份后在本机加密保存。开启记住密码也会保留按学校/账号、平台隔离的本应用登录分区,以保留学校允许的受信设备状态。
取消勾选自动登录会停止后续自动操作;点击“取消”、按 Esc 或关闭窗口可结束本次登录及其 SSO 弹窗,不能撤回已发送的请求。可选 TOTP 密钥仅通过私密 stdin 导入;CAPTCHA、推送确认和设备合规检查仍由学校控制。详细用法及清理方式见用户指南。
Blackboard 待办查询按最多 15 天的窗口请求真实待办接口并去重合并,解决 PolyU 单次范围超过上限时的报错。接口、权限或网络失败仍返回错误,不会用日历事件替代待办。
更新
lms update --check # 检查版本
lms update # 检查并确认升级
lms update --rollback # 确认后回退到上一版本交互式 CLI 使用时会检查稳定版;MCP 会话首次读取配置时也会返回更新信息。更新需要用户确认,并保留学校配置、凭据和本地待办。自动升级适用于自包含安装;源码安装按开发指南重新构建。使用 LMS_UPDATE_CHECK=0 可关闭自动检查。
一键安装提示词
将以下提示词交给具有终端操作能力的 Agent:
安装 https://github.com/zs-andy/lms-cli 的最新稳定版。检查系统、CPU 架构与现有安装,使用该仓库的匹配 Release 安装包并验证 SHA-256。运行 lms setup,在终端搜索我的学校,让我确认学校网址和时区,再完成配置和客户端接入。仅在学校登录或 MFA 必要时打开授权窗口,不索取或记录密码、验证码、Cookie。保留已有账号、凭据、待办和其他插件;替换同名插件前征得确认。最后检查连接和可用更新,报告结果。缺少安装包、权限或必要运行环境时,说明具体原因和处理方式。
功能与数据边界
查询课程、通知、作业、成绩反馈、文件和日历;根据通知识别安排变更并保留来源。
按学校/账号隔离凭据、查询缓存和本地待办;支持同时配置 Canvas 与 Blackboard。
按用户要求保存本地待办、保留时间变更历史,并导出 ICS 日历。
提供结构化 CLI 输出、只读 MCP 工具、学校搜索、连接诊断和更新管理。
学校平台访问仅限当前账号的权限,不提交作业、开始考试、发送消息或修改平台内容。登录有效性、API 权限与平台版本会影响可用功能;Blackboard 连接器依赖 Learn Ultra 内部接口。搜索结果是网址线索,实际连接状态以检查结果为准。
会话和本地待办加密保存在本机,密钥由系统凭据库管理。Agent 查询所需的内容会交给所选客户端处理;下载文件和导出的日历为普通文件。详见隐私说明与安全说明。
文档
用户:
开发者:
开源与许可
本项目为独立社区项目,与学校、Instructure、Anthology 或 OpenAI 无隶属或官方合作关系。学校预设仅用于配置便利,不代表学校认可。
连接器复用 canvas-student-mcp 与 blackboard-mcp,并使用 Electron、Model Context Protocol SDK 等开源组件。版本、许可证和本地修改见 THIRD_PARTY_NOTICES.md。项目代码与原创图标采用 MIT License;第三方名称与标识归各自权利人所有。
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage your Canvas coursework with quick access to courses, assignments, and grades. Track upcomin…
- uNotesOAuthnet.unotes
Search university course materials, your flashcards, quizzes, streak and quota. All tools read-only.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Governed memory and workspace for any AI: tasks, calendar, mail and pages, with per-action consent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.9 npmISC
- FlicenseNot gradedqualityDmaintenanceConnects Canvas LMS to AI assistants, enabling users to list courses and retrieve assignment details through natural language. It features secure multi-institution support with encrypted token storage and a simplified setup process for students.2-
- FlicenseAqualityCmaintenanceProvides read-only access to Canvas LMS, enabling users to view active courses, grades, and upcoming assignments through natural language queries.2-
- AlicenseAqualityAmaintenanceEnables students to ask an AI assistant about their Canvas LMS data, including assignments, grades, missing submissions, discussions, and upcoming items, while keeping access read-only and private.43MIT