Skip to main content
Glama
chrischall

myhotlunchbox-mcp

by chrischall

mhlb_checkout

Pay for school lunch orders in the cart using a saved card. Run init_checkout first, review the dry-run preview, then confirm to charge the expected total.

Instructions

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 Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoMust be true to proceed. Without this, the tool returns a preview.
orderIdsYesIds of the orders to pay for, from mhlb_get_cart.
couponCodeNoCoupon code to apply to this checkout.
checkoutTypeNoPayment method type, as mhlb_init_checkout reports it. Omit to let the server default.
giftCardCodeNoGift card code to apply to this checkout.
expectedTotalYesThe 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 in the result so an unexpected charge is at least attributable.
idempotencyKeyNoReuse 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.
schoolDonationsNoSchool donation selections, as returned by mhlb_init_checkout.
availableCreditsNoAccount credit to apply, as parent_credit_value from mhlb_whoami.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnly=false and openWorldHint=true. The description goes far beyond: it warns the write is UNVERIFIED, derived from compiled client, not exercised live. It explains the expectedTotal's role as attribution-only and the need to inspect dry-run before confirming. This is exemplary transparency for a risky write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one dense paragraph that front-loads the purpose, then gives prerequisite, limitation, and caution. No filler; every sentence carries necessary information. It's appropriately concise for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and a real-money write, the description covers all essential operational aspects: what it does, prerequisite, limitation, verification status, and confirmation workflow. The agent has enough to invoke it safely and correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all 9 parameters, so the baseline is 3. The description adds critical context for expectedTotal—that the server prices from orderIds, so this value is recorded for attribution, not for validation—which is beyond the schema. It also reinforces the init_checkout flow. This elevates it to a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'PAY for the lunches in the cart.' It clearly distinguishes this from siblings like mhlb_init_checkout by stating it charges a real payment method. No ambiguity about the operation's goal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs to run mhlb_init_checkout first, read the total, and pass it as expectedTotal. It also notes the hard limitation that only saved cards can be used, so agents know when this tool is not applicable. The dry-run preview instruction further guides when to confirm.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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