# io.github.chrischall/myhotlunchbox-mcp (npm · myhotlunchbox-mcp)

My Hot Lunchbox school lunch ordering for Claude — calendar, cart, orders, payments

- Trust score: 93/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- npm · `myhotlunchbox-mcp`: 93/100 (this document), [markdown](https://verifymcp.io/servers/chrischall-myhotlunchbox-mcp/myhotlunchbox-mcp.md), [page](https://verifymcp.io/servers/chrischall-myhotlunchbox-mcp/myhotlunchbox-mcp)

## Channel facts

- Registry: `npm`
- Package: `myhotlunchbox-mcp`
- Version: `1.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 93/100
  - No malware found by supply-chain analysis.
  - Known CVEs were checked across the 4 of 5 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Dependency health was assessed across the 4 of 5 dependencies we could resolve, so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to chrischall/myhotlunchbox-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 84/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3680 tokens (~105/item across 35 items; 35 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 87/100
  - Stability check failed: the tool surface changed between 0.2.0 and 1.1.1: 0 tool removals, 4 breaking changes, 1 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 35 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the io.github.chrischall/myhotlunchbox-mcp server?

io.github.chrischall/myhotlunchbox-mcp runs locally as an npm package, launched with npx -y myhotlunchbox-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add chrischall-myhotlunchbox-mcp -- npx -y myhotlunchbox-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "chrischall-myhotlunchbox-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "myhotlunchbox-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "chrischall-myhotlunchbox-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "myhotlunchbox-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add chrischall-myhotlunchbox-mcp -- npx -y myhotlunchbox-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chrischall-myhotlunchbox-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "myhotlunchbox-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add chrischall-myhotlunchbox-mcp --command npx --arg -y --arg myhotlunchbox-mcp
```

### Hermes

```yaml
mcp_servers:
  chrischall-myhotlunchbox-mcp:
    command: "npx"
    args: ["-y", "myhotlunchbox-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "chrischall-myhotlunchbox-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "myhotlunchbox-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add chrischall-myhotlunchbox-mcp -t stdio -c npx -a -y myhotlunchbox-mcp
```

### Other

```json
{
  "mcpServers": {
    "chrischall-myhotlunchbox-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "myhotlunchbox-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-21 (score 93, 0)

- [security regression] Stability: fail → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Known CVEs: pass → partial
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Destructive annotations: All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
- [functional] Dependency health: 1.00 → partial
- [functional] Package version: 1.1.0 → 1.1.1

### 2026-09-20 (score 93, +1)

- [security regression] Stability: fail → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] MCP protocol: Implements a current MCP spec version (2026-07-28).
- [functional] Package version: 1.0.0 → 1.1.0

### 2026-09-19 (score 92, +1)

- [security regression] Stability: fail → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Dependency health: 0.86 → 1.00
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.5.1 → 1.0.0

### 2026-09-17 (score 91, +1)

No change was recorded against any check on this day. Stability & Change Management went from 71 to 74.

### 2026-09-15 (score 90, +1)

No change was recorded against any check on this day. Stability & Change Management went from 64 to 67.

### 2026-09-13 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 61.

### 2026-09-12 (score 88, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-10 (score 73, −14)

- [security regression] Malware scan: pass → unverified
- [functional] Package version: 0.5.0 → 0.5.1

## MCP tools (35)

### `mhlb_whoami` (~54 tokens)

Get the signed-in My Hot Lunchbox account: name, email, role, number of students, pending order count, account credit balances, and whether subscriptions are enabled. Start here to confirm the session works.

### `mhlb_session_reset` (~45 tokens)

Discard the cached My Hot Lunchbox access token so the next tool call signs in again. Use after changing credentials, or if calls start failing with stale-session errors.

### `mhlb_list_students` (~57 tokens)

List the students on the account: id, first name, school, grade/teacher, whether they have orders, and whether the profile is inactive or still an unaccepted invite. The student id feeds every calendar and ordering tool.

### `mhlb_get_student_form` (~66 tokens)

Get the editable profile for one student — school, grade, teacher, delivery location, allergies and the dropdown options for each. Returns the exact model that mhlb_update_student expects back.

Input parameters:

- `studentId` (integer, required): Student id from mhlb_list_students.

### `mhlb_new_student_form` (~40 tokens)

Get a blank student profile plus the school/grade/teacher dropdown options, ready to fill in and pass to mhlb_create_student.

### `mhlb_create_student` (~130 tokens)

Add a student to the account. Call mhlb_new_student_form first and send that model back with the fields filled in. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `student` (object, required): The student model, as returned by mhlb_get_student_form / mhlb_new_student_form, with your edits applied.

### `mhlb_update_student` (~139 tokens)

Update a student profile. Call mhlb_get_student_form first and send that model back with your edits — the endpoint replaces the whole record, so omitted fields are lost. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `student` (object, required): The student model, as returned by mhlb_get_student_form / mhlb_new_student_form, with your edits applied.

### `mhlb_delete_student` (~109 tokens)

Remove a student from the account. Irreversible from this API — their order history goes with them. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `studentId` (integer, required): Student id from mhlb_list_students.

### `mhlb_get_calendar` (~87 tokens)

Get the lunch calendar for the account over a date range: which days are open for ordering, already ordered, paid, in the cart, subscribed or closed, per student. This is what the Lunch Calendar page shows.

Input parameters:

- `endDate` (string, required): Last day to include (YYYY-MM-DD).
- `startDate` (string, required): First day to include (YYYY-MM-DD).

### `mhlb_get_day` (~66 tokens)

Get what a student has ordered on one specific date — the items, sizes, quantities, add-ons and prices.

Input parameters:

- `date` (string, required): The day to look at (YYYY-MM-DD).
- `studentId` (integer, required): Student id from mhlb_list_students.

### `mhlb_get_cart` (~90 tokens)

Get the shopping cart — lunches added but not yet paid for. Filter by order status and ordering period, or narrow to one student.

Input parameters:

- `orderStatus` (string): Status tab to show, e.g. from mhlb_get_cart_tabs.
- `period` (string): Ordering period value from mhlb_get_cart_tabs.
- `studentId` (integer): Limit to one student.

### `mhlb_get_cart_tabs` (~90 tokens)

Get the valid filter values for mhlb_get_cart — the ordering periods (semesters) and status tabs, with which one is selected by default. Call this before filtering the cart.

Input parameters:

- `period` (string): Ordering period to scope the tabs to.
- `studentId` (integer): Limit to one student.
- `tabName` (string): Status tab whose counts to compute.

### `mhlb_get_menu` (~79 tokens)

Get the orderable menu for one student on one date — the vendor, items, sizes, add-ons, prices and the ordering deadline. This is the read half of placing an order.

Input parameters:

- `date` (string, required): The lunch date (YYYY-MM-DD).
- `studentId` (integer, required): Student id from mhlb_list_students.

### `mhlb_get_order_form` (~86 tokens)

Get the blank order model for a student on a specific lunch event — the exact structure that mhlb_create_order expects back, pre-populated with the available items.

Input parameters:

- `eventId` (integer, required): Lunch event id, from mhlb_get_menu or mhlb_get_calendar.
- `studentId` (integer, required): Student id from mhlb_list_students.

### `mhlb_get_order` (~65 tokens)

Get an existing order in editable form — the model mhlb_update_order expects back.

Input parameters:

- `eventId` (integer): Lunch event id.
- `orderId` (integer): Order id, when you have one.
- `studentId` (integer): Student id.

### `mhlb_create_order` (~148 tokens)

Place a lunch order into the cart. Call mhlb_get_order_form first and send that model back with quantities set. This adds to the cart — it does not pay; use mhlb_checkout for that. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `order` (object, required): The order model, as returned by mhlb_get_order_form / mhlb_get_order, with quantities and options edited.

### `mhlb_update_order` (~133 tokens)

Change an existing lunch order. Call mhlb_get_order first and send that model back with your edits — the endpoint replaces the whole order. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `order` (object, required): The order model, as returned by mhlb_get_order_form / mhlb_get_order, with quantities and options edited.

### `mhlb_delete_order` (~219 tokens)

Cancel a lunch order. If it was already paid for, the refund behaviour is whatever My Hot Lunchbox applies — this tool does not control it. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `eventDate` (string, required): The lunch date of that order (YYYY-MM-DD).
- `isRepeated` (boolean): true acts on the whole recurring series, not just this date. Defaults to false.
- `isSubscribed` (boolean): Whether the order is a subscription. Defaults to false for mhlb_delete_order and true for mhlb_unsubscribe_order, matching what each is for.
- `orderId` (integer, required): Order id, from mhlb_get_calendar or mhlb_get_cart.
- `studentId` (integer, required): Student the order belongs to.

### `mhlb_list_transactions` (~60 tokens)

List payment transactions on the account — date, amount, and what was paid for.

Input parameters:

- `period` (string): Ordering period to scope to, from mhlb_get_cart_tabs.
- `studentId` (integer): Limit to one student.

### `mhlb_get_transaction` (~48 tokens)

Get the line-item detail of one transaction — which lunches it paid for.

Input parameters:

- `transactionId` (integer, required): Transaction id (the `id` field from mhlb_list_transactions).

### `mhlb_list_subscriptions` (~40 tokens)

List upcoming lunch subscriptions — the recurring orders that will be placed and charged automatically.

Input parameters:

- `period` (string): Ordering period to scope to.

### `mhlb_get_subscription_settings` (~29 tokens)

Get the account’s subscription configuration — whether recurring ordering is on, and its terms.

### `mhlb_set_subscription_enabled` (~112 tokens)

Turn recurring lunch subscriptions on or off for the account. Turning it ON means future lunches are ordered and charged automatically. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `enabled` (boolean, required): true to enable recurring subscriptions, false to disable.

### `mhlb_unsubscribe_order` (~200 tokens)

Stop a recurring subscription for a specific lunch order. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `eventDate` (string, required): The lunch date of that order (YYYY-MM-DD).
- `isRepeated` (boolean): true acts on the whole recurring series, not just this date. Defaults to false.
- `isSubscribed` (boolean): Whether the order is a subscription. Defaults to false for mhlb_delete_order and true for mhlb_unsubscribe_order, matching what each is for.
- `orderId` (integer, required): Order id, from mhlb_get_calendar or mhlb_get_cart.
- `studentId` (integer, required): Student the order belongs to.

### `mhlb_list_gift_cards` (~26 tokens)

List gift cards on the account — codes, balances and status.

### `mhlb_apply_gift_card` (~95 tokens)

Redeem a gift card code onto the account balance. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `code` (string, required): Gift card code.
- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.

### `mhlb_get_coupon` (~23 tokens)

Get the coupon currently applied to the account, if any.

### `mhlb_apply_coupon` (~89 tokens)

Apply a coupon code to the account. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `code` (string, required): Coupon code.
- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.

### `mhlb_remove_coupon` (~81 tokens)

Remove the coupon currently applied to the account. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.

### `mhlb_init_checkout` (~212 tokens)

Start checkout for the cart: returns the order summary, totals, taxes, applied credits and the available payment methods. This does NOT charge anything — it is the read step before mhlb_checkout. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `checkoutType`: Payment method type, as mhlb_init_checkout reports it. Omit to let the server default.
- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `couponCode` (string): Coupon code to apply to this checkout.
- `giftCardCode` (string): Gift card code to apply to this checkout.
- `orderIds` (array, required): Ids of the orders to pay for, from mhlb_get_cart.
- `schoolDonations`: School donation selections, as returned by mhlb_init_checkout.

### `mhlb_checkout` (~383 tokens)

PAY for the lunches in the cart. This charges a real payment method on the My Hot Lunchbox account. Run mhlb_init_checkout first, read the total it returns, and pass that figure as expectedTotal. Only a card ALREADY SAVED on the account can be used: paying with a new card needs a Stripe token minted by Stripe.js in a browser, which no server-side client can produce. NOTE: this write is UNVERIFIED — its request shape was derived from the web app’s compiled API client but has not been exercised against a live account. Inspect the dry-run preview before confirming.

Input parameters:

- `availableCredits` (number): Account credit to apply, as parent_credit_value from mhlb_whoami.
- `checkoutType`: Payment method type, as mhlb_init_checkout reports it. Omit to let the server default.
- `confirm` (boolean): Must be true to proceed. Without this, the tool returns a preview.
- `couponCode` (string): Coupon code to apply to this checkout.
- `expectedTotal` (number, required): The amount you expect to be charged, as mhlb_init_checkout reported it. The server prices the charge from orderIds, so no client-side check can bind the amount — this is recorded in the dry run and i…
- `giftCardCode` (string): Gift card code to apply to this checkout.
- `idempotencyKey` (string): Reuse the SAME key when retrying a checkout that may already have gone through — that is what stops a retry becoming a second charge. Generated automatically when omitted.
- `orderIds` (array, required): Ids of the orders to pay for, from mhlb_get_cart.
- `schoolDonations`: School donation selections, as returned by mhlb_init_checkout.

### `mhlb_print_calendar` (~156 tokens)

Generate the printable lunch calendar PDF for a date range. Writes the PDF to disk and returns its path (or the bytes inline with inline: true).

Input parameters:

- `endDate` (string, required): Last day to include (YYYY-MM-DD).
- `filename` (string): Output filename. Defaults to "Lunch Calendar.pdf".
- `inline` (boolean): Return the PDF as base64 in the result instead of writing it to a file. Default false.
- `startDate` (string, required): First day to include (YYYY-MM-DD).
- `studentIds` (array, required): Students to include — at least one, from mhlb_list_students. There is no "all students" default: an empty or omitted list makes the endpoint fail.

### `mhlb_print_orders` (~182 tokens)

Generate the printable order-details PDF for a single lunch date. Note this is one date, not a range, and studentIds is required — the endpoint fails if it is empty, or if no order matches the date and status you ask for. Get both from mhlb_get_calendar.

Input parameters:

- `date` (string, required): The lunch date to report on (YYYY-MM-DD).
- `filename` (string): Output filename. Defaults to "Orders Details <date>.pdf".
- `inline` (boolean): Return the PDF as base64 in the result instead of writing it to a file. Default false.
- `orderStatus`: Order status to report: 0 = Pending, 1 = Paid (default), 2 = Credited.
- `studentIds` (array, required): Students to include — at least one. An empty list makes the endpoint fail.

### `mhlb_print_transaction` (~127 tokens)

Generate the printable receipt PDF for one transaction. Pass the transaction object from mhlb_get_transaction — the endpoint renders that record, it does not look one up by id.

Input parameters:

- `filename` (string): Output filename. Defaults to "Transaction.pdf".
- `inline` (boolean): Return the PDF as base64 in the result instead of writing it to a file. Default false.
- `isCreditType` (boolean): Render as a credit rather than a payment. Default false.
- `transaction` (object, required): The transaction detail object, as returned by mhlb_get_transaction.

### `mhlb_healthcheck` (~114 tokens)

Verify credentials and upstream reachability

Resolves the credential the way real tools do, then makes one authenticated request to ordernow.myhotlunchbox.com. Reports which source supplied the credential, whether ordernow.myhotlunchbox.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a ordernow.myhotlunchbox.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/chrischall-myhotlunchbox-mcp/myhotlunchbox-mcp#diagnostics

## Score history

- 2026-09-21: 93
- 2026-09-20: 93
- 2026-09-19: 92
- 2026-09-18: 91
- 2026-09-17: 91
- 2026-09-16: 90
- 2026-09-15: 90
- 2026-09-14: 89
- 2026-09-13: 89
- 2026-09-12: 88
- 2026-09-11: 73
- 2026-09-10: 73
- 2026-09-09: 87
- 2026-09-08: 87
- 2026-09-07: 86
- 2026-09-06: 86
- 2026-09-05: 85
- 2026-09-04: 85
- 2026-09-03: 84
- 2026-09-02: 69
- 2026-09-01: 83
- 2026-08-31: 83
- 2026-08-30: 82
- 2026-08-29: 82
- 2026-08-28: 81
- 2026-08-27: 81
- 2026-08-26: 81
- 2026-08-25: 81
- 2026-08-24: 70

## Common questions

### What is the io.github.chrischall/myhotlunchbox-mcp server?

io.github.chrischall/myhotlunchbox-mcp is listed in the public MCP registry as io.github.chrischall/myhotlunchbox-mcp. My Hot Lunchbox school lunch ordering for Claude, calendar, cart, orders, payments. This page covers its npm package (myhotlunchbox-mcp).

### Is the io.github.chrischall/myhotlunchbox-mcp server safe to use?

io.github.chrischall/myhotlunchbox-mcp scores 93 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.chrischall/myhotlunchbox-mcp server expose?

io.github.chrischall/myhotlunchbox-mcp exposes 35 tools: mhlb_whoami, mhlb_session_reset, mhlb_list_students, mhlb_get_student_form, mhlb_new_student_form, and 30 more. Their descriptions and schemas cost roughly 3,680 tokens of context every time the server is loaded.

### Is the io.github.chrischall/myhotlunchbox-mcp server still maintained?

io.github.chrischall/myhotlunchbox-mcp is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.chrischall/myhotlunchbox-mcp server under?

io.github.chrischall/myhotlunchbox-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/myhotlunchbox-mcp
- Socket report: https://socket.dev/npm/package/myhotlunchbox-mcp
- Repository: https://github.com/chrischall/myhotlunchbox-mcp
- Changelog RSS feed: https://verifymcp.io/servers/chrischall-myhotlunchbox-mcp/myhotlunchbox-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/chrischall-myhotlunchbox-mcp/myhotlunchbox-mcp.json
- HTML version of this page: https://verifymcp.io/servers/chrischall-myhotlunchbox-mcp/myhotlunchbox-mcp
