Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for canvas-lms-mcp

Pod holds 17 of 33 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to canvas-lms-mcp.

Most discussed

Review all students' answers to a single quiz question at once (grade-by-question)

design-first

User story

As an instructor using Claude, I want to review every student's response to a single quiz question side by side — instead of paging through SpeedGrader student-by-student — so I can grade essay/short-answer questions consistently and quickly.

Evidence

This is a long-standing, repeatedly-voiced SpeedGrader limitation. In a 2026 r/Professors "Canvas pet peeves" thread ([old.reddit.com/r/Professors/comments/1uibbvl](https://old.reddit.com/r/Professors/comment

Read the thread · 2026-07-09 · closed · 6 comments

Flag assignments still accepting submissions after their due date (no lock date set)

design-first

User story

As an instructor using Claude, I want to see which of my published assignments are past their due date but still accepting submissions (no lock/availability date set), so I can close the ones I forgot to lock before more late work piles up.

Evidence

A large, active r/Professors thread this week about a surge in weeks-late submissions turned into a de-facto tutorial where many instructors independently prescribe closing the submission window at the deadline —

Read the thread · 2026-07-08 · closed · 6 comments

Let students see instructor and peer feedback comments on their own submissions

design-first

User story As a student using Claude with this Canvas MCP server, I want to see the feedback comments (and peer-review comments) an instructor or classmate left on my own submissions, so I don't miss feedback that today only surfaces via email or by clicking into each assignment in the Canvas web UI.

Evidence

  • Recurring "comment/feedback notifications are invisible in-app" pain in the r/canvas "Canvas pet peeves" thread (12 pts, ~25 comments): one user lists *"Lack of

Read the thread · 2026-07-02 · closed · 6 comments

Extend the course link/image audit to cover quizzes and question banks

design-first

User story As an instructor using Claude, when I run the course link/image audit after copying a course, I want it to also flag broken and cross-course images inside quiz descriptions and quiz questions — because those break silently for students while still rendering in my own test-student preview, so I have no way to catch them by eye.

Evidence Instructors report that images embedded in quizzes/question banks break for students after a course copy but remain visible

Read the thread · 2026-07-01 · closed · 6 comments

Surface a course's submissions still awaiting manual grading (quiz essays, file uploads, ungraded work)

design-first

User story: As an instructor using Claude, I want to see every submission in my course that still needs a human grade — especially quiz essays, file uploads, and fill-in-the-blank answers Canvas auto-graded but left "pending review" — so I don't publish deflated grades early or forget to circle back before grades post.

Evidence

Instructors repeatedly describe losing track of which quiz questions still need manual grading, and students seeing a deflated auto-grade befo

Read the thread · 2026-06-26 · closed · 6 comments

Detect broken and outdated links and images in a course's content

design-first

User story As an instructor using Claude, I want to ask "which links, images, or videos in my course are broken or still point at a previous copy of the course?" so I can fix them before students hit dead content — especially after copying a course forward into a new term.

Evidence Recurring instructor pain across two distinct r/canvas threads this cycle:

  • "I need to know if any of my links, photos, and videos are broken … I'd like to be able to search my entire cours

Read the thread · 2026-06-25 · closed · 6 comments

Explain a course's grading automation policy (auto-zero for missing work, late deductions, group weighting)

design-first

User story As an instructor (or student) using Claude, I want to ask "how is grading set up in this course — will missing work automatically become a zero, are late submissions penalized, and are the assignment groups weighted?" and get a plain-language answer, instead of hunting through Canvas settings screens or guessing.

Evidence Canvas users repeatedly report that a course's grading automation is opaque — there is no easy way to tell whether the missing-submissio

Read the thread · 2026-06-23 · closed · 6 comments

Surface course-setup problems before publishing (missing due dates, unpublished items, gradebook gaps)

design-first

User story

As an instructor using Claude, I want to ask "what's wrong with my course before I publish it?" and get one factual report of common setup problems — assignments missing due dates, unpublished items students won't see, and gradebook weighting gaps — so I can fix them before the term starts (or before an accreditation review) instead of clicking through every assignment, module, and settings page by hand.

Evidence

Instructors repeatedly describe a manual, cli

Read the thread · 2026-06-19 · closed · 6 comments

Most recent

feat(auth): add MCP OAuth profile with host-visible Not authenticated state

Motivation

canvas-lms-mcp can be installed in Codex today, but the normal local setup is a stdio process whose Canvas PAT/base URL are supplied out of band. Codex therefore reports the server as Auth Unsupported; if the credential is absent, the process exits instead of appearing as Not logged in with an Authenticate action.

That is materially different from OAuth-backed servers such as GitHub/Notion:

canvas-lms   ...  enabled  Unsupported
notion       ...  enabled  Not l

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/302) · 2026-08-11 · open · 1 comment

### Connectors Directory readiness: tool titles + privacy policy (MCPB submission requirements)

## Motivation

Anthropic's [Connectors Directory](https://claude.com/docs/connectors/building/submission) lists vetted MCP servers (950+ as of mid-2026) with in-app discovery — for Claude Desktop users this is the only install path *easier* than our downloadable `.mcpb` (no download step at all). Desktop extensions (MCPB) are submitted via a dedicated form and don't require the Claude.ai admin portal.

Two submission requirements we currently fail:

1. **Tool titles.** "All tools must include a 

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/277) · 2026-07-31 · closed · 0 comments

