Skip to main content
Glama
Smartoire

Paxaver MCP Server

Official

Update Restaurant Menu Item (Admin)

update_restaurant_menu_item
Idempotent

Update selected fields of an existing restaurant menu item: change name, description, price, calories, ingredients, or retire it while leaving other details unchanged.

Instructions

ADMIN: Partially updates an existing menu item - only the provided fields change; omitted fields keep their current values. Use for renames, description edits, price changes (price_cents - FINANCIAL, confirm the new price), nutrition updates, or retiring an item (is_active=false). Day-level orderability is controlled by schedule_lunch_menu_item, not this tool. Use archive_restaurant_menu_item to remove the item permanently. Requires pac_cordinator or lunch_cordinator role. WRITE operation - confirm changes with the user. Get restaurant_id from list_school_restaurants and menu_item_id from list_restaurant_menu_items.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name for the item
caloriesNoCalorie count
is_activeNoWhether the item stays on the restaurant menu - set false to retire it
cost_centsNoKitchen cost in cents (internal margin tracking)
descriptionNoNew item description shown to parents
ingredientsNoIngredient list
price_centsNoSale price in cents (e.g. 550 = $5.50)
menu_item_idYesMenu item ID - from list_restaurant_menu_items
restaurant_idYesRestaurant ID - from list_school_restaurants

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoMenu item ID
nameNoItem name
isActiveNoWhether the item is on the restaurant menu
priceCentsNoSale price in cents
isAvailableNoWhether the item can currently be ordered

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.5.1

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds critical behavioral context: partial update semantics (only provided fields change), the need to confirm changes with the user, role requirements, and the distinction from related tools. No contradictions.

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 front-loaded with the core purpose and partial-update semantics, then flows through use cases, exclusions, role, and source IDs. Every sentence carries necessary information—no filler. It is compact given 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?

For a 9-parameter write operation with an output schema, the description covers purpose, usage, exclusions, role, and ID sourcing. Nothing essential for correct invocation is missing. The output schema handles return values, so description doesn't need to.

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 has 100% coverage with descriptive parameter comments, so baseline is 3. The description adds value beyond schema by highlighting price_cents as FINANCIAL (requiring confirmation) and is_active=false for retiring, and explains the partial-update behavior that affects all parameters. This pushes it above baseline.

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 ('partially updates'), a resource ('existing menu item'), and clearly distinguishes from siblings by naming schedule_lunch_menu_item and archive_restaurant_menu_item as alternatives for different operations. The use cases (renames, price changes, retiring) further clarify the tool's scope.

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?

Explicitly explains when to use this tool (partial updates for menu items) and when not to: day-level orderability goes to schedule_lunch_menu_item, permanent removal goes to archive_restaurant_menu_item. Also requires specific roles and confirms it's a WRITE operation, giving clear guidance on invocation context.

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