
paxaver-mcp
MCP adapter for the Paxaver school community platform.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
MCP adapter for the Paxaver school community platform. Streamable HTTP, OAuth 2.1, capability auth.
Server tool list (21)
Raw names from tools/list. Only developers need these.
| get_user_info | Returns the authenticated user's context: first name, active school, the students they are a guardian for, and their roles. Call this when you need a student_id, school_slug, or to check whether the user holds an admin role - most other tools take those IDs as input. |
| get_wallet_balance | Returns the spendable wallet balance for the authenticated user at their active school, in cents and formatted. Call before order_lunch, finalize_order, or register_event to confirm the user can cover the charge; not needed for read-only lookups. |
| order_lunch | Places and pays for a single-item lunch order for one student - the wallet is charged immediately. For a multi-item order or an order the user should review before paying, use create_draft_order then finalize_order instead. Requires menu_item_id from get_menu and menu_date; student_id defaults to the user's first student. FINANCIAL - confirm student, item, date, and quantity before calling. |
| get_orders | Returns lunch orders already placed - items, menu date, status, and total - for the authenticated user's students. Filter by student_id, a single menu_date, or a month; with no filters returns recent orders. Admins (pac_cordinator, lunch_cordinator) see school-wide orders; parents only their own students. For what can be ordered (menu and prices), use get_menu. |
| get_menu | Returns the orderable lunch menu for the user's active school - item names, prices, dietary tags, and remaining quantity - for one date or a full month (today if neither is given). The menu_item_id values returned are required by order_lunch and create_draft_order. For orders already placed, use get_orders. |
| create_draft_order | Creates an unpaid draft lunch order with one or more items - nothing is charged until finalize_order commits it. Use for multi-item orders or when the user should review the total first; for a single item paid immediately, order_lunch is simpler. FINANCIAL - confirm student, items, and date before calling. |
| finalize_order | Commits a draft order from create_draft_order and charges the wallet for the item total plus optional tip_cents (donated to the school's PAC). Not for new orders - use order_lunch or create_draft_order first. FINANCIAL - confirm the total before calling. |
| cancel_order | Cancels a finalized order and refunds the charge to the wallet. Only works before order labels have been sent; after that the request is rejected and the order stands. DESTRUCTIVE - confirm with the user before cancelling. |
| get_upcoming_events | Returns upcoming events for the user's active school: date, times, location, and whether registration is closed. The event IDs returned feed register_event, update_event, and cancel_event. Optionally filter by date range. |
| create_event | ADMIN: Creates a school event, optionally ticketed, at the active school. To change an existing event use update_event; to register a parent for an event use register_event. Requires pac_cordinator or event_cordinator role. WRITE - only create on explicit user request. |
| update_event | ADMIN: Partially updates an existing school event - only the provided fields change; omitted fields keep their current values. Use for reschedules, capacity or price changes, and status transitions (cancelled/completed). Prefer cancel_event to cancel outright. Requires pac_cordinator or event_cordinator role. WRITE operation - confirm changes with the user. Get event_id from get_upcoming_events. |
| cancel_event | ADMIN: Cancels a school event outright; cancelled events cannot be reactivated. For schedule, capacity, or price changes use update_event instead. Requires pac_cordinator or event_cordinator role. DESTRUCTIVE - confirm with the user. Get event_id from get_upcoming_events. |
| register_event | Registers the authenticated user for a school event and issues tickets. For paid events the total is charged to the user's wallet - the call fails on insufficient balance. quantity defaults to 1. To volunteer at an event rather than attend, use sign_up_to_volunteer. FINANCIAL for paid events - confirm before registering. |
| sign_up_to_volunteer | Signs the authenticated user up for a specific volunteer shift - no payment involved. To attend an event as a guest instead, use register_event. Requires shift_id (from the event's volunteer shifts). WRITE - confirm with the user before signing up. |
| list_school_restaurants | ADMIN: Lists the restaurants attached to a school (defaults to the active school), including inactive ones. The restaurant_id values returned are required by list_menu_items, create_menu_item, update_menu_item, delete_menu_item, and set_daily_menu. Requires pac_cordinator, pac_member, or lunch_cordinator role. |
| create_restaurant | ADMIN: Adds a restaurant to the active school so it can offer menu items via create_menu_item. To change an existing restaurant there is no update tool - recreate or manage it in the Paxaver admin. Requires pac_cordinator role. WRITE - confirm with the user. |
| list_menu_items | ADMIN: Lists the full menu-item catalog for a restaurant, including inactive and unavailable items - this is the catalog, not what parents can order on a date (use get_menu for that). Provides menu_item_id values for update_menu_item, delete_menu_item, and set_daily_menu. Requires pac_cordinator or lunch_cordinator role. Get restaurant_id from list_school_restaurants. |
| create_menu_item | 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. |
| update_menu_item | 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 toggling availability (is_available for out-of-stock, is_active to retire an item). Use delete_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_menu_items. |
| delete_menu_item | ADMIN: Soft-deletes a menu item so it can no longer be ordered. To only hide it temporarily, prefer update_menu_item with is_available=false. Requires pac_cordinator or lunch_cordinator role. DESTRUCTIVE operation - confirm with the user. Get restaurant_id from list_school_restaurants and menu_item_id from list_menu_items. |
| set_daily_menu | ADMIN: Puts a restaurant menu item on the orderable menu for a given date, optionally capping portions. This only schedules the item - to retire it entirely use update_menu_item (is_active) or delete_menu_item. Requires pac_cordinator or lunch_cordinator role. WRITE - confirm with the user. Get IDs from list_school_restaurants and list_menu_items. |