# Reported issues for canvas-mcp

Pod holds 21 of 58 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-mcp](/mcp/canvas-mcp).

## Most discussed

### [Bug]: Create announcement tool

### Bug Description

I previously submitted issue #220. I am testing as a student. Now it is saying it cannot create an announcement but it is posting it as a dicussion instead. It does not confirm whether I want a discussion post made.

### Steps to Reproduce

1. Configure canvas mcp
2. prompt to create announcement
3. see it post a discussion rather than announcement.

### Expected Behavior

It would give me a 403 error since I am a student and not post a discussion.

### Actual Behavior

it t

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/283) · 2026-08-12 · closed · external user · 8 comments

### [Bug]: call search_canvas_tools for peer review but did not get MCP tools related to Peer Reviews

### Bug Description

search_canvas_tools helps find available Canvas API tools by keyword, especially when you’re not sure which Canvas function to use.

However, when I asked `search canvas tools for peer reviews`, the answer is not related to peer review tools:

<img width="708" height="350" alt="Image" src="https://github.com/user-attachments/assets/c93e1194-99f0-4ce8-ade9-5e0756c81ac7" />

### Steps to Reproduce

1. ask `how to use search_canvas_tools`
2. MCP returns `search_canvas_tools hel

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/281) · 2026-08-11 · closed · external user · 5 comments

### [Bug]: peer review tools still not working

### Bug Description

I had previously put in a ticket and it was marked resolve; however, the issue still stands. When i use the get_my_peer_reviews_todo it says no pending peer reviews. This is not true as I have a peer review assigned to me, the other person submitted, and it was after the due date of the assignment. I even tried prompting with the course and assignmnt id that has the peer review and that did not work

### Steps to Reproduce

1. configure canvas mcp
2. ask for assigned peer re

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/275) · 2026-08-10 · closed · external user · 11 comments

### [Feature]: add tools for Canvas Quizzes

> [!IMPORTANT]
> **Scope has changed since this was filed — read the comments before writing code.**
>
> @zqian confirmed **New Quizzes is the priority**, not Classic. These are two different
> products on two different API roots (`/api/quiz/v1` vs `/api/v1`) and the Classic REST
> endpoints in the link below **do not work** against New Quizzes. Anything built purely
> from this original description will target the wrong system.
>
> Current plan is a tiered breakdown (Tier A read layer → C1 spik

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/172) · 2026-07-29 · open · external user · 8 comments

### switch to FastMCP from MCP SDK library

MCP SDK v1 is based on FastMCP v1.0, and MCP SDK v2 is still in Alpha.

Meanwhile, FastMCP provided support for migration: https://gofastmcp.com/getting-started/upgrading/from-mcp-sdk, with the following reason for upgrade:

`Why upgrade? FastMCP 1.0 pioneered the Pythonic MCP server experience, and we’re proud it was bundled into the mcp package. The standalone FastMCP project has since grown into a full framework for taking MCP servers from prototype to production — with composition, middlewar

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/145) · 2026-06-25 · closed · external user · 6 comments

### Weekly Maintenance Report - December 21, 2025

# Weekly Maintenance Report - December 21, 2025

## Executive Summary

Comprehensive weekly maintenance check completed for Canvas MCP server. Overall health is **GOOD** with minor optimization opportunities identified. Recent documentation improvements (Dec 14) have significantly improved maintainability.

---

## 1. Dependency Analysis

### Current Versions (Installed vs Minimum Requirements)
| Package | Required | Installed | Status | Notes |
|---------|----------|-----------|--------|-------

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/44) · 2025-12-21 · closed · external user · 5 comments

### Feature request: Integrate UDOIT accessibility recommendations remediation for Canvas course content

## Add tools to: apply UDOIT Advantage recommendations to improve course content accessibility

- Request to add new tool(s) that ingest UDOIT accessibility recommendations and apply the remediation actions for Canvas course content.
- I will be sure to chip in with some effort if this is in your roadmap.

