Download Every Lecture Slide From Canvas Automatically
It is the night before the final and you are clicking through the Files tab in Canvas, downloading slide decks one at a time. Lecture 1, save. Lecture 2, save. A reading buried in a Module. A PDF the professor posted in an announcement. Twenty minutes later you have most of them, you think, and you are not sure the folder is complete.
Canvas has no "download everything" button. download_course_materials is that button.
What the tool pulls
download_course_materials walks a course and bulk-pulls its files: lecture slides, PDFs, problem sets, readings, and other attachments, into a local folder on your machine. Instead of hunting through Files, Modules, and Pages one link at a time, your agent grabs the whole set in a single request.
That gives you an offline, searchable copy of the course, which is exactly what you want during exam week when the Wi-Fi at the library is fighting you.
Set it up
Create a Canvas access token at Account → Settings → Approved Integrations → + New Access Token, then add the MCP server to your AI client:
json { "mcpServers": { "canvas-lms": { "command": "npx", "args": ["-y", "canvaslmsmcpkit"], "env": { "CANVAS_API_TOKEN": "your-token", "CANVAS_BASE_URL": "https://school.instructure.com", "CANVAS_ROLE": "student" } } } }
Restart the client and you are ready to pull.
Pull a whole course at once
Ask your agent in plain language:
> Use download_course_materials to grab every file from my CHEM 201 course into a folder called chem-201.
You get a manifest of what came down:
text download_course_materials — CHEM 201
Saved to ./chem-201/ ✓ 01_intro_lecture.pdf (2.1 MB) ✓ 02_stoichiometry.pptx (5.4 MB) ✓ 03_thermo_slides.pdf (3.0 MB) ✓ lab_manual_full.pdf (8.8 MB) ✓ practice_final_2025.pdf (640 KB) ✓ formula_sheet.pdf (120 KB) ... 18 files, 47.3 MB total
Skipped 2 items (external links, not downloadable files).
Everything the professor posted, in one folder, in one command. It even tells you what it could not fetch, like external links, so you know the set is complete.
Why this beats manual downloading
Clicking through Canvas misses things. Files get posted in three different places: the Files tab, inside Modules, and attached to Pages or announcements. Manually, you almost always miss the reading that only lives inside week 6's module. The tool walks the course structure so the stragglers come along too.
It is also repeatable. Run it again the week before the exam and you catch every slide added since your last pull, without re-downloading your way through the whole term from memory.
Build a study set your agent can read
Once the files are local, they are not just backed up, they are usable. Point your AI assistant at the folder:
> From the chem-201 folder, list every topic covered across the lecture PDFs and tell me which ones show up on practice_final_2025.pdf.
> Summarize thermo_slides.pdf into a one-page review sheet.
> Compare the formula sheet to the practice final and flag any formula I will need that is not on the sheet.
You have turned a pile of downloads into a study partner that has actually read your materials.
Grab every course before break
The best time to run this is the last week of a term, before the course goes read-only or disappears from your dashboard. Pull each course into its own folder and you keep a permanent, offline archive of everything you paid tuition for. Reference it next semester when the follow-on course assumes you remember all of it.
> Download materials from all five of my current courses, one folder per course.
Keep your files, keep your token yours
The MCP runs locally with your own access token and downloads straight to your machine, so nothing routes through a third party. Revoke the token any time from the same Approved Integrations page where you made it.
Never click through Files again
Stop right-clicking slide decks one at a time. Install the Canvas LMS MCP, add the config above, and let download_course_materials pull the whole course in one command before your next exam. See every tool with npx -y canvaslmsmcpkit --help, or get started at canvaslmsmcp.com.
Add canvaslmsmcpkit to your AI client and put Canvas on autopilot.
Get Started for Free →