Sign inSign up

udondan/dsbmobile

By udondan

•Updated 1 day ago

CLI and MCP server for DSBmobile: German school substitution plans, timetables, news, documents

Image
Machine learning & AI
Developer tools
0

199

udondan/dsbmobile repository overview

⁠DSBmobile CLI and MCP server

Access DSBmobile⁠, the platform many German schools use for substitution plans (Vertretungspläne), timetables, news and documents, from the command line or from AI assistants via the Model Context Protocol⁠.

The image contains the dsbmobile CLI. Without arguments, it starts the MCP server over stdio.

Source, full documentation and the npm package: github.com/udondan/dsbmobile⁠

⁠Configuration

VariableRequiredDescription
DSB_USERNAMEyesDSBmobile username/ID
DSB_PASSWORDyesDSBmobile password
DSB_CLASSnoDefault class filter for substitutions (e.g. 07b)

-e NAME without a value passes the variable from your shell.

⁠CLI

docker run --rm -e DSB_USERNAME -e DSB_PASSWORD -e DSB_CLASS udondan/dsbmobile substitutions
docker run --rm -e DSB_USERNAME -e DSB_PASSWORD udondan/dsbmobile substitutions --class 07b
docker run --rm -e DSB_USERNAME -e DSB_PASSWORD udondan/dsbmobile timetables
docker run --rm -e DSB_USERNAME -e DSB_PASSWORD udondan/dsbmobile news
docker run --rm -e DSB_USERNAME -e DSB_PASSWORD udondan/dsbmobile documents

All commands print JSON.

⁠MCP server

docker run --rm -i -e DSB_USERNAME -e DSB_PASSWORD -e DSB_CLASS udondan/dsbmobile

-i keeps stdin open, which the server uses to talk to the client.

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "dsbmobile": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "DSB_USERNAME", "-e", "DSB_PASSWORD", "-e", "DSB_CLASS", "udondan/dsbmobile"],
      "env": {
        "DSB_USERNAME": "your_username",
        "DSB_PASSWORD": "your_password",
        "DSB_CLASS": "07b"
      }
    }
  }
}
⁠Tools

All tools are read-only.

ToolDescription
get_substitutionsSubstitution plans, optionally filtered by class
get_timetablesTimetable entries with plan URLs
get_newsNews from the school
get_documentsDocuments published by the school
⁠Docker MCP Toolkit

The image works with the Docker MCP Toolkit⁠ of Docker Desktop, with credentials stored as Toolkit secrets. Setup: README, section Docker MCP Toolkit⁠.

⁠Tags

  • x.y.z, x.y, x: release versions
  • latest: most recent release

Platforms: linux/amd64, linux/arm64. The image runs as the unprivileged user node and ships without npm.

⁠Verify the signature

Images are signed with cosign⁠ (keyless, via GitHub Actions) and come with SBOM and provenance attestations.

cosign verify udondan/dsbmobile:latest \
  --certificate-identity-regexp '^https://github.com/udondan/dsbmobile/\.github/workflows/publish\.yml@' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:f47d1b63d…

Size

104.3 MB

Last updated

1 day ago

docker pull udondan/dsbmobile