studieplus-mcp

studieplus-mcp

MCP server that gives Claude Desktop access to school data from Studie+ (Danish school platform), enabling queries about schedules, homework, assignments, and files directly in chat.

Category
Visit Server

README

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

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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured