Skip to main content
Glama
Smartoire

Paxaver MCP Server

Official

create_menu_item

Add a new menu item to a restaurant using only a name and restaurant ID; set a price before the item can be ordered.

Instructions

ADMIN: Creates a new menu item on a restaurant. Only restaurant_id and name are required — set price_cents before the item can be meaningfully ordered. New items start active and available; use update_menu_item to change them later. Requires pac_cordinator or lunch_cordinator role. WRITE operation — confirm with the user. Get restaurant_id from list_school_restaurants.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesItem display name shown to parents
caloriesNoCalorie count
cost_centsNoKitchen cost in cents (internal margin tracking)
descriptionNoOptional item description
ingredientsNoIngredient list text
price_centsNoSale price in cents (e.g. 550 = $5.50)
restaurant_idYesRestaurant ID — from list_school_restaurants

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo
isActiveNo
priceCentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.4.3

TDQS

A4.7/5.0
Behavior5/5

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

With annotations only indicating readOnlyHint=false, the description goes well beyond by disclosing role restrictions, the need for user confirmation, default active/available status, and the caveat that price_cents needs to be set before meaningful ordering. 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?

The description is compact and front-loaded with the core purpose, followed by the most decision-relevant operational details. Every sentence contributes: required fields, price semantics, default state, update alternative, role, confirmation, and ID source.

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?

The tool has rich schema coverage and an output schema, so return formatting does not need to be explained. The description covers prerequisites, required roles, side effects, and source for a key parameter, making the tool fully invokable by an agent without additional research.

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 coverage is 100%, so the baseline is 3. The description adds extra meaning by clarifying that only restaurant_id and name are required and that price_cents has operational significance ('set price_cents before the item can be meaningfully ordered'). This adds value beyond the schema's field descriptions.

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?

Description clearly states the action: 'Creates a new menu item on a restaurant.' It also differentiates from the sibling update_menu_item by noting new items start active and available and that later changes should use update_menu_item. The scope is precise and unambiguous.

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

Usage Guidelines4/5

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

Provides strong usage context: ADMIN-only, role requirements, WRITE operation requiring user confirmation, and sourcing restaurant_id from list_school_restaurants. It also points to update_menu_item as the alternative for modifications. It doesn't explicitly state 'do not use this for updating existing items,' but the guidance is clear enough to route an agent correctly.

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