Schulmanager Online MCP Server
A local MCP server that enables LLMs like Claude to access Schulmanager Online data including schedules, homework, exams, grades, and parental letters.
README
Schulmanager Online MCP Server
Ein lokaler MCP-Server (Model Context Protocol) für den Zugriff auf Schulmanager Online Daten. Ermöglicht LLMs wie Claude den direkten Zugriff auf Stundenplan, Hausaufgaben, Prüfungen, Noten, Elternbriefe und mehr.
Hinweis: Dies ist ein inoffizielles Community-Projekt. Es besteht keine Verbindung zu Schulmanager Online GmbH. Nutzung auf eigene Verantwortung.
Features
| Tool | Beschreibung |
|---|---|
schulmanager_daily_report |
Eltern-Briefing: Komplettueberblick pro Kind -- neue Nachrichten, Stundenplan morgen, Klassenarbeiten (7 Tage), Hausaufgaben (7 Tage) |
schulmanager_get_students |
Alle Kinder/Schueler des Accounts auflisten |
schulmanager_get_schedule |
Stundenplan abrufen (Zeitraum waehlbar) |
schulmanager_get_homework |
Aktuelle Hausaufgaben |
schulmanager_get_exams |
Anstehende Pruefungen und Klassenarbeiten |
schulmanager_get_grades |
Noten pro Fach (sofern von der Schule freigeschaltet) |
schulmanager_get_letters |
Elternbriefe und Benachrichtigungen |
schulmanager_get_institution |
Schulinformationen |
schulmanager_raw_call |
Beliebiger API-Aufruf fuer nicht abgedeckte Endpunkte |
Voraussetzungen
- Python 3.11+
- Ein Eltern- oder Schüler-Account bei Schulmanager Online
Installation
git clone https://github.com/kohlsalem/schulmanager-mcp.git
cd schulmanager-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Konfiguration
1. Zugangsdaten hinterlegen
cp .env.example .env
Bearbeite .env mit deinen Schulmanager-Zugangsdaten:
SCHULMANAGER_EMAIL=deine-email@example.com
SCHULMANAGER_PASSWORD=dein-passwort
2. Claude Code einrichten
Füge folgendes in deine Claude Code Projekt-Settings (.claude/settings.json) oder globale Settings (~/.claude/settings.json) ein:
{
"mcpServers": {
"schulmanager": {
"command": "/absoluter/pfad/zu/schulmanager-mcp/start.sh",
"args": []
}
}
}
Alternativ kannst du die Credentials direkt als Umgebungsvariablen setzen (ohne .env-Datei):
{
"mcpServers": {
"schulmanager": {
"command": "/absoluter/pfad/zu/schulmanager-mcp/.venv/bin/python",
"args": ["-m", "schulmanager_mcp.server"],
"env": {
"SCHULMANAGER_EMAIL": "deine-email@example.com",
"SCHULMANAGER_PASSWORD": "dein-passwort"
}
}
}
}
Nutzung
Starte Claude Code im Projektverzeichnis (oder jedem Verzeichnis mit passender MCP-Konfiguration) und frage einfach:
> Gib mir das Eltern-Briefing
> Welche Hausaufgaben hat mein Kind?
> Zeig mir den Stundenplan fuer naechste Woche
> Welche Klassenarbeiten stehen in den naechsten 4 Wochen an?
> Gibt es neue Elternbriefe?
> Was steht morgen auf dem Stundenplan?
Standalone Daily Report
Das Eltern-Briefing kann auch ohne MCP direkt im Terminal ausgegeben werden:
./daily_report.sh
Beispiel-Report
# Eltern-Briefing (20.03.2026)
## Max Mustermann
### Auf einen Blick
- **1 ungelesene Nachricht** -- "Elternabend am 25.03."
- Stundenplan Mo: **1. Stunde faellt aus** (Deutsch), danach Englisch, Musik, Kunst
- **2 Arbeiten diese Woche** -- Di Englisch (Klassenarbeit), Mi Mathe (Klassenarbeit)
- Hausaufgaben fuer Mo: Englisch (+2 weitere diese Woche)
### Neue Nachrichten (1)
- **Elternabend am 25.03.** (2026-03-18)
https://login.schulmanager-online.de/#/modules/letters/view/12345
### Stundenplan Mo 23.03.2026
- **1. Stunde**: ~~Deutsch~~ -- Entfall
- **2. Stunde**: Englisch (Mueller), Raum 201
- **3. Stunde**: Englisch (Mueller), Raum 201
- **4. Stunde**: Musik (Schmidt), Raum 110
- **5. Stunde**: Kunst (Schmidt), Raum 215
### Klassenarbeiten & Tests (naechste 7 Tage)
- **2026-03-24**: Englisch (Klassenarbeit)
- **2026-03-25**: Mathematik (Klassenarbeit) -- "Lineare Funktionen"
### Hausaufgaben (naechste 7 Tage)
- **Mo 23.03. Englisch**: Workbook S. 45, Nr. 3-5
- **Mi 25.03. Deutsch**: Aufsatz zu Ende schreiben
- **Do 26.03. Mathematik**: Aufgabenblatt Funktionen
Technische Details
Authentifizierung
Der Server nutzt die inoffizielle Schulmanager-Online-API:
- Salt abrufen via
POST /api/get-salt - Passwort hashen mit PBKDF2-SHA512 (99.999 Iterationen, 512 Byte Output)
- Login via
POST /api/login-- liefert ein JWT-Token - Daten abrufen via
POST /api/callsmit Bearer-Token
API-Endpunkte
Alle Datenabfragen laufen ueber den zentralen /api/calls-Endpunkt als Batch-Requests:
| Modul | Endpunkt | Beschreibung |
|---|---|---|
schedules |
get-actual-lessons |
Stundenplan mit Vertretungen |
classbook |
get-homework |
Hausaufgaben |
exams |
get-exams |
Klassenarbeiten & Tests |
grades |
get-grades |
Noten |
letters |
get-letters |
Elternbriefe |
main |
get-institution |
Schulinformationen |
Ueber das schulmanager_raw_call-Tool koennen beliebige weitere Endpunkte angesprochen werden.
Danksagung
Die API-Struktur wurde durch Analyse bestehender Open-Source-Projekte ermittelt, insbesondere:
- rwunsch/schulmanager-online-hass -- Home Assistant Integration
- SchmueI/Schulmanager-API -- Python Scraping-Client
Lizenz
Dieses Projekt steht unter der Unlicense -- gemeinfrei, ohne jede Gewaehr.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.