Skip to main content
Glama
Smartoire

Paxaver MCP Server

Official

List My Lunch Orders

list_my_lunch_orders
Read-only

Retrieve placed lunch orders for your students, filter by student or date, and see items, menu date, status, and total—newest first.

Instructions

Returns lunch orders already placed - items, menu date, status, and total - for the authenticated user's students, newest first (up to ~100 most recent). Filters combine with AND: student_id narrows to one student; menu_date and month narrow the date range, and if both are given menu_date wins. With no filters returns recent orders across all of the user's students. Admins (pac_cordinator, lunch_cordinator) see school-wide orders; parents only their own students. For what can be ordered (menu and prices), use get_lunch_menu.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
monthNoCalendar month to query, YYYY-MM; omit when using menu_date
menu_dateNoSingle day to query, YYYY-MM-DD; omit when using month
student_idNoFilter to a specific student (must be your own student, from get_my_context; admins may filter any student in the school)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
ordersNoOrders matching the filters

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.5.1

TDQS

A5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds non-obvious behavior beyond that: newest-first ordering, a ~100 record cap, filter precedence, and role-based visibility. Nothing contradicts the 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 information-dense with no filler. Each clause earns its place: return fields, ordering, limit, filter semantics, fallback behavior, role scoping, and the pointer to a sibling tool.

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 read-only listing tool with an output schema, the description covers all needed invocation context: what is returned, ordering, limits, filter combination and precedence, default behavior, role-based access, and which sibling to use for menus.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds meaning beyond the schema: filters combine with AND, menu_date wins if both menu_date and month are provided, and student_id has ownership/role constraints. These behaviors are not inferable from the schema alone.

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 opens with a specific verb and resource: 'Returns lunch orders already placed - items, menu date, status, and total - for the authenticated user's students.' It clearly distinguishes this read tool from sibling create/cancel/update/order tools and from get_lunch_menu.

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 filter combination behavior (AND), menu_date vs month precedence, the no-filter default, and admin vs parent scoping. It also points to get_lunch_menu when the goal is ordering-eligible items, giving a clear alternative.

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