canvas-mcp

Canvas MCP Tools Documentation

This document provides a comprehensive overview of all tools available in the Canvas MCP Server, organized by audience and functionality.

Table of Contents


Student Tools

These tools provide students with personal academic tracking and organization capabilities using Canvas API’s “self” endpoints.

Personal Organization

get_my_upcoming_assignments

Get your upcoming assignments across all enrolled courses.

Parameters:

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:

Example:

"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.


Academic Performance

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.


Peer Review Management

get_my_peer_reviews_todo

List peer reviews you need to complete.

Parameters:

Example:

"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.


Educator Tools

These tools provide instructors and TAs with course management, grading, analytics, and communication capabilities.

Assignment Management

list_assignments

List all assignments for a course.

Parameters:

Example:

"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:

Example:

"Show me details for Assignment 3"

list_submissions

View student submissions for an assignment.

Parameters:

Example:

"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:

Example:

"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.


Grading & Rubrics

create_rubric

Create a new grading rubric.

Parameters:

Example:

"Create a rubric for the final project with criteria for content, organization, and citations"

get_rubric_details

View rubric criteria and point values.

Parameters:

Example:

"Show me the rubric for Assignment 4"

associate_rubric

Link a rubric to an assignment.

Parameters:


grade_submission_with_rubric

Grade a student submission using a rubric.

Parameters:


Student Analytics

get_student_analytics

Multi-dimensional student performance analysis.

Parameters:

Example:

"Show me student performance in BADM 350"
"Analyze Student_abc123's progress"

Returns: Assignment completion, grade trends, participation, and risk indicators.


Peer Review Management

list_peer_reviews

List all peer review assignments.

Parameters:

Example:

"Show me peer review assignments for Assignment 2"

get_peer_review_completion_analytics

Analyze peer review completion rates.

Parameters:

Example:

"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:

Example:

"Show me peer review comments for Assignment 3"

analyze_peer_review_quality

Comprehensive quality analysis of peer review comments.

Parameters:

Example:

"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:

Example:

"Which peer reviews need improvement?"

assign_peer_review

Manually assign a peer review.

Parameters:


Communication & Messaging

send_conversation

Send messages to students.

Parameters:

Example:

"Message students who haven't submitted Assignment 3"

send_peer_review_reminders

Automated peer review reminder workflow.

Parameters:

Example:

"Send reminders to students who haven't completed peer reviews"

create_announcement

Post course announcements.

Parameters:

Example:

"Create an announcement about tomorrow's exam"

Discussion Management

create_discussion_topic

Start a new discussion forum.

Parameters:


reply_to_discussion_entry

Respond to student discussion posts.

Parameters:

Example:

"Reply to John's post in the Week 5 discussion"

Shared Tools (Both Students & Educators)

These tools work for both audiences, providing access to course content and information.

Course Management

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:

Example:

"Show me the syllabus for BADM 350"
"What's the course description for my Marketing class?"

Content Access

list_pages

List pages in a course.

Parameters:

Example:

"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:

Example:

"Show me the Week 1 Overview page"
"Read the Course Policies page for HIST 202"

get_page_details

Get detailed page metadata.

Parameters:


Announcements

list_announcements

View course announcements.

Parameters:

Example:

"Show me recent announcements"
"What are the latest announcements in BADM 350?"

Discussions

list_discussion_topics

View discussion forums in a course.

Parameters:

Example:

"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:


list_discussion_entries

View posts in a discussion.

Parameters:

Example:

"Show me posts in the Week 5 discussion"

get_discussion_entry_details

Read a specific discussion post.

Parameters:

Example:

"Show me the first post in the introduction discussion"

post_discussion_entry

Create a new discussion post.

Parameters:


Tool Usage Guidelines

For Students

  1. Be specific: Use course codes when possible (e.g., “BADM 350” instead of “my business class”)
  2. Combine queries: “Show me my grades and what’s due this week”
  3. Check regularly: Use for daily planning and weekly organization
  4. No setup needed: Student tools access only your data - no special configuration required

For Educators

  1. Enable anonymization: Set ENABLE_DATA_ANONYMIZATION=true in .env for FERPA compliance
  2. Use course codes: Be specific about which course (e.g., “badm_350_120251_246794”)
  3. Leverage automation: Use messaging and reminder tools for routine communications
  4. Combine analytics: Request multiple analytics in one query for comprehensive insights
  5. Protect mapping files: Keep local_maps/ folder secure - never commit to version control

General Best Practices

Need Help?