Thank you!

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/9) · 2025-09-30 · closed · external user · 15 comments

### Glama listing is missing Dockerfile

Your MCP server is currently listed on the [Glama MCP directory](https://glama.ai/mcp/servers/vishalsachdev/canvas-mcp), but it is not available for others to use because it does not have a Dockerfile.

It takes only a few minutes to fix this:

1. Go to your server's listing: [vishalsachdev/canvas-mcp](https://glama.ai/mcp/servers/vishalsachdev/canvas-mcp)
2. Click "Claim" to verify ownership.
3. Once claimed, navigate to the [admin `Dockerfile` page](https://glama.ai/mcp/servers/vishalsachdev/c

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/3) · 2025-04-21 · closed · external user · 5 comments

## Most recent

### [Feature]: Provide option to disable accessibility checkers if not using UDOIT/UFIXIT

### Problem Statement

It looks like the 4 accessibility checkers require having UDOIT/UFIXIT available which is an optional addon that we don't have. These should be disabled if not available.

I think it would probably be nice to support other accessibility checkers in the future but seems like that's the only one currently? Canvas has some new accessibility checker but I'm not sure if it has an API. Other a11y checkers possibly have an API or some way to tell if the course was scanned but I'm

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/325) · 2026-08-26 · open · external user · 1 comment

### [Feature]: use confirmation token for delete tools

### Problem Statement

Currently the following delete tools are included:

- delete_announcement
- bulk_delete_announcements
- delete_announcement_with_confirmation
- delete_announcements_by_criteria
- delete_module
- delete_module_item
- delete_page

Note there is only one tool, delete_announcement_with_confirmation, uses confirmation token

Can we use the confirmation token for the rest of delete_ tools? delete_announcement can be removed

Also can we add delete_assignment_with_confirmation to

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/318) · 2026-08-21 · open · external user · 2 comments

### [Feature]: add configuration to limit # of tools based on Canvas user role

### Problem Statement

Azure platform enforced max # of MCP tools as 128. We need to combine Canvas MCP connector with other connectors for more system integrations, and keep the total combined MCP tools within the 128 limit.

Can we add a configuration variable like "CANVAS_USER_ROLE" in this Canvas MCP server? So only student-facing MCP tools will be turned on if CANVAS_USER_ROLE = Student, and teacher-facing MCP tools will be offered when CANVAS_USER_ROLE = Teacher, etc.

### Proposed Solutio

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/313) · 2026-08-20 · closed · external user · 3 comments

### [Feature]: add support for content migration

### Problem Statement

Instructor reuse course materials; institutions provide course template with well-structured content materials. 

It would be helpful to support course import or content migration in MCP.

### Proposed Solution

The Canvas [Content Migration API](https://developerdocs.instructure.com/services/canvas/resources/content_migrations) can be used.

For example, if choose to import all content from the source course, the following payload can be used: 

```
course_id: "target_sit

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/309) · 2026-08-19 · open · external user · 1 comment

### [Bug]: send_peer_review_reminders probably should not be doing reminders through the internal Inbox

### Bug Description

In Canvas UI, Peer Review Reminders appear to be done by sending an empty POST back to the same peer review to refresh the `updated_at`, a function the students can't do. This triggers an update to the students and sets the updated time. 

<img width="526" height="169" alt="Image" src="https://github.com/user-attachments/assets/8d30a58c-a613-49e0-9440-a57ffb13a61b" />

In the MCP for `send_peer_review_reminders` it does this reminder more direct by using the `_post_conversat

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/303) · 2026-08-18 · closed · external user · 0 comments

### Skill Request - Generate an Analysis of each student to prevent them from falling through the cracks

Give me analysis of each student - missing assignments, low test scores, low participation grades, and anything else that would contribute to students not succeeding in a class.

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/302) · 2026-08-18 · open · external user · 1 comment

