Canvas LMS: courses, assignments, submissions, grading, rubrics, quizzes and announcements.
Classroom desk
Plans the unit, writes the practice and the rubric, runs the course in Canvas, and turns lessons into flashcards students review.
Built for: The teacher or course designer planning a term in Canvas, with marking on the weekend and a video lecture to turn into notes.
The button opens the checkout, where the 3 servers and 6 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Plan a unit from its outcomes, then create the assignments and rubrics for it in Canvas.
- 02
Write retrieval questions for each lesson and schedule their spaced review across the term.
- 03
Turn a lecture video's transcript into notes and an Anki deck of cards.
- 04
List the submissions waiting to be marked and draft feedback against the rubric for the teacher to edit.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
Creates and updates Anki decks and notes through AnkiConnect, so review material lands where students already study.
Fetches the transcript of a YouTube video, for turning a lecture into notes, questions and cards.
Plans a unit backwards from outcomes to evidence to activities.
A lesson from teacher modelling through guided practice to independent work.
Retrieval questions at several levels of difficulty, for starters, revision and low-stakes quizzes.
A spaced review schedule for a list of topics across a term.
A single-point rubric with room for evidence, for feedback students can act on.
Turns a concept into a short animated explainer with Manim.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Canvas Lms | Free | — |
| Anki | Free | — |
| Youtube Transcript | Free | — |
| Skills | ||
| Backwards Design Unit Planner | Free · context cost only | — |
| Explicit Instruction Sequence Builder | Free · context cost only | — |
| Retrieval Practice Question Generator | Free · context cost only | — |
| Spaced Practice Schedule Builder | Free · context cost only | — |
| Single-Point Rubric Designer | Free · context cost only | — |
| Concept to Video | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 3 servers and 6 skills, and all 17 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add classroom-desk writes all 3 servers into Claude Code’s config in one go — or run the lines below one by one. The 6 skills are not included — add them with lines 04–09.
- Canvas Lms
CANVAS_API_TOKEN— Canvas personal access token (Account → Settings → Approved Integrations → New Access Token)CANVAS_BASE_URL— Canvas instance base URL, origin only with no path, e.g. https://school.instructure.com
Set them where you start Claude Code — export CANVAS_API_TOKEN=… in your shell profile on macOS and Linux, setx CANVAS_API_TOKEN "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.
# 01 · Canvas Lms
claude mcp add --scope user --env 'CANVAS_API_TOKEN=${CANVAS_API_TOKEN}' --env 'CANVAS_BASE_URL=${CANVAS_BASE_URL}' --transport stdio canvas-lms-mcp '--' npx -y canvas-lms-mcp
# 02 · Anki
claude mcp add --scope user anki-mcp '--' npx -y anki-mcp-server
# 03 · Youtube Transcript
claude mcp add --scope user youtube-transcript-mcp '--' npx -y @kimtaeyoon83/mcp-server-youtube-transcript
# 04 · Backwards Design Unit Planner
npx mcprush@latest skill add garethmanning/backwards-design-unit-planner
# 05 · Explicit Instruction Sequence Builder
npx mcprush@latest skill add garethmanning/explicit-instruction-sequence-builder
# 06 · Retrieval Practice Question Generator
npx mcprush@latest skill add garethmanning/retrieval-practice-question-generator
# 07 · Spaced Practice Schedule Builder
npx mcprush@latest skill add garethmanning/spaced-practice-schedule-builder
# 08 · Single-Point Rubric Designer
npx mcprush@latest skill add garethmanning/single-point-rubric-designer-2
# 09 · Concept to Video
npx mcprush@latest skill add mathews-tom/concept-to-videoRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 1 member wants an API key, set in your own client’s config on your machine — this marketplace never holds it.
- 2 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 1 member of 3 has no imported tool surface. Section 05 says what is known before you approve anything.
- 3 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Anki | imported | 9 |
| Canvas Lms | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 1 member of 3 has no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
A school on Google Classroom gets courses, coursework, submissions and grading through gogcli instead of Canvas.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It does not grade on its own. Drafted feedback and scores wait for the teacher to approve them.
Student records are protected data. Give the Canvas token the least access that does the job, and keep exports out of shared folders.
The Anki member works on a desktop Anki with AnkiConnect installed; it does not reach AnkiWeb directly.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Stacks that share parts with this one
Research desk
Finds the sources, keeps what it read, and answers with a citation that still opens next quarter.
Code review
Tools to inspect code changes, run checks and prepare a pull request review.
Bug reproduction
Tools to investigate a bug report and work toward a reproducible test case.