schoolbridge
schoolbridge
Verbinde Canvas (und andere Schulplattformen) mit KI-Agenten.
schoolbridge beobachtet das LMS deiner Schule und macht es für einen KI-Agenten nutzbar. Wenn ein": "Lehrer eine Aufgabe stellt, eine Note hochlädt, ein Abgabedatum ändert oder eine Ankündigung macht, erfährt dein Agent davon – und kann dich informieren, deine Woche bewerten oder einen Lernplan für die nächste Prüfung erstellen.
Es spricht drei Dialekte, sodass es mit fast jeder Agentenkonfiguration funktioniert:
Schnittstelle | Für | Beispiel |
MCP-Server | Claude Code, Claude Desktop, Claude Cowork, jeden MCP-Client |
|
Agenten-Fertigkeit ( | Hermes, OpenClaw, jede Agent-Skills-Laufzeitumgebung |
|
JSON-CLI | Shell-gesteuerte Agenten, Cron-Jobs, Skripte |
|
Ereignisbeobachter | Push-basierte Automatisierungen |
|
Canvas ist der integrierte Anbieter. Die Anbieterschnittstelle ist klein und dokumentiert, sodass Google Classroom, Schoology, Moodle und andere hinzugefügt werden können – siehe docs/PROVIDERS.md.
schoolbridge ist schreibgeschützt: Es schreibt niemals etwas zurück in dein LMS.
Schnellstart
npm install -g schoolbridge # or run everything below with: npx schoolbridge …Sofort ausprobieren (ohne Anmeldedaten)
Jeder Befehl akzeptiert --provider mock, der realistische Beispieldaten liefert:
schoolbridge upcoming --provider mock 1. [CRITICAL 73] Chapter 12 Reading Quiz
US History · overdue by 20h · 10 pts · missing
2. [HIGH 66] Unit 4 Test: Cellular Energetics
AP Biology · due in 4d 23h · 100 pts · unsubmitted
3. [HIGH 59] Reconstruction DBQ Essay
US History · due in 2d 23h · 100 pts · unsubmitted
...Verbinde dein echtes Canvas-Konto
Melde dich in einem Browser bei Canvas an → Konto → Einstellungen → scrolle zu Genehmigte Integrationen → + Neues Zugriffstoken. Kopiere das Token sofort.
Führe aus:
schoolbridge init --base-url https://yourschool.instructure.com --token <paste-token>init überprüft die Verbindung und speichert dann die Konfiguration in ~/.schoolbridge/config.json (erstellt mit Berechtigungen 0600 – es enthält dein Token). Du kannst die Datei auch ganz überspringen und die Umgebungsvariablen CANVAS_BASE_URL und CANVAS_ACCESS_TOKEN verwenden.
Dann:
schoolbridge upcoming # ranked work due this week (+ recent overdue work)
schoolbridge grades # course grades + recently graded assignments
schoolbridge announcements # recent teacher announcements
schoolbridge events # what changed since the last checkRelated MCP server: Canvas LMS MCP Server
Verwendung mit Claude (MCP)
Claude Code
claude mcp add schoolbridge -- npx -y schoolbridge mcpClaude Desktop / Claude Cowork
Füge zu deiner MCP-Konfiguration hinzu (z. B. claude_desktop_config.json):
{
"mcpServers": {
"schoolbridge": {
"command": "npx",
"args": ["-y", "schoolbridge", "mcp"],
"env": {
"CANVAS_BASE_URL": "https://yourschool.instructure.com",
"CANVAS_ACCESS_TOKEN": "your-token"
}
}
}
}(Wenn du schoolbridge init ausgeführt hast, ist der env-Block optional – der Server liest die gespeicherte Konfiguration.)
Dann frage einfach:
"Was gibt es Neues in der Schule?" · "Bewerte alles, was ich diese Woche abgeben muss, und plane meine Tage." · "Erstelle mir einen Lernplan für den Biologietest."
MCP-Werkzeuge
Werkzeug | Rückgabe |
| Aktive Kurse mit aktueller Note/Punktzahl |
| In den nächsten N Tagen fällige Arbeiten (Standard 7) + kürzlich überfällige Arbeiten, jeweils mit einem Prioritätshinweis von 0–100 |
| Eine Aufgabe mit ihrer vollständigen Anleitung als Klartext |
| Ankündigungen von Lehrern aus den letzten N Tagen |
| Kursnoten + alles, was in den letzten zwei Wochen benotet wurde |
| Alles, was sich seit der letzten Prüfung geändert hat (siehe Ereignisse) |
MCP-Eingabeaufforderungen
Eingabeaufforderung | Funktion |
| Auf Änderungen prüfen und den Schüler informieren |
| Die Arbeit der Woche bewerten und einen Tagesplan erstellen |
| Einen täglichen Lernplan für eine Prüfung erstellen (Argumente: |
Verwendung mit Hermes
schoolbridge enthält eine portable Agent Skills SKILL.md, die Hermes den gesamten Workflow beibringt – Einrichtung, Bewertung, Lernpläne und Ereignisüberwachung. Installiere sie auf eine dieser Arten:
npm install -g schoolbridge
schoolbridge install-skill hermes # writes ~/.hermes/skills/schoolbridge/SKILL.mdoder direkt aus diesem Repository mit Hermes' eigenem Installationsprogramm:
hermes skills install https://raw.githubusercontent.com/Shoberman2/schoolbridge/main/skill/SKILL.mdHermes erkennt die Fertigkeit automatisch beim Start und aktiviert sie, wenn es im Gespräch um die Schule geht („Welche Hausaufgaben habe ich?", „plane meine Woche", „erstelle einen Lernplan für den Biotest"). Füge schoolbridge events --json zu einem Heartbeat/Zeitplan hinzu, und Hermes wird dich proaktiv informieren, wenn ein Lehrer eine Aufgabe stellt, eine Note hochlädt oder eine Ankündigung macht.
Verwendung mit OpenClaw
Gleiche Fertigkeit, OpenClaw-Geschmack – der Vorspann enthält einen metadata.openclaw-Block, der auf das schoolbridge-Binary prüft und OpenClaws Installationsprogramm auf das npm-Paket verweist:
npm install -g schoolbridge
schoolbridge install-skill openclaw # writes ~/.openclaw/skills/schoolbridge/SKILL.mdPro Arbeitsbereich stattdessen: Kopiere skill/ in <workspace>/skills/schoolbridge/. Für proaktive Benachrichtigungen füge eine Zeile zu deiner HEARTBEAT.md hinzu, wie z. B.: "Führe schoolbridge events --json aus; wenn es Ereignisse ausgibt, erzähle mir davon."
Es gibt auch schoolbridge install-skill agents für das gemeinsame ~/.agents/skills-Verzeichnis, das von anderen Agent-Skills-kompatiblen Laufzeitumgebungen verwendet wird.
Verwendung mit jedem anderen Agenten (Shell/JSON)
Jeder Lesebefehl akzeptiert --json und gibt sauberes, stabiles JSON aus – leite es direkt in den Kontext deines Agenten:
schoolbridge upcoming --json --days 7
schoolbridge grades --json
schoolbridge announcements --json --days 3
schoolbridge assignment 101 5002 --json # full details incl. instructionsAuf Änderungen abfragen (Polling)
schoolbridge events vergleicht das LMS mit dem vorherigen Lauf und gibt nur das aus, was sich geändert hat. Der erste Lauf speichert eine Basislinie und gibt nichts aus. Der Status befindet sich in ~/.schoolbridge/state.<provider>.json.
schoolbridge events --json # one JSON event per line; empty output = nothing new
schoolbridge events --reset # start over from a fresh baselineEin Cron-Heartbeat für einen Shell-basierten Agenten:
*/15 8-22 * * * schoolbridge events --json | your-agent ingest-school-eventsPush-Modus
watch fragt in einem Intervall ab, gibt Ereignisse als JSON-Zeilen auf stdout aus (Logs gehen nach stderr) und kann jeden Batch weiterleiten:
schoolbridge watch --interval 15m --exec 'your-agent brief --stdin' # JSON payload on stdin
schoolbridge watch --interval 15m --webhook https://your-agent.example/hooks/schoolDie Webhook/Ausführungs-Nutzlast:
{
"source": "schoolbridge",
"provider": "canvas",
"generatedAt": "2026-08-17T20:15:00.000Z",
"events": [ … ]
}Ereignisse
Jedes Ereignis hat die gleiche Form, sodass Agenten auf den type abgleichen können:
{
"type": "grade_posted",
"occurredAt": "2026-08-17T20:15:00.000Z",
"courseId": "101",
"courseName": "AP Biology",
"title": "Cell Respiration Lab Report",
"summary": "Grade posted in AP Biology: “Cell Respiration Lab Report” — 47/50 (94%).",
"url": "https://yourschool.instructure.com/courses/101/assignments/5001",
"data": { "assignmentId": "5001", "score": 47, "grade": "47", "pointsPossible": 50 }
}
| Tritt ein, wenn |
| Ein Lehrer eine Aufgabe, einen Test oder eine Prüfung stellt |
| Eine Aufgabe neu terminiert wird |
| Eine Note für bisher unbenotete Arbeit erscheint |
| Eine vorhandene Note geändert wird |
| Ein Lehrer eine Ankündigung macht |
| Deine Gesamtnote in einem Kurs sich ändert |
summary ist immer ein satzfertiger Satz; data enthält die strukturierten Vorher-/Nachher-Werte.
Prioritätsbewertung
list_upcoming_work / schoolbridge upcoming fügen jedem Element eine priority-Bewertung (0–100) und ein Label (critical / high / medium / low) hinzu. Sie berücksichtigt:
Nähe des Abgabetermins (stärkster Faktor),
Punktzahl,
Test-Ähnlichkeit (Tests oder Namen, die Test/Klausur/Zwischenprüfung/Abschlussprüfung enthalten),
Fehlender/überfälliger Status (Erhöhung) und bereits eingereicht (fällt auf ~0).
Es ist bewusst ein Hinweis, kein Urteil – das beabsichtigte Muster ist, dass die KI ihn als Ausgangsreihenfolge verwendet und mit eigenem Urteil überschreibt (beginne mit dem Aufsatz vor dem Arbeitsblatt, auch wenn das Arbeitsblatt zuerst fällig ist).
Verwendung als Bibliothek
import { CanvasProvider, listUpcoming, checkEvents, StateStore } from "schoolbridge";
const provider = new CanvasProvider({ baseUrl: "https://yourschool.instructure.com", token: process.env.CANVAS_ACCESS_TOKEN! });
const ranked = await listUpcoming(provider, 7);
const { events } = await checkEvents(provider, new StateStore(provider.name));Konfigurationsreferenz
Auflösungsreihenfolge für jede Einstellung: CLI-Flag → Umgebungsvariable → ~/.schoolbridge/config.json.
Einstellung | Flag | Umgebungsvariable |
Anbieter ( |
|
|
Canvas-URL |
|
|
Canvas-Token |
|
|
Konfigurations-/Statusverzeichnis | — |
|
Datenschutz & Sicherheit
Dein Token und der gesamte Status bleiben auf deinem Rechner; schoolbridge kommuniziert nur mit dem Canvas-Host deiner Schule (und, wenn du zustimmst, mit deinem eigenen Webhook).
Alle Vorgänge sind schreibgeschützt gegenüber dem LMS.
Behandle dein Canvas-Token wie ein Passwort. Du kannst es jederzeit unter Canvas → Konto → Einstellungen widerrufen.
Fahrplan
Anbieter: Google Classroom, Schoology, Moodle, PowerSchool
Kalenderexport (ICS) für anstehende Arbeiten
Canvas-Module/-Dateikontext für umfangreichere Lernpläne
Nativer Push (Canvas Live Events), wo es die Institutionen zulassen
Mitwirken
PRs sind willkommen – insbesondere neue Anbieter. Siehe CONTRIBUTING.md und docs/PROVIDERS.md. Der mock-Anbieter und npm test ermöglichen die Entwicklung ohne jegliche Schul-Anmeldedaten.
Lizenz
This server cannot be installed
Maintenance
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
- Alicense-qualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.59ISC
- AlicenseBqualityAmaintenanceMCP server for Canvas LMS, providing 115+ tools to read courses, assignments, submissions, rubrics, quizzes; grade, comment, manage course content, and handle Canvas admin workflows from any AI agent.241007235MIT
- AlicenseAqualityBmaintenanceMCP server that connects AI assistants to Instructure Canvas LMS, enabling teachers and administrators to manage courses, assignments, grades, and more through natural language.801841MIT
- AlicenseAqualityDmaintenanceTurns Canvas LMS into a scriptable pipeline and exposes it to AI assistants via MCP for querying courses, grades, assignments, and syncing files using natural language.143MIT
Related MCP Connectors
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
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/Shoberman2/schoolbridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server