rbrtlol avatar

Canvas LMS (read-only)

rbrtlol/canvas-readonly-mcp

Read-only Canvas LMS for students: what changed in your courses, search across slides and PDFs.

tools
26
auth
Secret needed
transport
STDIO
env vars
3
last updated
Nov 12, 2026

Tools

26 tools

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

Configuration

CANVAS_BASE_URL*

Your Canvas address, e.g. https://canvas.yourschool.edu

CANVAS_TOKEN*secret

Canvas personal access token (Account → Settings → New access token)

CANVAS_HOST_ALIASES

Other hostnames of the same Canvas, comma-separated (optional)

Readme

canvas-readonly-mcp

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.

  • Knows what changed: daily snapshots of your courses, so "what's new since yesterday?" is one call: new announcements, moved deadlines, new grades, edited pages, even which slides in a lecture PDF changed.
  • Searches inside your files: full-text search over pages, assignments, announcements and the text of every linked PDF, slide deck and document, with the page or slide number. It finds files linked from pages and modules even when the Files tab is hidden.
  • Read-only by design: it only ever sends GET requests to Canvas. It can't submit, post, grade or change anything, and it doesn't even mark discussions as read.
  • Your token stays with you: one-click Claude Desktop extension (token in your system keychain), local stdio, or your own server for claude.ai. Nothing goes through a third party.

Works with any Canvas instance. Made for students; TAs and teachers can use it too (for reading, e.g. "needs grading" counts).


View the full README on GitHub

Details

Repository
github.com/rbrtlol/canvas-readonly-mcp
Website
github.com/rbrtlol/canvas-readonly-mcp#readme
Categories
Design & Creative, Search & Web Crawling
Package
canvas-readonly-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Design & Creative MCP servers

View all
1rocnubie avatarAI Room Design MCProcnubie/ai-room-design-mcpAI Room Design helps users redesign rooms and visualize new interior layouts with AI-generated0stars
2yalamber avatarpdfzenyalamber/pdfzenRender PDFs from 45 starter templates or raw HTML. Pay-per-render with USDC via x402.0stars
3skyblue3925-svg avatarGeo Figure (지리 시험 지도·그래프)skyblue3925-svg/geo-figure-mcp지리 시험용 지도·그래프를 실제 통계로, 도형 하나하나 고칠 수 있는 PPTX·HWPX로 만든다.0stars
4investigation-game avatarInvestigation Game Apptech.skybridge.investigation-game/investigation-gameFind out who killed Claude by interrogating the LLM driven suspects...0stars
5wei-ai-lab avatarClinical Trial Designwei-ai-lab/clinical-trial-designPhase 2/3 clinical trial design via gsDesign / gsDesign2: sample size, GS boundaries, multiplicity0stars
63keys avatarWish Gameworld.3keys/wish-gameWish game — every agent wish permanently reshapes a shared world. Free, no key needed.0stars