Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Canvas API MCP

von JohannsenLumVersion 1.1.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.JohannsenLum/canvas-api-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

MCP server exposing the Canvas LMS REST API (1,116 endpoints) for AI assistants

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges
  • Das musst du eintragen: CANVAS_BASE_URL, CANVAS_TOKEN

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: CANVAS_BASE_URL, CANVAS_TOKEN, CANVAS_MAX_PAGES

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • PyPIuv für Python installiert (für den Befehl uvx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "canvas-api": {
      "command": "uvx",
      "args": [
        "canvas-api-mcp"
      ],
      "env": {
        "CANVAS_BASE_URL": "your-value",
        "CANVAS_TOKEN": "your-value",
        "CANVAS_MAX_PAGES": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add canvas-api --env CANVAS_BASE_URL=your-value --env CANVAS_TOKEN=your-value --env CANVAS_MAX_PAGES=your-value -- uvx canvas-api-mcp

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "canvas-api": {
      "command": "uvx",
      "args": [
        "canvas-api-mcp"
      ],
      "env": {
        "CANVAS_BASE_URL": "your-value",
        "CANVAS_TOKEN": "your-value",
        "CANVAS_MAX_PAGES": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "canvas-api": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "canvas-api-mcp"
      ],
      "env": {
        "CANVAS_BASE_URL": "your-value",
        "CANVAS_TOKEN": "your-value",
        "CANVAS_MAX_PAGES": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • CANVAS_BASE_URL erforderlich env
    Base URL of your Canvas LMS instance, e.g. https://yourschool.instructure.com
  • CANVAS_TOKEN geheim erforderlich env
    Canvas API access token (Canvas: Account > Settings > New Access Token)
  • CANVAS_MAX_PAGES env
    Optional cap on the number of pages fetched per paginated Canvas API call

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto JohannsenLum bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 18431 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 20 % der anderen 18431 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 18431 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Canvas API MCP sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: CANVAS_BASE_URL, CANVAS_TOKEN

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.1.0) kam vor 3 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Filesystem MCP

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

von formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Läuft auf deinem Computer★ 440MITAktualisiert vor 14 Monaten
Installieren

Remote Desktop Commander

von desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Läuft in der Cloud★ 211Aktualisiert vor 3 Tagen
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

canvas-api-mcp

Never miss an assignment deadline again.

Ask your AI what's due and it reads the answer straight from Canvas:

real deadlines, real submission status, no copying anything across.

An MCP server for Canvas LMS. 16 curated tools for everyday student work, plus a gateway that reaches every endpoint your Canvas instance exposes.

📖 Documentation: [mcp.johannsenlum.com/canvas-lms](https://mcp.johannsenlum.com/canvas-lms) · install guide · tool reference · skills · compliance

Personal-use software. Canvas's API Policy requires OAuth for applications used

by multiple people, and Canvas OAuth cannot be implemented safely by locally

installed software (no PKCE, and client_secret cannot be shipped in a package).

Use this with your own token on your own account. See Compliance.

What you can ask it

Real prompts, and which tool answers them.

You: What's due this week?

Claude: *(calls whats_due)*: You have 3 things due: Problem Set 4 (Thu,

CS3230), a discussion reply (Fri, IS4302), and the Milestone 2 report (Sun,

EE2211).

You: How am I doing in my databases course, and what's on the syllabus for

week 6?

Claude: *(calls my_grades, then get_syllabus, then

course_content for the week 6 module)*: You're at 87% overall. Week 6 covers

normalization and has a reading plus a lab file due Friday.

You: Summarize the PDF lecture notes for lecture 8 and pull up my submission

for the essay so I can see the feedback.

Claude: *(calls list_files + read_file for the PDF, then my_submission

for the essay)*: ...

You: Reply to the "Project teams" discussion and say I'm free after 3pm for

the group meeting.

Claude: *(calls post_discussion_reply ✏️)*: Posted to the thread.

You: Has Canvas ever given me quiz statistics broken down by question, across

the whole semester?

Claude: *(calls search_canvas_api to find the right endpoint, then

canvas_request to call it)*: ...

The last example is the point of the gateway tools: if an endpoint exists on your Canvas instance, search_canvas_api can find it and canvas_request can call it, even though only 16 tools are hand-curated.

Install

Prerequisites
  • Python 3.11+
  • A Canvas personal access token. Your institution must allow students to create them: check Canvas → Account → Settings → Approved Integrations for a "+ New access token" button. Full walkthrough with screenshots: mcp.johannsenlum.com/canvas-lms/install.

Note that the token expires. Since Instructure's October 2025 security update, accounts holding only student roles must set an expiry no more than 120 days out, and institutions often cap it lower (NUS allows 90). Write the date down: an expired token makes every tool return 401 at once, which looks like a broken install rather than a credential that simply ran out.

Running the server

canvas-api-mcp is published on PyPI. Run it with:

uvx canvas-api-mcp

Install from source (contributors / unreleased `main`). Not part of the normal install path above, only needed if you want the latest unreleased code instead of the published PyPI release:

uvx --from git+https://github.com/JohannsenLum/canvas-api-mcp canvas-api-mcp

Or run from a local clone:

git clone https://github.com/JohannsenLum/canvas-api-mcp

cd canvas-api-mcp uv sync

Quick install (one-click)

One-click deeplinks exist for Cursor, VS Code, and LM Studio only. No other client has a documented install-link format. These prefill the config below but still need CANVAS_BASE_URL and CANVAS_TOKEN filled in afterward.

All clients (manual config)

Your token stays on your machine, in your own config file. It is never transmitted anywhere except directly to your Canvas instance.

ClientDeeplink?
Claude Codeno
Claude Desktopno
Cursoryes, above
VS Codeyes, above
LM Studioyes, above
Zedno
Windsurfno (Windsurf only resolves servers in its own registry)

Claude Code : ~/.claude.json

{

"mcpServers": { "canvas": { "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

Claude Desktop : claude_desktop_config.json

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

No one-click install exists for Claude Desktop (it installs .mcpb bundles, not deeplinks). Copy this JSON in via Settings → Developer → Edit Config:

{

"mcpServers": { "canvas": { "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

</details>

Cursor : ~/.cursor/mcp.json

Fallback for the button above, or if you'd rather paste it directly:

{

"mcpServers": { "canvas": { "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

</details>

VS Code : .vscode/mcp.json

Fallback for the button above, or if you'd rather paste it directly. Note VS Code uses a servers key, not mcpServers:

{

"servers": { "canvas": { "type": "stdio", "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

</details>

LM Studio : mcp.json (Program → Install → Edit mcp.json)

Fallback for the button above, or if you'd rather paste it directly:

{

"mcpServers": { "canvas": { "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

</details>

Zed : settings.json

No deeplink exists for Zed. Add this under context_servers in your Zed settings:

{

"context_servers": { "canvas": { "source": "custom", "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

</details>

Windsurf : ~/.codeium/windsurf/mcp_config.json

No deeplink exists for Windsurf. It only resolves servers from its own registry, so this has to be pasted in manually via Windsurf Settings → MCP Servers → Edit raw config:

{

"mcpServers": { "canvas": { "command": "uvx", "args": ["canvas-api-mcp"], "env": { "CANVAS_BASE_URL": "https://canvas.yourschool.edu", "CANVAS_TOKEN": "your-token-here" } } } }

</details>

Tools

ToolWhat it does
whoamiIdentity and your role in each course
get_calendar_feed_urlYour private calendar .ics link (only when you ask for it)
my_coursesActive courses with code, term, role
whats_dueEverything due, soonest first
my_gradesCurrent score per course
list_assignmentsA course's assignments and submission state
get_assignmentOne assignment in full, with rubric
my_submissionYour submission, score, and feedback
submit_assignment ✏️Submit work
course_announcementsRecent announcements
course_contentModules and their contents
list_filesFiles in a course
read_fileExtract text from PDF/DOCX/PPTX/text
get_pageA Canvas wiki page by slug
get_syllabusA course's syllabus
read_discussionTopics, or one topic's replies
post_discussion_reply ✏️Post to a discussion
search_canvas_apiFind any endpoint by keyword (gateway)
canvas_request ✏️Execute any endpoint (gateway)

✏️ writes to Canvas. That's 3 write tools total: submit_assignment, post_discussion_reply, and canvas_request when called with a non-GET method (GET calls through canvas_request are read-only).

search_canvas_api + canvas_request reach all ~1,116 endpoints your instance exposes. What they may do is decided by Canvas from your token's permissions: a teacher token unlocks educator endpoints with no change to this server.

Prompts

week_ahead, study_pack, grade_check.

Resources

canvas://me, `c

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen