myhotlunchbox-mcp
myhotlunchbox-mcp
My Hot Lunchbox 用のMCPサーバー — 学校のランチカレンダーの閲覧、生徒の管理、注文の作成・変更、保護者アカウントでの配達状況と支払いの追跡を行います。
AI(Claude Code)によって開発・保守されています。ご自身の判断でご利用ください。
インストール
npx myhotlunchbox-mcpまたは Claude Code プラグインとして:
/plugin marketplace add chrischall/myhotlunchbox-mcp
/plugin install myhotlunchbox-mcpRelated MCP server: Corben MCP Server
設定
MYHOTLUNCHBOX_USERNAME=you@example.com
MYHOTLUNCHBOX_PASSWORD=…これで設定は完了です。このサーバーは ordernow.myhotlunchbox.com に対して実際のサーバーサイドのサインイン(OAuth2 パスワードグラント)を実行し、受け取ったリフレッシュトークンでセッションを更新します — ブラウザ拡張機能も、サインイン済みタブも、キャプチャした Cookie も不要です。ディスクに書き込まれるものはありません。
MYHOTLUNCHBOX_BASE_URL は、アプリのオリジンが移動した場合にそれを上書きします。
このサーバーは認証情報なしで起動するため、ホスト側のインストール時の tools/list プローブは引き続き機能します。設定エラーは最初のツール呼び出し時に表面化します。
ツール
34個のツールがあり、すべて mhlb_ プレフィックスが付いています。20個の読み取りツールはすべて実際の保護者アカウントに対してライブで検証済みです(node scripts/verify-reads.mjs)。14個の書き込みツールは検証されていません — 以下を参照してください。
アカウント — mhlb_whoami、mhlb_session_reset
生徒 — mhlb_list_students、mhlb_get_student_form、
mhlb_new_student_form、mhlb_create_student、mhlb_update_student、
mhlb_delete_student
カレンダー — mhlb_get_calendar、mhlb_get_day
注文 — 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
請求 — 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
チェックアウト — mhlb_init_checkout、mhlb_checkout
レポート — mhlb_print_calendar、mhlb_print_orders、
mhlb_print_transaction。これらは実際のPDFを返します。各ツールはファイルを書き出してそのパスを返すか、inline: true でインラインのバイト列を返します。MYHOTLUNCHBOX_OUTPUT_DIR を設定して保存先を選択できます(デフォルトは作業ディレクトリ)。既存のファイルが上書きされることはありません。
書き込みは確認ゲート付き
すべての変更ツールは confirm を受け取ります。confirm: true がない場合、ネットワーク呼び出しは一切行わず、送信する内容を正確に示すドライラン・プレビューを返します。
mhlb_checkout は実際の支払い方法に請求します。サーバーは orderIds から請求額を算出するため、クライアント側で金額を固定することはできません — 照合するための合計額はリクエスト内に存在しません。したがって expectedTotal は帰属情報であり、ガードではありません: 期待値を明示すると、それがドライランと結果に記録され、予期しない請求が発生した場合にその呼び出しまで追跡可能になります。このツールが明確に拒否するのは、orderIds なしでゼロ以外の合計額を支払うことだけです。
書き込み: キャプチャされた形状、未検証の受理
npm run capture:writes は、すべての変更ツールをローカルプロキシに対して実行します。このプロキシは読み取りを実際のサービスに転送しますが、書き込みはプロキシ自身が応答するため、ペイロードは本物のサーバーモデルから構築され、上流では何も発生しません。また、13個すべてが confirm: true なしでは何も送信しないことを証明します。
これによって確立され、修正された点: mhlb_delete_order と
mhlb_unsubscribe_order は注文モデルではなく {orderId, eventDate, studentId, isRepeated, isSubscribed} を受け取り、チェックアウトは
{orderIds, checkoutType, couponCode, giftCardCode, schoolDonations} を受け取ります。
まだ未検証なのは、サーバーがこれらのボディを受け入れるかどうかです。 形状は受理を意味しません。実際の書き込みだけがそれを示しますが、まだ一度も行われていません。確認する前にドライラン・プレビューを検査し、確認後にもう一度読み直してください — 200 は書き込みが永続化されたことの証明にはなりません。
mhlb_checkout に固有の2つの制限:
アカウントにすでに保存されているカードでのみ支払いが可能です。新しいカードでの支払いには、ブラウザ内の Stripe.js によって生成された Stripe トークンが必要であり、サーバーサイドのクライアントでは生成できません。
冪等性キーを生成して返します。チェックアウトがあいまいに失敗した場合は、新しい呼び出しではなく、同じ
idempotencyKeyで再試行してください — これにより、再試行が2回目の請求になるのを防ぎます。
注文は読み取り・変更・書き込み方式
「アイテムXを追加」という呼び出しはありません。モデルを取得し、編集し、全体を送り返します:
mhlb_get_menu— ある日付に生徒が注文できるものmhlb_get_order_form— 記入する注文モデルmhlb_create_order— 送り返す(confirm: true付きで)mhlb_init_checkout→mhlb_checkout— 価格を確認してから支払う
ペイロードから省略されたフィールドは保持されず、クリアされます。
シェルスキル
skills/myhotlunchbox は、MCP プロセスを必要とせず、curl を使ってシェルから同じアカウントを操作します。スクリプトや、このサーバーがインストールされていないマシンで役立ちます。
注記
/deliveryInfo/*と/calendar/viewMatchedVendorsはコンパイル済みクライアントでは保護者向けに見えますが、保護者アカウントでは403を返します — これらは学校/ベンダーのダッシュボードに属します。これらをラップするツールはありません。保護者ロールのみが配線されています。同じAPIは学校管理者ロールとベンダーロールにもサービスを提供します。これらのエンドポイントは
403を返し、クライアントはそれをセッションの破損ではなくロールの不一致として報告します。docs/MYHOTLUNCHBOX-API.mdには、API がどのようにマッピングされたかと、正確に何が検証されたかが記録されています。docs/api-surface.txtは359エンドポイントの完全な抽出です。
ライセンス
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