Repository navigation
Releases: MarkyMarkMa/unnc-moodle-mcp
Release list
v0.4.9 — Assistant opens the Moodle login browser
New users: Installation · 中文安装. Download the attached ZIP.
Existing users: Update · 中文更新. Stop old Moodle MCP/CLI processes, then run npm run update in the existing installation. Older installations without a working updater should reinstall while preserving data and settings as described in the README.
When Moodle login expires, the assistant can now call the login MCP tool to open the dedicated browser. You only complete school sign-in and MFA in the browser. The tool waits up to five minutes, then checks authentication before continuing; closing the window does not by itself count as successful sign-in. Login uses the existing operation lock and does not download materials or change course selection.
Reconnect Moodle MCP or restart the client after updating to load the new tool. Program updates preserve independently installed skills. Ask your local assistant to back up your existing unnc-moodle skill outside the skills directory, review any personal changes, and install the updated bundled skill; the old skill can still instruct the assistant to request manual terminal commands. The CLI login command remains available as a fallback for older clients.
Validation: all 77 tests pass in both the authoritative source and an independently installed clean public export, including standard MCP stdio login invocation with a synthetic script, authentication-not-completed results, lock contention and failure recovery. No real school credentials or materials were used. New-tool school login/MFA with a new user has not been tested end to end.
Windows + Edge remains experimental and not validated on a real Windows machine. Use scripts/setup.cmd for installation. Windows automatic updating remains unsupported; preserve settings and materials and follow the manual upgrade instructions. This numbered prerelease is eligible for the existing macOS updater.
Post-publication upgrade check: the standard npm run update entry reached GitHub but received HTTP 403 in the maintainer environment; its unauthenticated network path is therefore unverified here. Using authenticated gh transport for the same updater with the actual published ZIP verified 0.4.8 → 0.4.9, unchanged installation path, preserved synthetic materials/settings, and a second update reporting already up to date. This does not establish that the ordinary network path succeeds in all environments.
v0.4.8 — Existing folders and readable seminar names
English installation · English update · 中文安装与更新
Existing folders and readable filenames
Download unnc-moodle-mcp-v0.4.8.zip below. New users choose automatic course/section folders or existing folders during setup, then confirm classification mappings in Codex. Existing macOS ZIP installations can run npm run update; Windows upgrades remain manual. Stop old MCP/CLI processes before upgrading, reconnect the new MCP server, and read settings back. Node.js 24+ is required; macOS uses Chrome and experimental Windows uses Edge.
- Save user-confirmed literal keyword rules or individual Moodle resource assignments through
configure_organization. Rules persist across restarts; resources from the same Moodle section can go into different existing folders. - Unmatched or conflicting resources are skipped for confirmation. Explicit assignments override keyword rules; once classified, a file retains its folder after a resource rename. Missing target folders fail rather than being recreated.
- Single-file readable names now use the Moodle resource title and original extension:
Seminar 1.pdfandSeminar 1 (Solutions).pdf, instead of generic downloaded names with collision numbers. Folder children retain their filenames. Use organize mode to rename tracked unedited legacy copies without redownloading. - Existing personal files are not adopted or overwritten. Same-name files receive a suffix, annotations are retained, and history remains in the original materials/.history. Changing output roots does not migrate old files.
Keywords match title, available activity description, section and filename as case-insensitive literal substrings. This release does not infer teaching categories from page order/file type or analyze PDF contents. Existing-folder mode starts with no rules: confirm them in Codex before downloading unclassified resources. Read failed, skipped and stoppedReason in every sync result.
Verification: authoritative source and independently installed public export each pass 75 tests on macOS, including standard MCP stdio calls, rules persistence, mixed-section descriptions, classification conflicts, renamed resources, existing files/annotations and unsafe/missing paths. The current school session expired, so new classification downloads have not been validated on the live site. Windows + Edge remains experimental and has not been tested on a real Windows machine. Program updates do not overwrite an independently installed skill; review the new bundled skill separately if using an older installed copy.
中文
本版统一解决“沿用已有分类文件夹”和“Seminar 题目/解析命名不清楚”两个问题。
首次设置可选择自动按课程/栏目建目录,或使用已有文件夹。在 Codex 中说“使用我已有的课程文件夹,把 lecture 放进 Lecture、seminar 放进 Seminar,先给我确认对应关系”。确认后保存规则,之后同步继续沿用,同一 Moodle 栏目也能逐资源分类。无法匹配或规则冲突时会跳过并报告;不凭位置、Quiz 或 Excel 格式猜 seminar。已分类资源改名后保留目录,纠正归属用明确资源规则。
单文件优先采用 Moodle 标题,例如 Seminar 1.pdf 与 Seminar 1 (Solutions).pdf。对旧文件请求“仅整理已有课件”,可重新命名未修改的 tracked 副本,不重新下载;保留批注、笔记和历史。已有用户文件不自动接管,同名避让,换输出根目录不等于迁移旧资料。
下载下方 ZIP 安装。macOS ZIP 用户可 npm run update,Windows 仍用手动升级;升级前停止旧 MCP/CLI,升级后重连并回读设置。macOS 源码和独立公开包均通过 75 项测试;学校登录已过期,新增分类没有做真实站点下载验证,Windows Edge 仍待实机测试。独立安装的旧 skill 不会随程序更新自动替换。
Post-publication upgrade check
An isolated macOS v0.4.7 ZIP installation found v0.4.8, but the GitHub asset download timed out before program replacement. The old version, synthetic materials, settings, routing configuration and browser-profile sentinel were preserved; update and operation locks were released. End-to-end automatic upgrade to this release is therefore not verified. Use the documented reinstall/manual-upgrade route if the download remains unavailable.
隔离 macOS 0.4.7 安装已发现 0.4.8,但 GitHub 附件下载超时,未进入替换;旧程序、合成资料/设置/分类规则/profile 均保留,锁已释放。本次自动升级未完整验证通过,持续失败时按 README 保留数据并手动升级。
v0.4.7 — Experimental Windows Edge preview
English installation · English update · 中文说明
Windows Edge preview / Windows Edge 测试版
Windows now defaults to Microsoft Edge, using Playwright's msedge channel for both manual login and read-only synchronization. macOS continues to use Google Chrome. This is an experimental prerelease: real Windows + Edge installation, MFA and synchronization remain unverified.
Download unnc-moodle-mcp-v0.4.7.zip. Install Node.js 24+ (including npm); Windows needs Microsoft Edge, macOS needs Google Chrome. Extract and open scripts/setup.cmd on Windows or scripts/setup.command on macOS. Login and MFA are performed by you. Confirm your own course selection; start with a small amount of material. Setup offers skill installation; existing users can run npm run install-skill separately.
Windows uses a new dedicated edge-profile. Old Chrome profiles are retained and never imported; sign in again. If MOODLE_PROFILE_DIR is explicitly set, point it to a new dedicated Edge directory. Course settings and materials are preserved. Do not use an everyday browser profile.
Windows upgrades remain manual: stop old MCP/CLI and browser processes, install in a new program directory, update the MCP entry and verify settings. macOS users can run npm run update and reconnect MCP; the updater selects numbered prereleases. This release includes the existing 0.4.5 _moodle management-directory migration and 0.4.6 optional skill installer; stop old processes before upgrading. Program updates do not replace independently installed skills.
Verification: authoritative source and independently installed public export each pass 72 tests on macOS, including standard MCP stdio discovery/calls and browser-selection/profile tests. Windows ACL, long paths, file locking and real school login require testing. POSIX mode checks apply to macOS; Windows retains regular-file/symlink checks and relies on user directory ACLs. The ZIP contains only reviewed public source, tests, documentation and provenance, with no personal credentials or materials.
Windows 现在默认使用 Microsoft Edge,登录、同步、doctor 和 DOM 测试统一使用 Edge;macOS 保持 Chrome。Windows + Edge 尚未实机验证。
下载下方 ZIP,安装 Node.js 24+(含 npm),解压后双击 scripts/setup.cmd。不需要安装 Chrome 或 WSL。本人完成登录/MFA并确认课程,先测试少量资料。设置末尾可安装 skill,已有用户可用 npm run install-skill 补装。
旧 Windows Chrome profile 保留但不导入,新版使用 edge-profile,需本人重新登录;课程配置和课件保留。显式 MOODLE_PROFILE_DIR 请指向新的 Edge 专用目录。不要使用日常浏览器 profile。
Windows 暂用手动升级,停止旧进程后在新程序目录安装并更新 MCP 入口。macOS 可运行 npm run update,更新器会选择数字预发布版,更新后重连 MCP。包含此前 _moodle 管理目录迁移和可选 skill 安装;程序更新不替换独立 skill。
源码和独立公开包在 macOS 均通过 72 项测试,不能据此宣称 Windows 已通过。请反馈 Windows/Node/Edge 版本、安装步骤、报错、MCP 工具发现结果及少量同步的 failed/skipped/停止原因;遮盖个人信息,不上传密码、Cookie、profile 或课件。
Post-publication upgrade check / 发布后升级检查
An isolated macOS v0.4.6 installation selected v0.4.7, but both attempts to fetch the GitHub asset failed with fetch failed before replacement. The old installed version, synthetic settings/materials/profile sentinels remained unchanged and the update lock was released. End-to-end upgrade to this release is therefore not verified, despite the mocked integrity/rollback tests passing. The underlying network cause is unknown.
隔离 macOS 旧版已发现 v0.4.7,但两次附件下载均 fetch failed,未进入程序替换;旧版本、合成配置/资料/profile 保留,锁已释放。本次真实升级未验证通过,网络根因未知。Windows 继续使用手动安装。
v0.4.6 — Guided Codex skill installation
New users: Installation · 中文安装. Download the attached ZIP and run the setup launcher. Existing users: Update · 中文更新: run npm run update on macOS; older installations without the updater must preserve data/settings and reinstall as documented.
Setup now recommends installing the bundled Codex skill after saving the Moodle settings. This is the same flow for npm run setup, macOS setup.command, and Windows setup.cmd. Press Enter to install or enter n to skip. Skill installation failure does not undo completed MCP setup.
Existing users can run npm run install-skill without logging into Moodle again. Authorized AI-assisted deployments can run npm run install-skill -- --yes and check the result. Once installed, the skill can match natural-language requests such as “Synchronize my Moodle courses”; explicit invocation is optional. MCP tools remain usable without the skill, and installing a skill does not connect MCP.
Default destination: the user's .agents/skills/unnc-moodle. An existing legacy .codex/skills/unnc-moodle is reused; custom CODEX_HOME uses its skills directory. Identical skills are left alone. Differing, incomplete, duplicate or unsafe existing installations are preserved and reported for review. Program updates do not overwrite independently installed skills.
Validation: all 70 tests pass on macOS in both authoritative source and an independently installed public export. Terminal checks confirm Enter installs and n skips without writing. An isolated 0.4.5 ZIP installation upgrades successfully to this package, preserving materials, manifest, course approval and a customized skill; standalone skill installation, repeats and conflicts pass.
Windows + Chrome remains experimental and has not been tested on a real Windows machine. Use setup.cmd for installation. Windows upgrades remain manual using a separate program directory and preserving settings/materials. The macOS updater includes numbered prereleases such as this release. School login/MFA still requires the user; real first-install setup and Windows behavior remain outside verified coverage.
Reconnect Moodle MCP or restart Codex after updating. If a newly installed skill does not appear, restart Codex.
中文:设置向导末尾新增推荐的 Codex skill 安装选项,macOS / Windows 共用;回车安装,输入 n 跳过。老用户升级后单独运行 npm run install-skill,无需重新登录学校。让 AI 协助部署时,已获安装授权可用 npm run install-skill -- --yes。相同内容不重复安装,不覆盖不同或不安全的现有 skill,安装失败不撤销 MCP 设置。程序更新不会替换用户已安装的 skill。Windows 仍为未实机验证的实验性版本,继续手动升级。
v0.4.5 — Cleaner materials directory
New users: Installation · 中文安装. Existing users: Update · 中文更新: run npm run update on macOS; older installations without an updater should preserve data/settings and reinstall as documented. Download the attached ZIP for a new installation.
The data root now normally contains two visible folders: materials for daily use and _moodle for course selection, sync state, and recognized legacy upgrade backups. Stop all old Moodle MCP/CLI processes before upgrading. On first startup, legacy management files move into _moodle; materials, annotations, history, and existing course approval are retained. No Moodle downloads are needed. Explicit course-file overrides and external configuration files remain at their chosen paths.
Conflicting destination entries, symlinks, active operations, and interrupted-migration markers stop migration. Ordinary move/settings failures roll back; interrupted migrations require the documented recovery procedure. See storage and recovery.
macOS and Windows share the same storage logic. Windows + Chrome remains experimental and has not been validated on a real Windows machine. Windows installation uses scripts/setup.cmd; Windows upgrades remain manual using a separate program directory while preserving settings/materials. The macOS updater includes numbered prereleases, including this version.
Validation: all 67 tests pass on macOS in the authoritative source and an independently installed public export, including MCP stdio migration/settings, lock/conflict checks, rollback, annotations, and course approval. An isolated 0.4.4 ZIP installation successfully upgrades to this 0.4.5 package, preserves its path/materials/manifest, migrates management files, and reports already up to date on the next update. Power-loss recovery and real Windows behavior remain unverified.
Reconnect Moodle MCP or restart Codex after updating. Existing users retain their login session; new users must complete school login/MFA themselves.
中文:日常根目录统一为 materials 与 _moodle,后者存放配置、状态及识别到的旧升级备份,默认保持可见。升级前关闭旧 MCP/CLI,新版首次启动自动收纳管理文件,不移动课件、不重新下载。冲突时停止,普通失败回滚,中断按使用指南恢复。Windows 共用相同逻辑,仍属未实机验证的实验性版本;用 setup.cmd 安装,保留资料与配置后手动升级。更新后重新连接 MCP 或重启 Codex。
v0.4.4 — Experimental Windows + Chrome preview
English installation · English update · 中文安装与更新
Windows + Chrome preview
Experimental prerelease. Real Windows installation, login/MFA and synchronization have not yet been verified.
Download unnc-moodle-mcp-v0.4.4.zip below. Install Node.js 24+ and Google Chrome, extract the ZIP to a permanent directory, and double-click scripts/setup.cmd. No WSL is required. Sign in yourself and approve your own course selection. Use npm run codex-config to generate correctly escaped Windows MCP paths.
Windows: manual upgrades only; preserve configuration and materials and install the program in a new directory. npm run update remains macOS-only. macOS: the existing updater can select this numbered prerelease; update then reconnect MCP. Existing releases remain available.
Changes: Windows installation launcher, LocalAppData configuration/profile locations, platform-aware path boundaries, consistent manifest separators and history detection. The same core and manifest schema are retained.
Validation: 60 tests pass on macOS in both the authoritative checkout and an independently installed public export, including standard MCP stdio discovery/calls. Windows long paths, ACL, file locking, installation and school login remain unverified. Windows excludes macOS-only updater integration and executable-mode tests; symlink tests require appropriate Windows permissions. No personal course data or login state is included. After publication, a real GitHub upgrade from an isolated v0.4.3 ZIP installation to v0.4.4 passed on macOS: original path and synthetic settings/materials/profile sentinels were preserved, installed files matched the published manifest, and a second update reported already up to date.
Testing and feedback
Start with a small selection of courses you authorize. Check setup, MCP tool discovery, connection/settings, one sync, a repeated sync, preservation of annotations/history, and organize mode. Report Windows, Node and Chrome versions, the command/step that failed, and the error. Inspect failed/skipped and stop reasons. Do not share passwords, MFA codes, cookies, browser profiles or course materials in issues. Redact personal paths and course information.
Windows 测试版
尚未经过真实 Windows 安装、登录/MFA 与同步验证。
下载下方 unnc-moodle-mcp-v0.4.4.zip,安装 Node.js 24+ 和 Google Chrome,解压后双击 scripts/setup.cmd。无需 WSL。本人完成学校登录并确认选课;用 npm run codex-config 生成 Windows MCP 配置。
Windows 暂用手动升级,保留资料和配置,在新程序目录安装。自动升级仍仅适用于 macOS;现有 macOS 更新器会选择这个数字预发布版本,升级后重新连接 MCP。
权威源码与独立公开包在 macOS 上均通过 60 项测试,包含标准 MCP stdio 发现与调用;这不等于 Windows 实测通过。长路径、ACL、文件占用及真实登录尚待验证,未包含任何个人课件、选课配置或登录会话。
请先少量测试安装、登录、工具发现、首次/重复同步、旧版本及批注保留和 organize。反馈系统/Node/Chrome 版本、操作步骤和错误,检查 failed/skipped/停止原因。不要在 Issue 上传登录秘密、浏览器 profile 或课件,并遮盖个人路径与课程信息。
v0.4.3 — English and Chinese documentation
The repository now provides an English README with a Chinese language entry, separate Installation and Update sections, and matching usage guides in both languages. Downloaded release packages include the same documentation.
Install: download this release's ZIP attachment and open scripts/setup.command.
Update: run npm run update from the existing program directory, then reconnect MCP or restart Codex. Earlier installations without an updater can be reinstalled while retaining materials and settings.
Verification: 56 tests pass in both the authoritative checkout and independently installed public export. The file manifest remains compatible with the 0.4.2 updater. Program behavior is unchanged apart from version metadata; the setup wizard and supplied skill remain in Chinese.
仓库默认提供英文 README,并在顶部设置中文入口。安装与更新分别列出,中英文使用指南内容对应,发布 ZIP 同步包含双语文档。
安装:下载发布 ZIP 附件并打开 scripts/setup.command。
更新:在现有程序目录运行 npm run update,随后重新连接 MCP 或重启 Codex。缺少更新器的旧版可保留资料与设置后重装。
源码及独立公开包均通过 56 项测试,文件清单兼容 0.4.2 更新器。除版本信息外,程序行为未变;设置向导和附带 skill 仍为中文。
v0.4.2 — One-command updates
Documentation: Installation and update · 简体中文. Install the newest published ZIP, or run npm run update in an existing installation. Versions without an updater can be reinstalled while preserving materials and settings.
新增 npm run update:ZIP 安装用户一条命令获取最新已发布版本(包括公开 prerelease),校验 GitHub ZIP SHA-256 与源码清单,自动安装依赖、编译并更新原安装位置。设置、登录会话、课件和独立安装的 Codex skill 保留,更新不触发资料下载,也不修改全局 Codex 配置。
老用户更新:在原程序目录运行 npm run update;太旧没有该命令或不能直接升级时,按 README 保留资料与设置后重装最新版。更新完成后重新连接 MCP 或重启 Codex,在 Codex 中检查登录/设置并整理已有资料。
新版先在隔离目录准备,替换失败自动恢复,旧程序备份保留。并发同步/更新拒绝,Git checkout 拒绝自动覆盖。断电/强制终止需保留备份和更新记录手动恢复。
验证:源码与独立公开包均通过 56 项测试;隔离旧版安装使用真实 GitHub 发布包更新成功,原路径及资料哨兵保留。
v0.4.1 — Readable course folders
Documentation: Installation and update · 简体中文. Install the newest published ZIP, or run npm run update in an existing installation. Versions without an updater can be reinstalled while preserving materials and settings.
课程资料现在按英文课程名、Moodle 原始分区和原始文件名组织,可直接在 Finder 中打开最新课件。资源编号与历史版本收进 materials/.history,Moodle 文件夹保留内部层级。
新增 npm run organize / sync_courses mode: organize:复用已有下载,只整理目录。更新自动维护可读文件;同名文件使用可读后缀,用户批注和自行添加的文件保留。可读文件与历史独立,支持 copy-on-write 的文件系统可避免整份复制。
验证:权威源码与独立公开导出均通过 51 项测试;维护者三门真实课程的 61 份已有资料整理成功,无重新下载,重复整理状态一致,历史内容校验全部通过。真实数据和登录信息不包含在发布包中。
升级:备份 materials 与 state,构建新版并重启 MCP;已有资料运行 npm run organize。整理需要有效的 Moodle 登录和已确认设置。断电级一致性及其他账号/平台未验证。
v0.4.0 — 快速同步与追加课程
Documentation: Installation and update · 简体中文. Install the newest published ZIP, or run npm run update in an existing installation. Versions without an updater can be reinstalled while preserving materials and settings.
新增快速同步与追加课程,保留原有完整增量检查。
- 日常运行
npm run sync:quick,或对 Codex 说“快速同步 Moodle 课件”。MCPsync_courses支持mode: "quick"。 - 快速模式读取课程列表,只下载没有保存记录的新模块/文件;普通旧文件不做本地哈希或 ETag 请求。文件夹仍读取列表,以发现新文件并重试部分失败。
- 添加第四门课:先发现实际课程,由用户确认后运行
npm run add -- COURSE_ID;MCPselect_courses支持mode: "add",保留原名单并去重。新加入课程的所有未记录资料可用快速模式下载。 - 不自动批准所有新课程,不修改学校数据。
- 默认仍为完整模式。快速模式不检测旧课件替换、旧本地文件丢失/损坏,也不报告远端删除;这些使用
npm run sync完整检查。快速跳过不表示已验证未变化。
验证:权威源码与干净发布安装均40/40测试通过,官方MCP客户端验证quick/add工具参数及设置门槛。此版本新增逻辑用模拟数据验证,没有制造真实课程更新或修改个人资料。
升级后重启MCP,更新附带Codex skill;无需迁移已有manifest或课件。支持范围仍为UNNC、macOS+Chrome、Node.js24+,预发布状态保留。