This document provides a comprehensive overview of all tools available in the Canvas MCP Server, organized by audience and functionality.
These tools provide students with personal academic tracking and organization capabilities using Canvas API’s “self” endpoints.
get_my_upcoming_assignments
Get your upcoming assignments across all enrolled courses.
Parameters:
days
(optional): Number of days to look ahead (default: 7)Example:
"What assignments do I have due this week?"
"Show me what's due in the next 3 days"
Returns: List of assignments due within timeframe, sorted by due date, with submission status.
get_my_todo_items
Get your Canvas TODO list including assignments, quizzes, and discussions.
Example:
"Show me my Canvas TODO list"
"What do I need to do?"
Returns: All items requiring your attention with due dates and course information.
get_my_submission_status
Check your submission status across assignments.
Parameters:
course_identifier
(optional): Specific course code or ID to filterExample:
"Have I submitted everything?"
"Show me my submission status for BADM 350"
"What haven't I turned in yet?"
Returns: Submitted and missing assignments, with overdue items flagged.
get_my_course_grades
View your current grades across all enrolled courses.
Example:
"What are my current grades?"
"Show me how I'm doing in all my courses"
Returns: Current grade, percentage, and enrollment status for each course.
get_my_peer_reviews_todo
List peer reviews you need to complete.
Parameters:
course_identifier
(optional): Filter by specific courseExample:
"What peer reviews do I need to complete?"
"Show me my pending peer reviews for ENGL 101"
Returns: Incomplete peer reviews with assignment and course information.
These tools provide instructors and TAs with course management, grading, analytics, and communication capabilities.
list_assignments
List all assignments for a course.
Parameters:
course_identifier
: Course code (e.g., “badm_350_120251_246794”) or IDExample:
"Show me all assignments in BADM 350"
"List assignments for my Spring 2025 course"
get_assignment_details
Get detailed information about a specific assignment.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Show me details for Assignment 3"
list_submissions
View student submissions for an assignment.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Who has submitted Assignment 2 in BADM 350?"
"Show me submissions for the latest assignment"
Note: Student data is anonymized if ENABLE_DATA_ANONYMIZATION=true
in educator’s .env
file.
get_assignment_analytics
Get comprehensive performance analytics for an assignment.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Show me analytics for Assignment 3"
"What's the submission rate for the final project?"
Returns: Submission statistics, grade distribution, completion rates, and performance metrics.
create_rubric
Create a new grading rubric.
Parameters:
course_identifier
: Course code or IDtitle
: Rubric titlecriteria
: JSON array of rubric criteriaExample:
"Create a rubric for the final project with criteria for content, organization, and citations"
get_rubric_details
View rubric criteria and point values.
Parameters:
course_identifier
: Course code or IDrubric_id
: Rubric IDExample:
"Show me the rubric for Assignment 4"
associate_rubric
Link a rubric to an assignment.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDrubric_id
: Rubric IDuse_for_grading
: Boolean (true/false)grade_submission_with_rubric
Grade a student submission using a rubric.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDuser_id
: Student IDrubric_assessment
: JSON with criterion ratingsget_student_analytics
Multi-dimensional student performance analysis.
Parameters:
course_identifier
: Course code or IDstudent_id
(optional): Specific student or all studentsExample:
"Show me student performance in BADM 350"
"Analyze Student_abc123's progress"
Returns: Assignment completion, grade trends, participation, and risk indicators.
list_peer_reviews
List all peer review assignments.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Show me peer review assignments for Assignment 2"
get_peer_review_completion_analytics
Analyze peer review completion rates.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"How many students completed peer reviews for Assignment 2?"
"Show me peer review completion statistics"
Returns: Completion rates, incomplete reviews, and student-level breakdown.
get_peer_review_comments
Extract actual peer review comment text and metadata.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Show me peer review comments for Assignment 3"
analyze_peer_review_quality
Comprehensive quality analysis of peer review comments.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Analyze the quality of peer reviews for Assignment 2"
Returns: Quality metrics including length, specificity, constructiveness, and patterns.
identify_problematic_peer_reviews
Flag low-quality peer reviews needing attention.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDExample:
"Which peer reviews need improvement?"
assign_peer_review
Manually assign a peer review.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDreviewer_id
: Student who will reviewreviewee_id
: Student being reviewedsend_conversation
Send messages to students.
Parameters:
course_identifier
: Course code or IDrecipients
: User IDs (array)subject
: Message subjectbody
: Message contentExample:
"Message students who haven't submitted Assignment 3"
send_peer_review_reminders
Automated peer review reminder workflow.
Parameters:
course_identifier
: Course code or IDassignment_id
: Assignment IDuser_ids
: Students to remind (array)custom_message
(optional): Custom message templateExample:
"Send reminders to students who haven't completed peer reviews"
create_announcement
Post course announcements.
Parameters:
course_identifier
: Course code or IDtitle
: Announcement titlemessage
: Announcement contentExample:
"Create an announcement about tomorrow's exam"
create_discussion_topic
Start a new discussion forum.
Parameters:
course_identifier
: Course code or IDtitle
: Discussion titlemessage
: Initial post contentreply_to_discussion_entry
Respond to student discussion posts.
Parameters:
course_identifier
: Course code or IDtopic_id
: Discussion topic IDentry_id
: Specific post IDmessage
: Your responseExample:
"Reply to John's post in the Week 5 discussion"
These tools work for both audiences, providing access to course content and information.
list_courses
List all enrolled courses.
Example:
"Show me my courses"
"What courses am I enrolled in?"
get_course_details
Get detailed course information including syllabus.
Parameters:
course_identifier
: Course code or IDExample:
"Show me the syllabus for BADM 350"
"What's the course description for my Marketing class?"
list_pages
List pages in a course.
Parameters:
course_identifier
: Course code or IDsort
(optional): Sort by title, created_at, or updated_atpublished
(optional): Filter by published statusExample:
"Show me all pages in BADM 350"
"List published pages for my course"
get_page_content
Read the full content of a course page.
Parameters:
course_identifier
: Course code or IDpage_url_or_id
: Page URL or IDExample:
"Show me the Week 1 Overview page"
"Read the Course Policies page for HIST 202"
get_page_details
Get detailed page metadata.
Parameters:
course_identifier
: Course code or IDpage_url_or_id
: Page URL or IDlist_announcements
View course announcements.
Parameters:
course_identifier
: Course code or IDExample:
"Show me recent announcements"
"What are the latest announcements in BADM 350?"
list_discussion_topics
View discussion forums in a course.
Parameters:
course_identifier
: Course code or IDonly_announcements
(optional): Filter for announcements onlyExample:
"What discussions are active in my course?"
"Show me discussion topics for ENGL 101"
get_discussion_topic_details
Get details about a specific discussion.
Parameters:
course_identifier
: Course code or IDtopic_id
: Discussion topic IDlist_discussion_entries
View posts in a discussion.
Parameters:
course_identifier
: Course code or IDtopic_id
: Discussion topic IDExample:
"Show me posts in the Week 5 discussion"
get_discussion_entry_details
Read a specific discussion post.
Parameters:
course_identifier
: Course code or IDtopic_id
: Discussion topic IDentry_id
: Post IDExample:
"Show me the first post in the introduction discussion"
post_discussion_entry
Create a new discussion post.
Parameters:
course_identifier
: Course code or IDtopic_id
: Discussion topic IDmessage
: Post contentENABLE_DATA_ANONYMIZATION=true
in .env
for FERPA compliancelocal_maps/
folder secure - never commit to version control