moodle, edstem, and ontrack — that give students, teaching staff, and the AI apps you connect terminal and MCP (Model Context Protocol) access to the learning platforms a university runs: Moodle, Ed Discussion and OnTrack. All three tools work the same way: the same commands, the same way of showing an error, the same confirmation before anything changes. What you learn running one applies to the others.
All three are written and maintained by bunizao and released under MIT. For a side-by-side look, with demos of each, see the live CLIs.
A fourth project, unicorn, is not a CLI. It is a Worker you deploy to your own free Cloudflare account that remembers your Ed, Moodle, Canvas and Gmail content between sessions and gives your AI agent one place to read it.
Each tool only reaches what your own account can already see:
moodle borrows the browser session you signed in with, edstem uses a personal API token you create yourself, and ontrack reuses a browser session or falls back to a SAML (Security Assertion Markup Language) sign-in. None of them create a service account or a new set of upstream permissions.
Moodle CLI
Deadlines, grades, announcements, forum threads and files, borrowed from your browser session.
Ed Discussion CLI
Threads, lesson content and quiz slides, read and posted with a personal Ed API token.
OnTrack CLI
Tasks, task chats and teaching roles, CLI-only in this release.
unicorn
A memory layer for your own AI agent: changes, deadlines and a daily digest across your courses.
Quickstart
Install, sign in, and run your first command in each tool.
MCP servers
Connect an AI client to Moodle or Ed Discussion without running the CLI yourself.
Compare the CLIs
A feature matrix across all three, and what each one’s web UI still covers that the CLI doesn’t.
Developers
Building on this? JSON output, exit codes, MCP internals and agent skills.