### Feature: optional cookie-based auth for Canvas instances that don't issue API tokens

### Problem

canvas-mcp authenticates with a Canvas API token created at **Account → Settings → New Access Token**. Some institutions disable or hide that page for students and route all access through SSO, so those users can't mint a token at all, which means they can't use canvas-mcp today even though they have a perfectly good logged-in Canvas session in their browser.

### Proposal

Add an **opt-in** auth mode that reuses the same session the browser uses, without changing the default behavi

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/299) · 2026-08-17 · open · external user · 1 comment

### [Bug]: created announcement was not saved in Canvas

### Bug Description

Based on request `in course 505, create announcement with title: "announcement 2 from MCP" with message "testing for announcement creation"`, the Canvas MCP reported the new announcement has been created successfully, and returned the new announcement id. However, the new announcement is not listed in Canvas course site, and the subsequent request could not retrieve it either.

<img width="717" height="486" alt="Image" src="https://github.com/user-attachments/assets/62e06858

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/252) · 2026-08-08 · closed · external user · 2 comments

### [Bug]: list announcements for course returns extra records like discussion topics

### Bug Description

When asked to "return announcements for course <course_id>", the returned records includes discussion topics, too.

### Steps to Reproduce

1. issue command "return announcements in course ID"
2. notice the returned records includes partial list of course announcements, along with several course discussion items. 
3. Notice also some author field values are also wrong, for example, the discussion topics titled as "HI" were not created by me

<img width="725" height="362" alt

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/238) · 2026-08-08 · closed · external user · 0 comments

### [Bug]: assign student grade also left an comment in SpeedGrader

### Bug Description

Assign student grade should just update the grade, NOT adding an extra comment.

<img width="374" height="167" alt="Image" src="https://github.com/user-attachments/assets/5f8c93ff-0882-4065-bfc1-ae7dcc89eda6" />

### Steps to Reproduce

1. ask "in course 505 assignment 5029, assign <student name> grade 8"
2. 8 point was saved as grade
3. BUT an assignment comment is also added:

<img width="374" height="167" alt="Image" src="https://github.com/user-attachments/assets/46b4b3b

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/235) · 2026-08-07 · closed · external user · 1 comment

### [Bug]: update_page_settings did not update "Notify users that this content has changed" setting

### Bug Description

the update_page_settings gave false positive on updating page setting of "Notify users that this content has changed"

### Steps to Reproduce

1. When instructor ask Canvas MCP tool to "set notify user to be true for page <page name>"
2. the tool answered "Done — I set notify users of update to true for <page name>".
3. But the option "Notify users that this content has changed" is still not checked for that page in Canvas UI.

### Expected Behavior

the option "Notify us

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/234) · 2026-08-07 · closed · external user · 1 comment

### [Bug]: return page content did not return videos, images etc, without being explicitly requested

### Bug Description

For a Canvas page with text, images, videos, the get_page_content tool only returns text content by default, with a line "The page also includes images, figures, references, vocabulary definitions, and outside resources such as a TED Talk and a video." at the end of reply.

Then upon a request of "list all images and videos in this page", the MCP server returns all images and video links.

### Steps to Reproduce

1. choose a Canvas page with text, images and videos
2. ask "g

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/233) · 2026-08-07 · closed · external user · 1 comment

### [Bug]: get your upcoming assignments limited to 7 days

### Bug Description

The get_my_upcoming_assignments tool limits to 7 days, even if user provided a different days range.

### Steps to Reproduce

1. Ask for "what is my upcoming assignment due dates in next 30 days"
2. It only returns assignments with due date in next week

### Expected Behavior

It should honor the date range provided in the request

### Actual Behavior

It only returned assignments with due date in next 7 days.

### Canvas MCP Version

1.6.0

### Environment

Claude Desktop (

[Read the thread](https://github.com/vishalsachdev/canvas-mcp/issues/222) · 2026-08-03 · closed · external user · 0 comments

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