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
Melde dich auf der Canvas-Website deiner Schule an (z. B.
https://canvas.fen.uchile.cl)Gehe zu Konto → Einstellungen → Genehmigte Integrationen
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 .envDann ö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 sync4. Server manuell ausführen (optionaler Test)
uv run python main.pyDer 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
.envgelesen (siehe Wo dein Token hingeht) –python-dotenvlä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.pyVerfügbare Tools
Tool | Description |
| Listet alle aktiven eingeschriebenen Kurse auf |
| Listet anstehende Aufgaben sortiert nach Fälligkeitsdatum auf |
| 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 versionsMaintenance
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
- AlicenseAqualityAmaintenanceMCP server for Canvas LMS enabling parent observers and students to access courses, assignments, grades, and more. Supports multiple authentication methods including token, OAuth, and a convenient fetchproxy fallback.18165MIT
- AlicenseNot gradedqualityCmaintenanceEnables managing Canvas LMS courses, assignments, grades, modules, and more from MCP-compatible clients like Claude Desktop, Kiro, or Amazon Q Developer.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, and more without manual API token management.339MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for Canvas LMS that exposes a user's courses, upcoming work, and assignments as callable tools.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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