Mensa Canteen Menu for Openclaw

A zero-config python agent tool that retrieves daily lunch menus from German university canteens via the public OpenMensa API.

rifatdevelopment
v1.0.1
May 27, 2026
2
848
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install mensa

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install mensa using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is Mensa Canteen Menu?

The Mensa tool is a lightweight utility designed to fetch and display daily lunch menus from German university canteens (Mensa) directly within terminal or automated agent workflows. As a plug-and-play addition to your suite of Openclaw Skills, it leverages the public OpenMensa API without requiring registration, credentials, or API keys.

With a simple, interactive setup, users can specify their default city and canteen. From there, the tool handles advanced, normalized substring matching to query any configured canteen's menu instantly, making it a highly practical resource for students, faculty, and developers.

Mensa Canteen Menu Use Cases

  • When a student or university developer wants to quickly check what's for lunch at their campus canteen using terminal prompts.
  • Querying menus for specific upcoming dates to plan meals ahead of time.
  • Integrating local university canteen updates into larger automated routines and Openclaw Skills notifications.

How Mensa Canteen Menu Works

  1. Interactive Prompt: If no configuration exists, the agent prompts the user to enter a German city.
  2. Canteen Listing: It fetches and displays all canteens matching that city using the OpenMensa API endpoint.
  3. One-Time Setup: The user registers a default canteen. The script saves these associations locally inside config.json.
  4. Query Resolution: Users execute queries with canteen name substrings. The script normalizes special characters (e.g., - or ,) to guarantee successful matching.
  5. Filtering & Rendering: The script fetches the daily menu, filters out side dishes and leftovers (Beilagen/Restproduktion), and prints the clean menu with student pricing and dietary labels.

Mensa Canteen Menu Setup

This tool requires Python 3 with no third-party library dependencies.

1. Find Available Canteens in Your City

python3 mensa_today.py --list "Berlin"

2. Configure Your Default Canteen

python3 mensa_today.py --setup "Berlin" --default "Mensa TU Hardenbergstraße"

3. Query Daily Menus

# Get today's menu for the default canteen
python3 mensa_today.py

# Query a specific canteen in the configured city
python3 mensa_today.py "Otto-Hahn-Straße"

# Query a menu for a specific future date
python3 mensa_today.py "Otto-Hahn-Straße" --date 2026-06-02

Mensa Canteen Menu Data Schema & Taxonomy

Configuration Schema

The script generates a localized config.json file in its directory during initial setup. This file stores target preferences and is ignored by version control to protect local workspace environments.

Attribute Type Description
city String The target German city configured during the setup phase.
default String The default canteen identifier or substring configured for default queries.
canteens Array Cached canteen names and OpenMensa IDs.

Output Format Rules

Menus are output to the terminal or agent process with strict formatting requirements:

  • No prose, lists only: Delivered strictly as a single bullet-point list.
  • Unaltered dish names: German umlauts, parentheses, and pricing are reproduced exactly without truncation.
  • Automated filtration: Items whose category includes 'Beilage' or names containing 'Restproduktion' are automatically excluded.

Mensa Canteen Menu Advanced Features

  • Fuzzy String Normalizer: Strips hyphens, periods, and commas automatically, resolving names like 'Otto Hahn' to 'Mensa Otto-Hahn-Straße' seamlessly.
  • Zero-Dependency Integration: Written entirely using Python 3 standard library modules, ensuring zero overhead and rapid execution.
  • Privacy-First Data Storage: No telemetry, user data, or identifiers are transmitted. All selections remain in a local config.json file.
  • Extensible CLI Interface: Integrates cleanly into multi-agent pipelines and other Openclaw Skills to trigger daily alerts or Slack webhooks.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*