myhotlunchbox-mcp
myhotlunchbox-mcp
MCP-Server für My Hot Lunchbox — Schulessen-Kalender lesen, Schüler verwalten, Bestellungen aufgeben und ändern sowie Lieferungen und Zahlungen auf einem Elternkonto verfolgen.
Entwickelt und gepflegt von KI (Claude Code). Nutzung auf eigene Verantwortung.
Install
npx myhotlunchbox-mcpOder als Claude Code Plugin:
/plugin marketplace add chrischall/myhotlunchbox-mcp
/plugin install myhotlunchbox-mcpRelated MCP server: Corben MCP Server
Configure
MYHOTLUNCHBOX_USERNAME=you@example.com
MYHOTLUNCHBOX_PASSWORD=…Das ist die gesamte Einrichtung. Der Server führt eine echte serverseitige Anmeldung gegen ordernow.myhotlunchbox.com durch (OAuth2-Passwort-Grant) und erneuert die Sitzung mit dem erhaltenen Refresh-Token — keine Browser-Erweiterung, kein angemeldeter Tab, kein erfasstes Cookie. Es wird nichts auf die Festplatte geschrieben.
MYHOTLUNCHBOX_BASE_URL überschreibt den App-Ursprung, falls dieser jemals wechselt.
Der Server startet ohne Anmeldedaten, sodass eine tools/list-Prüfung des Hosts zur Installationszeit weiterhin funktioniert; der Konfigurationsfehler erscheint beim ersten Tool-Aufruf.
Tools
34 Tools, alle mit dem Präfix mhlb_. Alle 20 Lese-Tools wurden live gegen ein echtes Elternkonto verifiziert (node scripts/verify-reads.mjs); die 14 Schreib-Tools nicht — siehe unten.
Konto — mhlb_whoami, mhlb_session_reset
Schüler — mhlb_list_students, mhlb_get_student_form,
mhlb_new_student_form, mhlb_create_student, mhlb_update_student,
mhlb_delete_student
Kalender — mhlb_get_calendar, mhlb_get_day
Bestellung — mhlb_get_cart, mhlb_get_cart_tabs, mhlb_get_menu,
mhlb_get_order_form, mhlb_get_order, mhlb_create_order,
mhlb_update_order, mhlb_delete_order
Abrechnung — mhlb_list_transactions, mhlb_get_transaction,
mhlb_list_subscriptions, mhlb_get_subscription_settings,
mhlb_set_subscription_enabled, mhlb_unsubscribe_order,
mhlb_list_gift_cards, mhlb_apply_gift_card, mhlb_get_coupon,
mhlb_apply_coupon, mhlb_remove_coupon
Kasse — mhlb_init_checkout, mhlb_checkout
Berichte — mhlb_print_calendar, mhlb_print_orders,
mhlb_print_transaction. Diese geben echte PDFs zurück; jedes schreibt die Datei und gibt ihren Pfad zurück, oder die Bytes inline mit inline: true. Setzen Sie MYHOTLUNCHBOX_OUTPUT_DIR, um festzulegen, wo sie abgelegt werden (Standard ist das Arbeitsverzeichnis); vorhandene Dateien werden nie überschrieben.
Schreibvorgänge sind bestätigungspflichtig
Jedes verändernde Tool akzeptiert confirm. Ohne confirm: true führt es keinen Netzwerkaufruf durch und gibt eine Trockenlauf-Vorschau dessen zurück, was es genau senden würde.
mhlb_checkout belastet eine echte Zahlungsmethode. Der Server berechnet den Betrag aus orderIds, sodass clientseitig nichts den Betrag festlegen kann — es gibt keinen Gesamtbetrag in der Anfrage, gegen den geprüft werden könnte. expectedTotal ist daher Zuordnung, keine Absicherung: Sie geben an, was Sie erwartet haben, und es wird im Trockenlauf und im Ergebnis festgehalten, sodass eine unerwartete Belastung auf den Aufruf zurückgeführt werden kann, der sie verursacht hat. Was das Tool kategorisch ablehnt, ist die Zahlung eines Betrags ungleich Null ohne orderIds.
Schreibvorgänge: Formen erfasst, Akzeptanz unverifiziert
npm run capture:writes führt jedes verändernde Tool gegen einen lokalen Proxy aus, der Lesevorgänge an den echten Dienst weiterleitet, aber Schreibvorgänge selbst beantwortet, sodass die Nutzlasten aus echten Servermodellen erstellt werden und upstream nichts passiert. Es beweist auch, dass alle 13 ohne confirm: true nichts senden.
Was das festgestellt und korrigiert hat: mhlb_delete_order und mhlb_unsubscribe_order akzeptieren {orderId, eventDate, studentId, isRepeated, isSubscribed} — nicht das Bestellmodell — und Checkout akzeptiert {orderIds, checkoutType, couponCode, giftCardCode, schoolDonations}.
Was weiterhin unverifiziert ist, ist, ob der Server diese Körper akzeptiert. Form ist nicht Akzeptanz; nur ein echter Schreibvorgang zeigt das, und keiner wurde durchgeführt. Überprüfen Sie die Trockenlauf-Vorschau vor der Bestätigung und lesen Sie danach erneut — ein 200 ist kein Beweis dafür, dass ein Schreibvorgang persistiert wurde.
Zwei Einschränkungen speziell für mhlb_checkout:
Es kann nur mit einer bereits gespeicherten Karte auf dem Konto bezahlen. Die Zahlung mit einer neuen Karte erfordert ein Stripe-Token, das von Stripe.js in einem Browser erstellt wird, was kein serverseitiger Client erzeugen kann.
Es generiert einen Idempotenzschlüssel und gibt ihn zurück. Wenn ein Checkout mehrdeutig fehlschlägt, wiederholen Sie den Vorgang mit demselben
idempotencyKeyanstatt mit einem neuen Aufruf — das verhindert, dass eine Wiederholung zu einer zweiten Belastung wird.
Bestellung ist Lesen-Ändern-Schreiben
Es gibt keinen Aufruf „Element X hinzufügen". Rufen Sie das Modell ab, bearbeiten Sie es und senden Sie es vollständig zurück:
mhlb_get_menu— was für einen Schüler an einem Datum bestellbar istmhlb_get_order_form— das auszufüllende Bestellmodellmhlb_create_order— senden Sie es zurück (mitconfirm: true)mhlb_init_checkout→mhlb_checkout— Preis berechnen, dann bezahlen
Felder, die in der Nutzlast weggelassen werden, werden gelöscht, nicht beibehalten.
Shell-Fähigkeit
skills/myhotlunchbox deckt dasselbe Konto aus einer Shell mit curl ab — kein MCP-Prozess erforderlich. Nützlich in Skripten oder auf einem Rechner, auf dem dieser Server nicht installiert ist.
Notes
/deliveryInfo/*und/calendar/viewMatchedVendorswirken im kompilierten Client elternorientiert, geben aber für ein Elternkonto403zurück — sie gehören zu den Schul-/Anbieter-Dashboards. Kein Tool umschließt sie.Nur die Elternrolle ist angebunden. Dieselbe API bedient auch Schuladministrator- und Anbieterrollen; diese Endpunkte geben
403zurück, was der Client als Rollenkonflikt meldet und nicht als defekte Sitzung.docs/MYHOTLUNCHBOX-API.mddokumentiert, wie die API abgebildet wurde und was genau verifiziert ist.docs/api-surface.txtist die vollständige Extraktion der 359 Endpunkte.
Licence
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Microsoft Outlook via Graph API. 20 consolidated tools for email, calendar, contacts, folders, rules, categories, and settings with safety controls (dry-run preview, rate limiting, recipient allowlists) and MCP annotations on every tool.2283833MIT
- FlicenseNot gradedqualityCmaintenanceProvides AI agents with 220+ tools for building websites, sending email, managing contacts, invoicing, databases, automation, and more through a single secure connection. Features hardware-bound authentication and works with Claude Desktop, Claude Code, Cursor, and other MCP-compatible clients.
- FlicenseAqualityCmaintenanceEnables interacting with the Lunch Money personal finance API through MCP tools for retrieving user info, transactions, and performing calculations, with minimal response sizes.6
- AlicenseNot gradedqualityCmaintenanceProvides programmatic access to Grubhub's food delivery platform, enabling restaurant search, menu browsing, cart management, order placement, and delivery tracking through MCP tools.MIT
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Shopify MCP Pack — wraps the Shopify Admin REST API (2024-01)
Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/chrischall/myhotlunchbox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server