Canvas API MCP

Never miss an assignment deadline again. Ask your AI what's due and it reads the answer straight from Canvas. Its 16 documented tools cluster into read & search, course, whoami, courses. It runs locally over stdio via the published package.

People connecting design tools to Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

VERIFIED ACTIVE

LAST COMMIT 2026-08-15 · ★ 2 · #37 OF 74 MAINTAINED DESIGN · VERIFIED 2026-08-25

MIT · Python servers · how we verify → /methodology

01 · Install Canvas API MCP

before you install - you'll need

Set CANVAS_LIVE_TESTS before connecting. CANVAS_BASE_URL, CANVAS_TOKEN are optional or environment-specific per the README.

Claude Code

claude mcp add johannsenlum-canvas-api-mcp -- uvx canvas-api-mcp

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "johannsenlum-canvas-api-mcp": {
      "command": "uvx",
      "args": [
        "canvas-api-mcp"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

repo age created 2026-08-07 - young repo, little track record yet

license MIT - declared in the repository

pypi package canvas-api-mcp - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.JohannsenLum is GitHub-verified and matches the repo owner

03 · What Canvas API MCP can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can extract text from PDF/DOCX/PPTX/text, and find any endpoint by keyword (gateway).

Capability map

Tools grouped from the project's README - what Canvas API MCP lets an agent do.

read & search

9 tools - e.g. Your private calendar .ics link (only when you ask for it); A course's assignments and submission state; One assignment in full, with rubric

get_calendar_feed_url · list_assignments · get_assignment · list_files · read_file · get_page…

Course

2 tools - e.g. Recent announcements; Modules and their contents

course_announcements · course_content

Whoami

1 tool - e.g. Identity and your role in each course

whoami

Courses

1 tool - e.g. Active courses with code, term, role

my_courses

Whats

1 tool - e.g. Everything due, soonest first

whats_due

Grades

1 tool - e.g. Current score per course

my_grades

Submission

1 tool - e.g. Your submission, score, and feedback

my_submission

Latest releases

v1.1.0 · 2026-08-12

[1.1.0] - 2026-08-12 · Changed · Breaking, minor: get_assignment reports partial failure under warnings, · not note. whats_due already reported partial failure as · list[str], always present, because it merges three…

v1.0.0 · 2026-08-10

[1.0.0] - 2026-08-10 · First stable release. The tool surface, the return shapes and the configuration · variables are now a contract, and a breaking change to any of them means 2.0.0. · Security · Canvas-authored text…

v0.0.5 · 2026-08-10

[0.0.5] - 2026-08-10 · Fixed · get_assignment now returns submission comments and rubric assessments. It was · passing submission_comments and rubric_assessment as include[] values to · GET…

04 · Who maintains Canvas API MCP

Canvas API MCP is maintained by johannsenlum. We track 3 MCP servers from johannsenlum - 3 actively maintained, 4 combined GitHub stars, oldest repo from Aug 2026. Full record: all servers from johannsenlum.

  1. LinkedIn Read LinkedIn profiles, companies, jobs and messages via your own browser session ★ 2

05 · Facts

category
design - ranked #37 of 74 actively-maintained design servers as of 2026-08-25.
release cadence
7 releases in the last 90 days (latest 2026-08-12)
registry
io.github.JohannsenLum/canvas-api-mcp (active, first published 2026-08-07 · 7 versions)
packages
pypi:canvas-api-mcp

06 · Canvas API MCP FAQ

Is Canvas API MCP still maintained?

Yes - as of 2026-08-25, its last commit was 2026-08-15 and it shipped 7 releases in the last 90 days. We re-verify nightly.

What can Canvas API MCP do?

With this server connected, an agent can extract text from PDF/DOCX/PPTX/text, and find any endpoint by keyword (gateway).

How do I install Canvas API MCP?

Run `uvx canvas-api-mcp`. The README documents 3 environment variables (CANVAS_BASE_URL, CANVAS_TOKEN, CANVAS_LIVE_TESTS) to set first. Set CANVAS_LIVE_TESTS before connecting. CANVAS_BASE_URL, CANVAS_TOKEN are optional or environment-specific per the README. You can also paste the ready-made client config above.

Does Canvas API MCP run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Canvas API MCP