lemonade-bench
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LEMONADE_GAME_DIR | Yes | Absolute path to the dedicated game copy. | |
| LEMONADE_WINE_BIN | Yes | Wine binary to use (e.g., 'wine'). | |
| LEMONADE_WINE_PREFIX | Yes | Absolute path to the dedicated Wine prefix. | |
| LEMONADE_ALLOW_SAVE_RESET | Yes | Set to 'true' to allow save reset for benchmark scenarios. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lemonade_observeA | Observe the current player-visible game state as semantic text, including approximate UI bars rather than hidden ratings. |
| lemonade_get_day_weatherA | Return the displayed calendar, weather range and icons, daily event, and current location. |
| lemonade_get_game_rulesA | Return only rules stated by the visible help text or exposed by the setup controls. |
| lemonade_get_location_catalogA | Browse every location as a player can: name, description, rent, and approximate popularity/satisfaction bars. |
| lemonade_get_day_resultsA | Return the visible report for the most recently completed day, including P&L, satisfaction, missed sales and displayed feedback. |
| lemonade_get_month_historyA | Return the completed-day values available from the current month's Results views: sales, revenue, visitors and earnings. |
| lemonade_get_business_reportA | Return the player-visible balance sheet, inventory, approximate location bars, staff, upgrades and month-to-date P&L. |
| lemonade_get_upgrade_catalogA | Browse all upgrades as displayed: names, card descriptions, prices and ownership state. |
| lemonade_buy_upgradeB | Buy a named permanent stand upgrade. |
| lemonade_get_staff_catalogA | Browse available staff as displayed: names, card descriptions, daily costs and hired state. |
| lemonade_set_staffB | Hire or fire one staff member for subsequent days. |
| lemonade_select_locationA | Move the lemonade stand to a named location for the next day. |
| lemonade_set_recipeA | Set the exact lemons, cups of sugar, and ice cubes used per pitcher before starting the day. |
| lemonade_set_priceA | Set the selling price per cup, in cents and in 10-cent increments. |
| lemonade_set_advertisingA | Set the advertising budget for the next day, in whole-dollar increments. |
| lemonade_buy_suppliesB | Buy one of three fixed package sizes. The response reports whether the purchase was applied and includes the updated state. |
| lemonade_buy_supply_basketA | Buy several visible supply packages in one ordered basket. Each line reports how many packs were applied; later lines may still succeed after an earlier rejection. |
| lemonade_get_supply_catalogA | Return the displayed units and cost of every supply package. |
| lemonade_start_dayB | Start the configured day. If supplies are insufficient, returns a structured game_rejected_action error. |
| lemonade_run_dayA | Atomically start and skip the configured day, capture its visible results, and return the next decision state. expected_career_day prevents accidental duplicate execution after a timeout. |
| lemonade_wait_for_day_endB | Advance a running day and return the next decision state. Use skip for benchmarks, fast or realtime for visible observation. |
| lemonade_read_notebookA | Read your private persistent player notebook. It contains only notes you previously chose to write and survives context compaction and runner restarts. |
| lemonade_update_notebookA | Replace your persistent player notebook with a concise set of hypotheses, experiments, and facts you want to remember. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Each tool has a clear, distinct purpose covering a specific aspect of the game (observation, configuration, day execution, results, memory). Even the multiple get_* tools are differentiated by their target (weather, locations, day results, month history, business report, catalogs). No two tools overlap in function.
All tools follow a consistent snake_case verb_noun pattern (e.g., get_day_weather, set_recipe, buy_supplies). The lemonade_ prefix unifies the set, and the verbs (get, set, buy, start, run, wait, read, update) clearly indicate the action. Minor deviation like lemonade_observe is still in the same style and understandable.
23 tools is slightly above the ideal 3-15 range, but the lemonade stand simulation has many subsystems (weather, locations, staff, upgrades, recipe, price, advertising, supplies, day management, results, notebook). Each tool addresses a unique aspect, so the count is justified for the game's complexity.
The tool set fully covers the lifecycle: configuration (set_recipe, set_price, set_advertising, select_location), preparation (buy_supplies, buy_supply_basket, buy_upgrade, set_staff), execution (start_day, run_day, wait_for_day_end), and review (get_day_results, get_month_history, get_business_report). The notebook tools provide memory persistence, and no obvious operational gaps exist.