### Add one-click install deep links for Cursor and VS Code

## Motivation

Our install story covers Claude Desktop (one-click `.mcpb`), the `npx canvas-lms-mcp init` wizard, and manual config. Cursor and VS Code both support **one-click deep-link installs** for MCP servers, which is now standard practice for MCP server READMEs — a badge the user clicks and the client installs the server, no wizard or config editing.

- Cursor: `cursor://anysphere.cursor-deeplink/mcp/install?name=<name>&config=<base64-config>` (commonly rendered as an "Add to Cursor" badg

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/276) · 2026-07-31 · closed · 0 comments

### MCP Registry listing shows stale metadata (115 tools / 17 domains) and README registry badge 404s

## Problem

Two stale/broken surfaces on our MCP Registry presence:

1. **`server.json` description is stale.** It reads `"TypeScript MCP server for Canvas LMS — 115 read+write tools across 17 domains."` — the actual count is **163 tools across 41 domains**. This description is published to the official MCP Registry (`registry.modelcontextprotocol.io`) by the `registry-publish` job on **every release**, so the public listing for `io.github.bruchris/canvas-lms-mcp` (v1.24.0, `isLatest: true`, ver

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/275) · 2026-07-31 · closed · 0 comments

### upload_file fails with 'Unable to reach file storage (/canvas-files)' against a working self-hosted Canvas instance

## Summary

`upload_file` fails immediately with `Unable to reach file storage (/canvas-files)` against a live, working self-hosted Canvas instance (canvas.fjordbyte.no). Reproduced on version **1.23.0** (latest, resolved via `npx -y canvas-lms-mcp`) on 2026-07-24.

## Reproduction

upload_file({ course_id: 4, name: "probe.txt", content: "", content_type: "text/plain" }) → Error: Unable to reach file storage (/canvas-files)


- Reproduced on two different courses in the same accou

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/258) · 2026-07-24 · closed · 1 comment

### Audit course content for WCAG accessibility issues (alt text, headings, tables, link text)

**design-first**

**User story**

As an instructor using Claude, I want to ask "which pages, assignments, and other content in my
course have WCAG accessibility problems — missing alt text, bad heading structure, links that say
'click here', tables without headers?" so I can fix them before students (including students using
screen readers) hit inaccessible content.

**Evidence**

- Internal competitive gap: `vishalsachdev/canvas-mcp` ships an "accessibility-auditor" skill built
  on tools this 

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/245) · 2026-07-23 · closed · 1 comment

### Find a student across all my courses, including past terms

**design-first**

**User story**
As an instructor using Claude, when a student from a previous term emails me asking for a recommendation letter (or I just need to recall their work), I want to ask "which of my courses was Jane Doe enrolled in?" and get every course + term she appears in — across current *and* concluded enrollments — instead of opening each old course roster one at a time.

**Evidence**
Instructors repeatedly cite the absence of any way to search *across* their Canvas courses fo

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/235) · 2026-07-07 · closed · 3 comments

### Detect duplicate files in a course to unblock accessibility cleanup

**User story**

As an instructor using Claude, when my institution mandates a high Canvas accessibility score, I want to ask "which files in my course are duplicates?" so I can remove the redundant copies that each get flagged separately by the accessibility checker — without hunting through the Files area by hand.

**Evidence**

Course copies silently duplicate every uploaded PDF/doc in a course's Files, and each copy is flagged separately by accessibility scans — a hidden accessibility-score k

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/233) · 2026-07-05 · closed · 3 comments

### Support New Quizzes accommodations (extra time / attempts) per student across a course

**design-first**

## User story
As an instructor using Claude, I want to grant a student their extra-time/attempts accommodation across **all New Quizzes** in a course in one call — the same bulk operation `set_student_quiz_accommodation` already does for Classic Quizzes — so I don't have to configure accommodations quiz-by-quiz as my institution moves to New Quizzes.

## Evidence
Instructors repeatedly ask for a one-shot, apply-to-all-quizzes accommodation and frame it as something competitors 

[Read the thread](https://github.com/bruchris/canvas-lms-mcp/issues/224) · 2026-06-28 · closed · 3 comments

The remaining reports are on [the project's issue tracker](https://github.com/bruchris/canvas-lms-mcp/issues).