canvas-week-plan
Canvas Week Plan
Generate a comprehensive weekly plan for a student, showing all upcoming assignments, current grades, submission status, and pending peer reviews across all enrolled courses.
Prerequisites
- Canvas MCP server must be configured and running in the agent's MCP client (e.g., Claude Code, Cursor, Codex, OpenCode)
- The user must have a student role in their Canvas courses
- No anonymization is needed -- students only see their own data
Steps
1. Get Upcoming Assignments
Call the MCP tool get_my_upcoming_assignments with days_ahead=7 to retrieve all assignments due in the next week.
Data to collect per assignment:
- Assignment name
- Course name or code
- Due date and time
- Point value
- Assignment type (quiz, essay, discussion, etc.)
2. Check Submission Status
Call the MCP tool get_my_submission_status to determine what has been submitted and what has not.
Categorize each assignment as one of:
- Submitted -- already turned in
- Not submitted -- still needs to be done
- Late -- past due but late submissions still accepted
- Missing -- past due, no late submissions accepted
3. Get Current Grades
Call the MCP tool get_my_course_grades to show academic standing for each enrolled course.
Collect per course:
- Current percentage and letter grade
- Impact of upcoming assignments on grade (if calculable)
4. Check Peer Reviews
Call the MCP tool get_my_peer_reviews_todo to find any pending peer reviews.
Collect per pending review:
- Which assignment needs peer review
- How many reviews are required
- Deadline for completing reviews
- Reviews completed vs. remaining
5. Generate the Weekly Plan
Present a structured, actionable plan using the format below. Adjust courses, assignments, and numbers to match the actual data retrieved.
## Your Week Ahead
### Quick Stats
- **Due this week:** 5 assignments
- **Already submitted:** 2
- **Peer reviews pending:** 3
- **Highest priority:** Final Project (100 pts, due Fri)
### By Course
#### CS 101 (Current: 87% B+)
| Assignment | Due | Points | Status |
|------------|-----|--------|--------|
| Quiz 5 | Tue 11:59pm | 20 | Not submitted |
| Lab 8 | Thu 5:00pm | 30 | Submitted |
#### MATH 221 (Current: 92% A-)
| Assignment | Due | Points | Status |
|------------|-----|--------|--------|
| HW 12 | Wed 11:59pm | 25 | Not submitted |
| Final Project | Fri 11:59pm | 100 | Not submitted |
### Peer Reviews Due
- **Essay 2 Peer Review** (ENG 101) - 2 reviews needed by Thu
- **Project Proposal Review** (CS 101) - 1 review needed by Fri
### Suggested Priority Order
1. **Quiz 5** (CS 101) - Due tomorrow, 20 pts
2. **HW 12** (MATH 221) - Due Wed, 25 pts
3. **Peer Reviews** - 3 total, due Thu-Fri
4. **Final Project** (MATH 221) - Due Fri, 100 pts (start early!)
### Grade Impact
- Completing all assignments could raise your grades:
- CS 101: 87% -> 89%
- MATH 221: 92% -> 94%
6. Offer Drill-Down Options
After presenting the plan, let the user know what further actions are available:
Need more details? I can:
1. Show full assignment instructions for any item
2. Check the rubric for an assignment
3. Show your grade breakdown for a course
4. Focus on just one course
MCP Tools Used
| Tool | Purpose |
|---|---|
get_my_upcoming_assignments |
Fetch assignments due within a time window |
get_my_submission_status |
Check submitted vs. not submitted |
get_my_course_grades |
Retrieve current grades per course |
get_my_peer_reviews_todo |
Find pending peer review tasks |
get_assignment_details |
Drill down into a specific assignment (rubric, instructions) |
Output Variations
Compact Mode
If the user asks for a "quick check" or "just the highlights", use a shorter format:
## This Week
- 3 assignments due (2 not started)
- 2 peer reviews pending
- Grades: CS 101 (87%), MATH 221 (92%), ENG 101 (85%)
**Priority:** Quiz 5 (tomorrow), HW 12 (Wed), Final Project (Fri)
Single Course Mode
If the user specifies a course (e.g., "plan my week for CS 101"), show only that course's assignments, grades, and peer reviews.
Notes
- Best used at the start of each week (Sunday or Monday)
- Assignments are sorted by due date, then by point value
- Late and missing assignments are highlighted for attention
- All student-facing tools use the
get_my_*prefix - No privacy concerns since students only access their own data