Skip to main content
Glama

Build a weekly menu

weekly_menu
Read-only

Build a menu of up to 7 dinners, either one cuisine per day ("world") or all from one country. Honours diet exclusions (pork, beef, meat, fish, dairy, egg, alcohol), vegetarian/vegan/pescatarian requirements, a prep-time ceiling and a budget mode that reuses ingredients. When a constraint cannot be met it is relaxed and the relaxation is reported, never hidden.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoHow many days to plan, 1-7.
langNoLanguage for titles, ingredient names and URLs.en
modeNo"world" = a different cuisine each day; "single" = one country.world
seedNoSame seed + same options = same menu.
budgetNoFavour weeks that reuse ingredients across days.
countryNoRequired when mode is "single".
excludeNoIngredient attributes to avoid entirely: pork, beef, meat, fish, dairy, egg, alcohol.
requireNoDiet every dish must satisfy. This is a WHITELIST and differs from `exclude`, which only removes single ingredient attributes: "vegan" is not the same as excluding meat.
time_limitNoMax prep time in minutes; closed set (30/45/60). The generator relaxes it automatically if too few cuisines qualify, and reports that in relaxations.
include_extrasNoAdd 2 desserts and 2 drinks (never alcoholic).
exclude_countriesNoCuisines to keep out of the plan, ISO 3166-1 alpha-2. Only meaningful when mode is "world"; excluding too many leaves the generator with too few cuisines to fill the week.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysYes
notesYes
statsYes
drinksYes
dessertsYes
attributionYes
relaxationsYes
shopping_listYes
pantry_assumedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / days / description
      Added value: +"How many days to plan, 1-7."
    • addedInput schema / properties / exclude_countries / description
      Added value: +"Cuisines to keep out of the plan, ISO 3166-1 alpha-2. Only meaningful when mode is \"world\"; excluding too many leaves the generator with too few cuisines to fill the week."
    • addedInput schema / properties / require / description
      Added value: +"Diet every dish must satisfy. This is a WHITELIST and differs from `exclude`, which only removes single ingredient attributes: \"vegan\" is not the same as excluding meat."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the readOnlyHint annotation, the description adds valuable behavioral context: it states that constraint relaxation is always reported and never hidden, and explains budget mode reuses ingredients. There is no contradiction with annotations.

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?

Three sentences with zero filler: first sentence states the core purpose and modes, second summarizes constraints, third guarantees transparency about relaxations. The most important information is front-loaded.

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

Completeness4/5

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

For an 11-parameter tool with an output schema, the description provides a sufficient high-level model—modes, key constraints, and relaxation behavior. It does not mention language, seed, include_extras, or exclude_countries, but those are fully documented in the schema, so this is not a material gap.

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 description coverage is 100%, so the baseline is 3. The description adds integrative meaning by explaining how diet exclusions, prep-time ceiling, and budget mode combine, clarifying the semantics of exclude, require, time_limit, and budget parameters. It does not enumerate each parameter, but the schema already covers that.

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 states a specific verb and resource: 'Build a menu of up to 7 dinners', with explicit modes ('world' or 'single'). This clearly differentiates it from dish-level siblings like search_dishes and get_recipe, which operate on individual dishes rather than a weekly plan.

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

Usage Guidelines3/5

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

Usage is implied by the description—this tool builds menus—but there is no explicit when-to-use or when-not-to-use guidance, nor any reference to alternative sibling tools. An agent must infer that a weekly menu request maps to this tool, which is reasonable but not explicitly guided.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources