Features
Huiswerk
Bekijk huiswerk, filter op vak, en download bijlagen automatisch
Cijfers
Recente cijfers bekijken met gewogen gemiddelde berekening
Rooster
Dagelijks en wekelijks rooster met uitval-indicatoren
MCP Server
Claude AI integratie via Model Context Protocol
Installatie
# Clone de repository
git clone https://github.com/barnierg76/magister-cli.git
cd magister-cli
# Installeer met uv (aanbevolen)
uv pip install -e .
# Of met pip
pip install -e .
# Installeer Playwright browser
playwright install chromium
Snelstart
# Login bij je school
magister login --school vsvonh
# Bekijk huiswerk voor de komende 7 dagen
magister homework
# Bekijk aankomende toetsen
magister tests --days 14
# Bekijk rooster
magister schedule today
Commando's
Authenticatie
# Login via browser
magister login --school <schoolcode>
# Controleer status
magister status
# Uitloggen
magister logout
Huiswerk
# Huiswerk komende 7 dagen
magister homework
# Huiswerk komende 14 dagen
magister homework --days 14
# Filter op vak
magister homework --subject wiskunde
# Tabel weergave
magister homework --table
# Download bijlagen
magister homework --download
magister homework --download --output ./bijlagen
Toetsen
# Toetsen komende 14 dagen
magister tests
# Langere periode
magister tests --days 30
Cijfers
# Recente cijfers
magister grades recent
# Laatste 20 cijfers
magister grades recent --limit 20
Rooster
# Vandaag
magister schedule today
# Morgen
magister schedule tomorrow
# Specifieke datum
magister schedule date 2024-01-15
Berichten
# Inbox bekijken
magister messages inbox
Bijlagen downloaden
# Download alle bijlagen van huiswerk
magister download
# Filter op vak
magister download --subject engels
# Aangepaste output directory
magister download --output ./studiematerialen
Shell Completion
Magister CLI ondersteunt shell completion voor bash, zsh, en fish.
# Bash
magister --install-completion bash
# Zsh
magister --install-completion zsh
# Fish
magister --install-completion fish
MCP Server (Claude Integratie)
Magister CLI bevat een MCP (Model Context Protocol) server waarmee Claude en andere AI agents direct toegang hebben tot Magister data.
Configuratie in Claude Desktop
Voeg toe aan je Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"magister": {
"command": "magister-mcp"
}
}
}
MCP Tools
| Tool | Beschrijving |
|---|---|
get_student_summary |
Compleet dagelijks overzicht (huiswerk, cijfers, rooster) |
get_homework |
Huiswerk ophalen met filters |
get_upcoming_tests |
Aankomende toetsen |
get_recent_grades |
Recente cijfers met gemiddelde |
get_today_schedule |
Rooster van vandaag |
get_schedule |
Rooster voor datumbereik |
check_auth_status |
Authenticatie status controleren |
download_homework_materials |
Download huiswerk bijlagen |
Voorbeeld Claude prompts
- "Wat heb ik vandaag voor huiswerk?"
- "Welke toetsen heb ik de komende 2 weken?"
- "Hoe staat mijn gemiddelde ervoor?"
- "Download alle bijlagen voor wiskunde"
Configuratie
Environment Variables
# School code (optioneel, kan ook via --school flag)
export MAGISTER_SCHOOL=vsvonh
# OAuth timeout in seconden (default: 120)
export MAGISTER_OAUTH_TIMEOUT=180
# Headless browser mode (default: false)
export MAGISTER_HEADLESS=true
Config Bestand
Config bestand: ~/.config/magister-cli/config.yaml
school: vsvonh
headless: false
oauth_timeout: 120
Architectuur
magister-cli/
src/magister_cli/
api/ # Magister API client
auth/ # OAuth authenticatie
cli/ # CLI commands en formatters
commands/ # Typer subcommands
formatters.py # Rich output formatting
progress.py # Progress indicators
mcp/ # MCP server voor Claude
server.py # FastMCP tools
services/ # Business logic
core.py # I/O agnostic domain objects
async_magister.py # Async service
sync_magister.py # Sync wrapper
config.py # Settings
tests/
Design Principles
- Async-first: Primaire implementatie is async voor parallelle API calls
- I/O agnostic core: Business logic gescheiden van I/O
- MCP-ready: Alle CLI functionaliteit beschikbaar als MCP tools
- Rich progress: Duidelijke feedback via spinners en progress bars
Development
# Installeer dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
# Linting
ruff check .
ruff format .
# MCP server testen
mcp dev magister_cli/mcp/server.py
Bijdragen
Pull requests welkom! Zorg ervoor dat tests slagen en code geformateerd is met ruff.
Bekijk op GitHub