Skip to main content
Glama
salvadoracuna

canvas-mcp

canvas-mcp

Ein MCP-Server, der Canvas-LMS-Daten (Kurse, Aufgaben, Ankündigungen) für jeden MCP-kompatiblen Client (Claude Desktop, Claude Code usw.) bereitstellt.

Dieses Repository enthält keine Anmeldedaten. Es gibt keinen Canvas-Token und keine E-Mail-Adresse darin. Du stellst deinen eigenen Token in einer lokalen .env-Datei bereit, die git-ignoriert ist und deinen Rechner nie verlässt. Siehe Wo dein Token hingeht.

Voraussetzungen

  • uv (Python-Paketmanager)

  • Ein Canvas-LMS-Konto mit einem API-Token

Related MCP server: canvas-mcp

Einrichtung

1. Canvas-API-Token generieren

  1. Melde dich auf der Canvas-Website deiner Schule an (z. B. https://canvas.fen.uchile.cl)

  2. Gehe zu Konto → Einstellungen → Genehmigte Integrationen

  3. Klicke auf + Neuen Zugriffstoken, gib ihm einen Namen und kopiere den Token

2. Umgebung konfigurieren

Wo dein Token hingeht: in einer Datei, die genau .env heißt, im Stammverzeichnis dieses Projektordners (direkt neben main.py). Diese Datei ist in .gitignore aufgeführt, sodass git sie niemals committen oder pushen wird.

Kopiere die Vorlage:

cp .env.example .env

Dann öffne .env und fülle die Lücken aus:

# Your Canvas instance URL -- change this to your school's Canvas address
CANVAS_URL=https://canvas.fen.uchile.cl

# Paste the token from step 1 here
CANVAS_API_TOKEN=

# Optional second account (use account="udd" in the tools). Leave blank if unused.
CANVAS_UDD_URL=
CANVAS_UDD_TOKEN=

Nur CANVAS_URL und CANVAS_API_TOKEN sind erforderlich. Das Paar CANVAS_UDD_* ist für ein optionales zweites Canvas-Konto; lasse beide leer, wenn du nur eines hast.

Committe niemals .env, füge deinen Token niemals in einen Chat ein und lege ihn niemals in eine Datei, die geteilt wird. Er gewährt vollen Zugriff auf dein Canvas-Konto. Wenn er durchsickert, lösche den Token in Canvas (Konto → Einstellungen → Genehmigte Integrationen) und generiere einen neuen.

3. Abhängigkeiten installieren

uv sync

4. Server manuell ausführen (optionaler Test)

uv run python main.py

Der Server kommuniziert über stdio, daher wird er nichts ausgeben, bis sich ein MCP-Client verbindet.

Verbindung zu Claude Desktop herstellen

Füge Folgendes zu deiner Claude-Desktop-Konfigurationsdatei hinzu:

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

{
  "mcpServers": {
    "canvas": {
      "command": "uv",
      "args": ["run", "--project", "/absolute/path/to/canvas-mcp", "python", "main.py"]
    }
  }
}

Ersetze /absolute/path/to/canvas-mcp durch den tatsächlichen Pfad zu diesem Ordner. Verwende auch unter Windows Schrägstriche /.

In diese Datei kommt kein Token. Er wird aus deiner .env gelesen (siehe Wo dein Token hingeht) – python-dotenv lädt ihn automatisch.

Verbindung zu Claude Code herstellen

Füge den MCP-Server in deinen Claude-Code-Einstellungen hinzu oder führe Folgendes aus:

claude mcp add canvas -- uv run --project /absolute/path/to/canvas-mcp python main.py

Verfügbare Tools

Tool

Description

get_courses

Listet alle aktiven eingeschriebenen Kurse auf

get_assignments(days_ahead=30)

Listet anstehende Aufgaben sortiert nach Fälligkeitsdatum auf

get_announcements

Listet aktuelle Ankündigungen pro Kurs auf

Projektstruktur

canvas-mcp/
├── main.py          # MCP server
├── .env             # Your token lives here (git-ignored, never pushed)
├── .env.example     # Template
├── pyproject.toml   # Project metadata & dependencies
└── uv.lock          # Locked dependency versions
Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • MCP adapter for the Paxaver school community platform. Streamable HTTP, OAuth 2.1, capability auth.

  • MCP server for the Inistate platform: module discovery, entry management, and activity submission.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/salvadoracuna/canvas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server