Skip to main content
Glama

Studie+ MCP Server

MCP server der giver Claude Desktop (og andre MCP-klienter) adgang til skoledata fra Studie+ — den danske skoleplatform.

Spørg Claude om dit skema, lektier, afleveringer og filer direkte i chatten.

Features

  • Dagsoverblik — skema, lektier, noter og afleveringer for en given dag

  • Ugeoverblik — komplet ugeskema med lektier og deadlines

  • Afleveringer — filtrer på fag, deadline, eller vis alle

  • Afleveringsdetaljer — beskrivelse, filer og status

  • Lektionsfiler — hent filer fra lektioner med signerede download-URLs

  • Fil-download — download filer direkte til din computer

  • Letvægts-scraper — bruger HTTP direkte (ingen browser, ~30MB RAM)

  • Cross-platform — virker på Windows, Mac og Linux

Related MCP server: Smartschool MCP Server

Setup

1. Installer dependencies

cd studieplus-mcp
pip install -r requirements.txt

2. Konfigurer credentials

Opret en .env fil:

STUDIEPLUS_USERNAME=dit_brugernavn
STUDIEPLUS_PASSWORD=dit_kodeord
STUDIEPLUS_SCHOOL=DIN_SKOLE

3. Tilføj til Claude Desktop

Rediger Claude Desktop config:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "studieplus": {
      "command": "python",
      "args": [
        "/sti/til/studieplus-mcp/src/mcp_server/server.py"
      ],
      "env": {
        "STUDIEPLUS_USERNAME": "dit_brugernavn",
        "STUDIEPLUS_PASSWORD": "dit_kodeord",
        "STUDIEPLUS_SCHOOL": "DIN_SKOLE"
      }
    }
  }
}

Udskift /sti/til/studieplus-mcp med den faktiske sti til projektet.

4. Genstart Claude Desktop

Genstart Claude Desktop for at indlæse MCP serveren.

Brug

Når serveren er installeret, kan du spørge Claude:

  • "Hvad har jeg i dag?"

  • "Har jeg lektier til i morgen?"

  • "Hvad skal jeg aflevere?"

  • "Hvilket lokale skal jeg møde i?"

  • "Hvornår starter jeg i morgen?"

  • "Har jeg dansk afleveringer?"

  • "Hvad har jeg i næste uge?"

  • "Download filerne fra min dansktime"

MCP Tools

Tool

Beskrivelse

get_day_overview(day_offset)

Skema, lektier, noter og afleveringer for en dag

get_week_overview(week_offset)

Komplet ugeoverblik

get_assignments(include_submitted, days_ahead, subject)

Afleveringer med filtrering

get_assignment_details(assignment_id)

Detaljer for en specifik aflevering

get_lesson_files(lesson_id)

Filer fra en lektion med download-URLs

download_lesson_file(file_url, file_name)

Download en fil til brugerens computer

load_lesson_file(file_url, file_name)

Indlæs filindhold direkte

Arkitektur

src/
  mcp_server/
    server.py              # MCP tools (thin wrapper)
  studieplus_scraper/
    requests_scraper.py    # HTTP-baseret GWT-RPC scraper
    gwt_deserializer.py    # Stack-baseret GWT response parser
    api.py                 # API lag (business logic, caching)
    scraper.py             # Playwright-baseret scraper (outdated, fallback)

Scraperen kommunikerer direkte med Studie+ via GWT-RPC protokollen — ingen browser nødvendig.

Note: Der findes også en Playwright-baseret scraper (scraper.py) som kan bruges som fallback. Den er outdated og mangler nogle features, men kan aktiveres med USE_PLAYWRIGHT_SCRAPER=true. Kræver pip install playwright && playwright install chromium.

Transport

Serveren understøtter to transport-modes:

  • stdio (default) — til Claude Desktop

  • SSE — til Docker/Raspberry Pi deployment

# SSE mode
MCP_TRANSPORT=sse MCP_PORT=8101 python src/mcp_server/server.py

Licens

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/ccoodduu/studieplus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server