
Read-only Canvas LMS for students: what changed in your courses, search across slides and PDFs.
Public tool metadata for what this MCP can expose to an agent.
canvas_changes_sinceWhat changed since a time (default 26h): new/changed pages, assignments (due dates, grades), announcements, discussions, quizzes, events, files (which PDF pages changed).What changed since a time (default 26h): new/changed pages, assignments (due dates, grades), announcements, discussions, quizzes, events, files (which PDF pages changed).
No parameter schema in public metadata yet.
canvas_searchFull-text search across your courses: pages, assignments, announcements, discussions, the syllabus, and the text of linked PDFs, slides and documents (with the page/slide number).Full-text search across your courses: pages, assignments, announcements, discussions, the syllabus, and the text of linked PDFs, slides and documents (with the page/slide number).
No parameter schema in public metadata yet.
canvas_course_snapshotStored state of a course (optionally only some kinds, e.g. assignments). No Canvas calls.Stored state of a course (optionally only some kinds, e.g. assignments). No Canvas calls.
No parameter schema in public metadata yet.
canvas_snapshot_statusSnapshot health: courses and your role, last run, counts, errors, next run.Snapshot health: courses and your role, last run, counts, errors, next run.
No parameter schema in public metadata yet.
canvas_run_snapshotTake a snapshot now and return what changed.Take a snapshot now and return what changed.
No parameter schema in public metadata yet.
canvas_whoamiThe Canvas user the token belongs to; checks that the connection works.The Canvas user the token belongs to; checks that the connection works.
No parameter schema in public metadata yet.
canvas_list_coursesYour courses, ids and your role in each.Your courses, ids and your role in each.
No parameter schema in public metadata yet.
canvas_whats_newCanvas's own activity stream since a time, including inbox messages. Live, but doesn't see edits, removals or file changes like canvas_changes_since does.Canvas's own activity stream since a time, including inbox messages. Live, but doesn't see edits, removals or file changes like canvas_changes_since does.
No parameter schema in public metadata yet.
canvas_list_planner_itemsEverything dated in a window, with submission status.Everything dated in a window, with submission status.
No parameter schema in public metadata yet.
canvas_list_assignmentsAssignments, due dates, descriptions, rubrics; as a student also your submission, teacher comments and rubric scores.Assignments, due dates, descriptions, rubrics; as a student also your submission, teacher comments and rubric scores.
No parameter schema in public metadata yet.
canvas_get_assignmentAssignments, due dates, descriptions, rubrics; as a student also your submission, teacher comments and rubric scores.Assignments, due dates, descriptions, rubrics; as a student also your submission, teacher comments and rubric scores.
No parameter schema in public metadata yet.
canvas_list_quizzesClassic quizzes and New Quizzes: time limit, attempts, lock window, instructions, your latest attempt.Classic quizzes and New Quizzes: time limit, attempts, lock window, instructions, your latest attempt.
No parameter schema in public metadata yet.
canvas_get_quizClassic quizzes and New Quizzes: time limit, attempts, lock window, instructions, your latest attempt.Classic quizzes and New Quizzes: time limit, attempts, lock window, instructions, your latest attempt.
No parameter schema in public metadata yet.
canvas_list_announcementsAnnouncements across courses.Announcements across courses.
No parameter schema in public metadata yet.
canvas_list_discussionsDiscussion topics, and a whole thread with replies (without marking anything read).Discussion topics, and a whole thread with replies (without marking anything read).
No parameter schema in public metadata yet.
canvas_get_discussionDiscussion topics, and a whole thread with replies (without marking anything read).Discussion topics, and a whole thread with replies (without marking anything read).
No parameter schema in public metadata yet.
canvas_get_syllabusThe syllabus page.The syllabus page.
No parameter schema in public metadata yet.
canvas_list_modulesModule structure with items.Module structure with items.
No parameter schema in public metadata yet.
canvas_list_pagesCourse pages as text, with their file links.Course pages as text, with their file links.
No parameter schema in public metadata yet.
canvas_get_pageCourse pages as text, with their file links.Course pages as text, with their file links.
No parameter schema in public metadata yet.
canvas_list_linked_filesEvery file linked from the course (front page, pages, modules, assignments, announcements). Works even when the files tab is hidden.Every file linked from the course (front page, pages, modules, assignments, announcements). Works even when the files tab is hidden.
No parameter schema in public metadata yet.
canvas_list_filesThe full Files area, including unlinked files (mostly for TAs/teachers); falls back to linked files when your role can't list it.The full Files area, including unlinked files (mostly for TAs/teachers); falls back to linked files when your role can't list it.
No parameter schema in public metadata yet.
canvas_read_fileText of a PDF (per page), PPTX (per slide + notes), DOCX (per section), text/code file, or ZIP listing. Takes a file id or any Canvas file URL; supports page ranges.Text of a PDF (per page), PPTX (per slide + notes), DOCX (per section), text/code file, or ZIP listing. Takes a file id or any Canvas file URL; supports page ranges.
No parameter schema in public metadata yet.
canvas_list_calendar_eventsCalendar events.Calendar events.
No parameter schema in public metadata yet.
canvas_get_gradesYour own scores, grades and comments (as a student).Your own scores, grades and comments (as a student).
No parameter schema in public metadata yet.
canvas_api_getEscape hatch: any GET /api/v1/... endpoint (can be disabled).Escape hatch: any GET /api/v1/... endpoint (can be disabled).
No parameter schema in public metadata yet.
Sponsors
CANVAS_BASE_URL*Your Canvas address, e.g. https://canvas.yourschool.edu
CANVAS_TOKEN*secretCanvas personal access token (Account → Settings → New access token)
CANVAS_HOST_ALIASESOther hostnames of the same Canvas, comma-separated (optional)
Ask Claude what changed in your courses, and search every lecture slide. A read-only MCP server for Canvas LMS, built as a study assistant rather than a full Canvas API.
GET requests to Canvas. It can't submit, post, grade or change anything, and it doesn't even mark discussions as read.Works with any Canvas instance. Made for students; TAs and teachers can use it too (for reading, e.g. "needs grading" counts).
canvas-readonly-mcp