This guide shows the most common tasks educators use Canvas MCP for.
.env file with Canvas API tokenENABLE_DATA_ANONYMIZATION=true
Which students haven't submitted Assignment 5 in CS 101?
Claude will show you who’s missing submissions and help you follow up.
I need to grade Assignment 3 in BADM 350 using the rubric
Claude can:
Send a reminder to students who haven't submitted the midterm project
Claude will:
Who hasn't participated in the Discussion 4 in my Intro to Python course?
Get quick insights into discussion participation.
For large classes, use the code execution API:
Grade all 90 Jupyter notebook submissions for Assignment 2 by checking if they run without errors
This uses the bulk grading feature that’s 99.7% more efficient than traditional methods.
Show me statistics for Quiz 3 in ECON 102
Get:
For CS 225, show me:
1. Who's falling behind (missing multiple assignments)
2. Discussion participation rates
3. Average grades on the latest assignment
Grade Discussion Topic 5 in BADM 350. Give 10 points for initial post, 5 points per peer review (must do 2), max 10 points for peer reviews.
Uses bulk discussion grading - super fast!
Show me peer review completion for Assignment 4. Who hasn't done their reviews?
Give me an overview of MATH 221:
- How many students are current on assignments?
- What's the average grade?
- Who might need extra support?
With ENABLE_DATA_ANONYMIZATION=true:
Example anonymized output:
Missing submissions:
- Student_a8f7e23d (submitted 2/5 assignments)
- Student_c9b21f84 (submitted 1/5 assignments)
For small operations (< 10 students): Just ask naturally
For bulk operations (> 30 students): Mention you want to use code execution:
Use the bulk grading code API to grade all submissions for Assignment 6
❌ Don’t: “Grade all assignments” (too vague) ✅ Do: “Grade Assignment 5 in CS 101 using the provided rubric”
❌ Don’t: Send messages without reviewing ✅ Do: “Draft a message to students missing Assignment 3, let me review before sending”
❌ Don’t: Assume old data is current ✅ Do: Canvas MCP fetches fresh data, but cache may be a few minutes old
“Can’t access student data”
“Bulk operations are slow”
“Anonymization isn’t working”
ENABLE_DATA_ANONYMIZATION=true in your .envNeed help? Check EDUCATOR_GUIDE.md or open an issue.