Skip to main content
Glama

Order or cancel a meal

order_meal
DestructiveIdempotent

Select or cancel a student's canteen meal for a specific date by choosing from available menus before the deadline.

Instructions

Choose a menu for a student's canteen meal on date, or cancel it. meal is 'lunch' (default), 'breakfast', 'snack', ... as returned by get_meals; menu is one of that meal's choosable_menus (e.g. 'A', 'B') or 'cancel'. Only works before the canteen's deadline. Confirm the day and choice with the user first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYes
mealNolunch
menuYes
studentNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

The description supplements the annotations with useful behavioral facts: it can cancel a meal, is time-limited by the canteen deadline, and requires user confirmation. It does not contradict the annotations, though it could clarify the effect of re-ordering on an existing meal.

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 compact and front-loaded with the core behavior, followed by parameter guidance and safety constraints. Every sentence adds value, with no redundant filler.

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

Completeness3/5

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

The description is adequate for a basic self-service order: it covers the operation, parameter sources, deadline, and confirmation. However, it leaves out `student` parameter semantics and date format, which are meaningful gaps for correctly invoking the tool in multi-student scenarios.

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

Parameters3/5

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

With 0% schema description coverage, the description carries the parameter-documentation burden. It explains `date`, `meal`, and `menu` well, including defaults and allowed sources, but it never describes the `student` parameter or its null/string semantics.

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 action ('Choose a menu for a student's canteen meal on `date`, or cancel it') with a clear resource and scope. It also differentiates the tool from siblings like `get_meals` by emphasizing the order-or-cancel mutation.

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?

The description gives explicit usage context: it works only before the canteen deadline, and the agent must confirm the day and choice with the user first. It also tells the agent where valid values come from (`get_meals`), which is strong guidance.

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