| name | iserv |
| description | HTTP client for IServ school platforms. Log in to an IServ instance (e.g. https://grabbe-dt.de) and fetch common student data like unread mail counts, calendar events, files/folders, tasks/exercises, announcements/news, and other IServ modules via HTTP endpoints. Includes best-effort file ops + exercise submission. |
IServ (school platform)
This skill uses an HTTP client (no browser automation) to log in and call IServ endpoints.
Credentials / security
- Do NOT hardcode credentials.
- Provide credentials via environment variables.
Single profile:
ISERV_BASE_URL (e.g. https://grabbe-dt.de)
ISERV_USER
ISERV_PASS
Multiple profiles (parallel):
- set
ISERV_PROFILE=<name> or pass --profile <name>
- provide
ISERV_<PROFILE>_BASE_URL, ISERV_<PROFILE>_USER, ISERV_<PROFILE>_PASS
Commands
cd skills/iserv/scripts
./iserv.py mail-unread
./iserv.py mail-last --n 3
./iserv.py calendar-upcoming
./iserv.py files-list --path "/"
./iserv.py files-list --path "/Files"
./iserv.py files-search --query --start-dir --max-depth 6
./iserv.py files-download --path --out-dir ./downloads
./iserv.py files-upload --file ./foo.pdf --dest-dir
./iserv.py files-upload --file ./foo.pdf --dest-dir --chunk-size 8388608
./iserv.py files-mkdir --path
./iserv.py files-rename --src --dest
./iserv.py files-delete --path
./iserv.py messenger-chats
./iserv.py messenger-messages --chat-id <ID>
./iserv.py messenger-send --chat-id <ID> --text
./iserv.py exercise-list -- 50
./iserv.py exercise-detail -- 123
./iserv.py exercise-detail -- 123 --download-dir ./downloads
./iserv.py exercise-submit -- 123 --file ./solution.pdf --comment