Skip to main content

MCP server for Eltern-Portal — substitution plans, parent letters, bulletin board, and school calendar

Project description

Eltern-Portal MCP Server

An MCP server that provides access to German school Eltern-Portal data. Enables AI assistants to fetch substitution plans, parent letters, bulletin board announcements, and school calendar events.

Tools

Tool Description
check_login Verify that credentials are valid
get_vertretungsplan Fetch the current substitution plan (uses Claude Haiku for HTML parsing)
list_elternbriefe List all parent letters with metadata
get_elternbrief Fetch a specific parent letter by number or title (PDF converted to markdown)
get_schwarzes_brett Fetch bulletin board announcements
get_termine Fetch upcoming school events and calendar entries (Schulaufgabenplan)

Prerequisites

  • Python 3.10+
  • An Eltern-Portal parent account
  • An Anthropic API key (for vertretungsplan HTML parsing)

Installation

cd plugins/elternportal
pip install -r elternportal_mcp/requirements.txt

Configuration

The server loads credentials in this priority order:

1. Config file (recommended)

Create ~/.mcp-server-config/elternportal_mcp/.env:

URL=https://yourschool.eltern-portal.org
USER=your@email.com
PASSWORD=your-password
ANTHROPIC_API_KEY=sk-ant-...

This is the simplest setup. The server reads this file on startup and uses the values as defaults. No other configuration needed.

2. Environment variables (override)

Environment variables take precedence over the config file. Both long and short names are supported:

Long name (MCP config) Short name (.env file) Description
ELTERNPORTAL_URL URL School-specific Eltern-Portal URL
ELTERNPORTAL_USER USER Parent account email
ELTERNPORTAL_PASSWORD PASSWORD Parent account password
ANTHROPIC_API_KEY ANTHROPIC_API_KEY For Claude Haiku HTML parsing

3. Plugin .mcp.json (auto-configured via marketplace)

When installed as a Cowork plugin, the .mcp.json is auto-discovered. It uses ${VAR} syntax to pull from the environment. Set the env vars via ~/.claude/settings.json:

{
  "env": {
    "ELTERNPORTAL_URL": "https://yourschool.eltern-portal.org",
    "ELTERNPORTAL_USER": "your@email.com",
    "ELTERNPORTAL_PASSWORD": "your-password",
    "ANTHROPIC_API_KEY": "sk-ant-..."
  }
}

Manual MCP client config

For non-plugin setups, add to your .mcp.json:

{
  "elternportal": {
    "command": "python",
    "args": ["-m", "elternportal_mcp"],
    "cwd": "/path/to/plugins/elternportal",
    "env": {
      "ELTERNPORTAL_URL": "https://yourschool.eltern-portal.org",
      "ELTERNPORTAL_USER": "your@email.com",
      "ELTERNPORTAL_PASSWORD": "your-password",
      "ANTHROPIC_API_KEY": "sk-ant-..."
    }
  }
}

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elternportal_mcp-2.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elternportal_mcp-2.1.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file elternportal_mcp-2.1.0.tar.gz.

File metadata

  • Download URL: elternportal_mcp-2.1.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for elternportal_mcp-2.1.0.tar.gz
Algorithm Hash digest
SHA256 9b3f7dae0ea5b0db7da846064b2ac709408390db62172f11c00bd78bef8d7128
MD5 e394e2387c3a07d212644f471befdbe2
BLAKE2b-256 3df05f03b38b85c969b1036dd2346c488aba40be7da92f11eb617e6ef8bff206

See more details on using hashes here.

Provenance

The following attestation bundles were made for elternportal_mcp-2.1.0.tar.gz:

Publisher: publish-elternportal.yml on andasv/andrei-skill-marketplace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elternportal_mcp-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for elternportal_mcp-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37ac3c4096c645226677029a6a462f398e09d6ceb8c7bb8b659f0cce9c89f921
MD5 146bd1c93d7b51547d9bc6bc957cb2a7
BLAKE2b-256 c13ae52cc2b845f0ac71327db1e575cf916015cd795b4ae3180ca7d5487e9e5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for elternportal_mcp-2.1.0-py3-none-any.whl:

Publisher: publish-elternportal.yml on andasv/andrei-skill-marketplace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page