MCP.Market

Canvas MCP server

by admin978·io.github.admin978/canvas-mcp·v0.1.3·4 stars

Local-first MCP server for Canvas LMS. Stdio transport, no third-party broker.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
Growing

4 stars22 downloads/wk

Reviews

Write one

Nobody has reviewed Canvas yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Canvas tools (10)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • get_file_info

    Get file metadata including download url.

  • get_grades

    Current grades. Per-course if course_id provided, otherwise all enrollments.

  • get_page

    Fetch a course wiki page by its url slug.

  • list_announcements

    Course announcements.

  • list_assignments

    List assignments in a course. Includes due_at, points, submission status.

  • list_courses

    List enrolled courses. Returns id, name, course_code.

  • list_modules

    Course modules with items.

  • planner_items

    Planner items for the user. ISO dates (YYYY-MM-DD).

  • todo

    User's TODO list (ungraded assignments to look at).

  • upcoming_events

    Upcoming planner items (assignments, calendar events) across all courses.

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan4 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 63 days ago12/15
  • Maintainer identityregistry namespace matches repository owner6/10
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Canvas compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
75/100
higher than 45% of 48,255 servers
Tools
10
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
4
more than 82% of 28,688 servers
Downloads a week
22
more than 8% of 12,191 servers with a package

What its tools let an agent do: 10 read

Install Canvas in Claude Code, Cursor or VS Code

claude mcp add canvas-mcp -- uvx canvas-local-mcp
Add to Cursor

What the publisher says

From the Canvas repository's README, as published. We do not edit it. Read it on GitHub

Canvas LMS MCP Server (canvas-mcp)

<!-- mcp-name: io.github.admin978/canvas-mcp -->

Ask Claude about your Canvas courses, assignments, deadlines, modules, and grades from one place.

canvas-mcp is a local-first MCP server for Canvas LMS users (students, instructors, and MCP builders). It turns Canvas REST API actions into MCP tools that work from Claude Code, Claude Desktop, and other MCP-compatible clients.

Status: alpha. Single-user, no warranty, API surface may still shift. File issues if it breaks.

Who this is for

  • Students who want one view across multiple courses
  • Educators who want faster access to assignments, modules, and announcements
  • MCP users who want Canvas data in local Claude workflows

What you can ask Claude

  • “What assignments are due this week across all my active courses?”
  • “Show upcoming events and planner items for next week.”
  • “List my current grades by course.”
  • “Get the modules (with items) for course 12345.”
  • “Show announcements for course 12345.”
  • “Fetch the page syllabus from course 12345.”

Quick start

Prerequisite: Python 3.10+.

1) Create a Canvas personal access token

In Canvas: Account → Settings → Approved Integrations → + New Access Token. Copy the token shown (Canvas does not show it again later).

2) Install

From PyPI (recommended):

pip install canvas-local-mcp

Or from source:

git clone https://github.com/admin978/canvas-mcp.git && cd canvas-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

3) Configure ~/.canvas.env

curl -fsSL https://raw.githubusercontent.com/admin978/canvas-mcp/main/.canvas.env.example -o ~/.canvas.env
chmod 600 ~/.canvas.env
# edit ~/.canvas.env: set CANVAS_BASE_URL (institution root, no /api/v1)
# and paste the token into CANVAS_TOKEN

For token safety guidance (least privilege, file permissions, rotation/revocation, and vulnerability reporting), see SECURITY.md.

4) Register in your MCP client

Claude Code:

claude mcp add canvas-local -- canvas-local-mcp

Claude Desktop:

  • macOS example path: ~/Library/Application Support/Claude/claudedesktopconfig.json
  • Windows example path: %APPDATA%\Claude\claudedesktopconfig.json
  • Linux example path: ~/.config/Claude/claudedesktopconfig.json
{
  "mcpServers": {
    "canvas-local": {
      "command": "canvas-local-mcp"
    }
  }
}

Tools exposed

  • list_courses
  • list_assignments
  • list_modules
  • list_announcements
  • get_page
  • getfileinfo
  • get_grades
  • planner_items
  • upcoming_events
  • todo

Bulk dump

canvas-local-mcp-dump downloads course files and related content for offline indexing.

canvas-local-mcp-dump              # all active courses
canvas-local-mcp-dump 12345 67890  # specific course IDs

Output goes to ./canvas-dump/ by default. Override with CANVASDUMPDIR=/path/to/dir.

Local-first, privacy and token flow

  • The server runs locally and uses stdio transport with your MCP client.
  • Configuration is read from ~/.canvas.env (CANVASBASEURL, CANVAS_TOKEN).
  • Requests go from your local server to the official Canvas API endpoints.
  • No external token broker is used in the request path.
  • Security guidance and disclosure policy: SECURITY.md.

Demo

No demo GIF is currently committed yet. You can still verify the workflow quickly:

Try these prompts

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Canvas: common questions

Is Canvas MCP server safe?
Mostly: it is graded B (75/100). Read the Canvas safety report
How do I install Canvas?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Canvas need an API key?
Yes. The registry entry asks for CANVAS_TOKEN.
Is Canvas maintained?
The last commit was 104 days ago (2026-07-23). The latest release is v0.1.3.
How does Canvas compare with other MCP servers?
safety score 75/100 (higher than 45% of 48,255 servers); tools 10 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.