Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ynbh/canvasmcp/llms.txt

Use this file to discover all available pages before exploring further.

The assignment tools cover everything from browsing upcoming work to retrieving full rubric details and submission history. All four tools require a course_id; use list_courses or resolve_course to obtain one.

list_course_assignments

Lists assignments for a course. Supports filtering by keyword, lifecycle bucket, and whether to include the current user’s submission alongside each assignment.

Parameters

course_id
string
required
Canvas course ID.

Response

course_id
string
required
Canvas course ID.
count
integer
required
Number of assignments returned.
assignments
object[]
required

Example

canvas tool run list_course_assignments --args '{"course_id": "112233", "bucket": "upcoming", "include_submission": true}'

get_assignment_details

Returns full details for a single assignment, including description, grading configuration, allowed extensions, and optional submission data.

Parameters

course_id
string
required
Canvas course ID.
assignment_id
string
required
Canvas assignment ID. Obtainable from list_course_assignments or resolve_canvas_url.

Response

course_id
string
required
Canvas course ID.
assignment
object
required

Example

canvas tool run get_assignment_details --args '{"course_id": "112233", "assignment_id": "789012", "include_submission": true}'

list_assignment_groups

Lists the assignment groups (grading categories) for a course and optionally expands each group to include its assignments and submission data. Assignment groups represent weighted grading buckets such as “Homework (20%)” or “Exams (50%)”.

Parameters

course_id
string
required
Canvas course ID.

Response

course_id
string
required
Canvas course ID.
count
integer
required
Number of assignment groups returned.
assignment_groups
object[]
required

Example

canvas tool run list_assignment_groups --args '{"course_id": "112233", "include_assignments": true, "include_submission": true}'

list_course_submissions

Lists submissions for a student in a course. Defaults to the authenticated user (self). Supports filtering by assignment IDs, workflow state, and submission timestamps, and can include additional Canvas sideloads via include.
Querying submissions for a student_id other than self requires your Canvas account to have course-wide submission read access for that course.

Parameters

course_id
string
required
Canvas course ID.

Response

course_id
string
required
Canvas course ID.
count
integer
required
Number of submissions returned.
submissions
object[]
required

Example

canvas tool run list_course_submissions --args '{"course_id": "112233", "student_id": "self", "workflow_state": "graded", "limit": 50}'
canvas tool run list_course_submissions --args '{"course_id": "112233", "assignment_ids": ["789012", "789013"], "include": ["assignment", "submission_comments"]}'

Build docs developers (and LLMs) love