paxaver-mcp
What this MCP does
Manages school events, volunteer shifts, lunch menus and orders, restaurant catalogs, student-family contexts, and school wallet payments.
Tools
Input schema
{'type': 'object', 'required': ['restaurant_id', 'menu_item_id'], 'properties': {'menu_item_id': {'type': 'string', 'description': 'Menu item ID - from list_restaurant_menu_items'}, 'restaurant_id': {'type': 'string', 'description': 'Restaurant ID - from list_school_restaurants'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Menu item ID'}, 'deleted': {'type': 'boolean', 'description': 'Whether the item was soft-deleted'}}}
Input schema
{'type': 'object', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'string', 'description': 'Ticket ID from list_my_event_registrations - must belong to the caller and still be cancellable'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Cancelled ticket ID'}, 'status': {'type': 'string', 'description': 'Ticket status (cancelled)'}}}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'ID of a finalized order - from list_my_lunch_orders; the order must still be finalized and not yet have labels sent'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Order ID'}, 'status': {'type': 'string', 'description': 'Order status (cancelled)'}, 'refundCents': {'type': 'integer', 'description': 'Amount refunded to the wallet, in cents'}, 'balanceCents': {'type': ['number', 'null'], 'description': 'Wallet balance after the refund, in cents'}}}
Input schema
{'type': 'object', 'required': ['signup_id'], 'properties': {'signup_id': {'type': 'string', 'description': 'Signup ID from list_my_volunteer_signups - must belong to the caller and still be active'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Cancelled signup ID'}, 'status': {'type': 'string', 'description': 'Signup status (cancelled)'}}}
Input schema
{'type': 'object', 'required': ['event_id'], 'properties': {'event_id': {'type': 'string', 'description': 'Event ID - from list_school_events; cancelling is permanent and cannot be undone'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Event ID'}, 'status': {'type': 'string', 'description': 'Event status (cancelled)'}}}
Input schema
{'type': 'object', 'required': ['menu_date', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['menu_item_id', 'menu_item_name', 'price_cents', 'quantity'], 'properties': {'quantity': {'type': 'integer', 'minimum': 1, 'description': 'Number of servings'}, 'price_cents': {'type': 'integer', 'description': 'Unit price in cents from get_lunch_menu'}, 'menu_item_id': {'type': 'string', 'description': 'Menu item ID from get_lunch_menu'}, 'menu_item_name': {'type': 'string', 'description': 'Item display name from get_lunch_menu'}}}, 'description': 'Line items to order; get IDs and prices from get_lunch_menu'}, 'menu_date': {'type': 'string', 'description': 'Date the lunch is served, YYYY-MM-DD'}, 'student_id': {'type': 'string', 'description': 'Student ID (must be your own student; from get_my_context); required when the user has more than one student, defaults to their only student'}, 'school_slug': {'type': 'string', 'description': 'School slug (from get_my_context); defaults to the active school'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Draft order ID - pass to pay_lunch_order_draft'}, 'items': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Draft line items'}, 'status': {'type': 'string', 'description': 'Order status (draft)'}, 'menuDate': {'type': 'string', 'description': 'Date the lunch is served, YYYY-MM-DD'}, 'studentId': {'type': 'string', 'description': 'Student the order is for'}, 'schoolSlug': {'type': 'string', 'description': 'School the order was placed at'}, 'itemTotalCents': {'type': 'integer', 'description': 'Item total in cents - charged on finalize'}}}
Input schema
{'type': 'object', 'required': ['restaurant_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Item display name shown to parents'}, 'calories': {'type': 'integer', 'description': 'Calorie count'}, 'cost_cents': {'type': 'integer', 'description': 'Kitchen cost in cents (internal margin tracking)'}, 'description': {'type': 'string', 'description': 'Optional item description'}, 'ingredients': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Ingredient list'}, 'price_cents': {'type': 'integer', 'description': 'Sale price in cents (e.g. 550 = $5.50)'}, 'restaurant_id': {'type': 'string', 'description': 'Restaurant ID - from list_school_restaurants'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Menu item ID'}, 'name': {'type': 'string', 'description': 'Item name'}, 'isActive': {'type': 'boolean', 'description': 'Whether the item is on the restaurant menu'}, 'priceCents': {'type': 'integer', 'description': 'Sale price in cents'}}}
Input schema
{'type': 'object', 'required': ['name', 'event_date'], 'properties': {'name': {'type': 'string', 'description': 'Event name shown to parents'}, 'ends_at': {'type': 'string', 'description': 'End time (e.g. 20:00)'}, 'location': {'type': 'string', 'description': 'Event location (e.g. Gymnasium)'}, 'starts_at': {'type': 'string', 'description': 'Start time (e.g. 18:30)'}, 'event_date': {'type': 'string', 'description': 'Event date, YYYY-MM-DD'}, 'description': {'type': 'string', 'description': 'Optional event description'}, 'school_slug': {'type': 'string', 'description': 'School slug (defaults to active school)'}, 'max_capacity': {'type': 'integer', 'description': 'Maximum attendees/tickets; omit for unlimited'}, 'ticket_price_cents': {'type': 'integer', 'description': 'Ticket price in cents (0 = free)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Event ID'}, 'name': {'type': 'string', 'description': 'Event name'}, 'status': {'type': 'string', 'description': 'Event status (e.g. active)'}, 'eventDate': {'type': 'string', 'description': 'Event date, YYYY-MM-DD'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Restaurant display name'}, 'description': {'type': 'string', 'description': 'Optional restaurant description'}, 'school_slug': {'type': 'string', 'description': 'School slug - defaults to the active school'}, 'tax_percent': {'type': 'number', 'description': 'Sales tax percentage applied to orders (e.g. 5 for 5%)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Restaurant ID'}, 'name': {'type': 'string', 'description': 'Restaurant name'}, 'isActive': {'type': 'boolean', 'description': 'Whether the restaurant is active'}}}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Draft order ID from create_lunch_order_draft - must still be in draft status'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'status': {'type': 'string', 'description': 'Order status (discarded)'}, 'orderId': {'type': 'string', 'description': 'Discarded draft order ID'}}}
Input schema
{'type': 'object', 'properties': {'date': {'type': 'string', 'description': 'Single day to show, YYYY-MM-DD; omit when using month'}, 'month': {'type': 'string', 'description': 'Calendar month to show, YYYY-MM; omit when using date. Today is used when neither is given'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'date': {'type': 'string', 'description': 'Date this menu applies to, YYYY-MM-DD'}, 'menuItems': {'type': 'array', 'items': {'type': 'object', 'properties': {'menuItemId': {'type': 'string', 'description': 'Menu item ID for ordering tools'}, 'priceCents': {'type': 'integer', 'description': 'Sale price in cents'}, 'dailyMenuId': {'type': 'string', 'description': 'Daily-menu entry ID'}, 'dietaryTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dietary labels (e.g. vegetarian, halal)'}, 'availableQty': {'type': ['integer', 'null'], 'description': 'Remaining portions; null means unlimited'}, 'menuItemName': {'type': 'string', 'description': 'Item display name'}, 'restaurantName': {'type': ['string', 'null'], 'description': 'Restaurant offering the item'}}}, 'description': 'Items orderable on that date'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'roles': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Role codes the user holds at the active school'}, 'students': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Students the user is guardian for (id, firstName, schoolSlug)'}, 'firstName': {'type': ['string', 'null'], 'description': 'User first name'}, 'schoolName': {'type': ['string', 'null'], 'description': 'Active school display name'}, 'schoolSlug': {'type': ['string', 'null'], 'description': 'Active school slug'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'currency': {'type': ['string', 'null'], 'description': 'ISO currency code (CAD, USD, or MXN)'}, 'balanceCents': {'type': ['number', 'null'], 'description': 'Spendable balance in cents'}, 'balanceFormatted': {'type': ['string', 'null'], 'description': 'Balance formatted with the currency symbol'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'tickets': {'type': 'array', 'description': "Caller's event tickets at the active school"}}}
Input schema
{'type': 'object', 'properties': {'month': {'type': 'string', 'description': 'Calendar month to query, YYYY-MM; omit when using menu_date'}, 'menu_date': {'type': 'string', 'description': 'Single day to query, YYYY-MM-DD; omit when using month'}, 'student_id': {'type': 'string', 'description': 'Filter to a specific student (must be your own student, from get_my_context; admins may filter any student in the school)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'orders': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Order ID'}, 'items': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Ordered line items'}, 'status': {'type': 'string', 'description': 'Order status'}, 'menuDate': {'type': 'string', 'description': 'Date the lunch is served, YYYY-MM-DD'}, 'createdAt': {'type': 'string', 'description': 'ISO timestamp the order was placed'}, 'studentId': {'type': 'string', 'description': 'Student the order is for'}, 'itemTotalCents': {'type': 'integer', 'description': 'Item total in cents'}}}, 'description': 'Orders matching the filters'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'signups': {'type': 'array', 'description': "Caller's active volunteer signups"}}}
Input schema
{'type': 'object', 'required': ['restaurant_id'], 'properties': {'restaurant_id': {'type': 'string', 'description': 'Restaurant ID - from list_school_restaurants'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Menu item ID'}, 'name': {'type': 'string', 'description': 'Item name'}, 'calories': {'type': ['integer', 'null'], 'description': 'Calorie count'}, 'isActive': {'type': 'boolean', 'description': 'Whether the item is on the restaurant menu'}, 'costCents': {'type': ['integer', 'null'], 'description': 'Kitchen cost in cents'}, 'priceCents': {'type': 'integer', 'description': 'Sale price in cents'}, 'description': {'type': ['string', 'null'], 'description': 'Item description'}, 'ingredients': {'type': ['string', 'null'], 'description': 'Ingredient list text'}, 'isAvailable': {'type': 'boolean', 'description': 'Whether the item can currently be ordered'}}}, 'description': 'Full catalog items, including inactive and unavailable'}}}
Input schema
{'type': 'object', 'properties': {'end_date': {'type': 'string', 'description': 'Last day of the range, YYYY-MM-DD (inclusive); omit for all upcoming events'}, 'start_date': {'type': 'string', 'description': 'First day of the range, YYYY-MM-DD (inclusive); omit for all upcoming events'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'events': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Event ID - input to register_for_event, update_school_event, cancel_school_event'}, 'name': {'type': 'string', 'description': 'Event name'}, 'endsAt': {'type': ['string', 'null'], 'description': 'End time'}, 'isClosed': {'type': 'boolean', 'description': 'Whether registration is closed'}, 'location': {'type': ['string', 'null'], 'description': 'Event location'}, 'startsAt': {'type': ['string', 'null'], 'description': 'Start time'}, 'eventDate': {'type': 'string', 'description': 'Event date, YYYY-MM-DD'}}}, 'description': 'Upcoming events matching the date range'}}}
Input schema
{'type': 'object', 'properties': {'school_slug': {'type': 'string', 'description': 'School slug (defaults to active school)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'restaurants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Restaurant ID - input to menu-item and daily-menu tools'}, 'name': {'type': 'string', 'description': 'Restaurant name'}, 'logoUrl': {'type': ['string', 'null'], 'description': 'Restaurant logo URL'}, 'isActive': {'type': 'boolean', 'description': 'Whether the restaurant is active'}, 'description': {'type': ['string', 'null'], 'description': 'Restaurant description'}}}, 'description': 'Active restaurants attached to the school (inactive ones are excluded)'}}}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Draft order ID from create_lunch_order_draft - must still be in draft status; already-finalized orders are rejected'}, 'tip_cents': {'type': 'integer', 'default': 0, 'description': 'Tip in cents (donated to school PAC)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'status': {'type': 'string', 'description': "'finalized' when the wallet covered the full total"}, 'orderId': {'type': 'string', 'description': 'Order ID'}, 'tipCents': {'type': 'integer', 'description': 'PAC donation added, in cents'}, 'itemTotalCents': {'type': 'integer', 'description': 'Item total in cents'}}}
Input schema
{'type': 'object', 'required': ['event_id'], 'properties': {'event_id': {'type': 'string', 'description': 'Event ID from list_school_events - registration must still be open (check the closed flag)'}, 'quantity': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Number of tickets'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Registration ID'}, 'status': {'type': 'string', 'description': 'Registration status'}, 'eventId': {'type': 'string', 'description': 'Event the user registered for'}, 'quantity': {'type': 'integer', 'description': 'Tickets issued'}}}
Input schema
{'type': 'object', 'required': ['restaurant_id', 'menu_item_id', 'menu_date'], 'properties': {'menu_date': {'type': 'string', 'description': 'Date the item is orderable, YYYY-MM-DD'}, 'menu_item_id': {'type': 'string', 'description': 'Menu item ID - from list_restaurant_menu_items'}, 'available_qty': {'type': 'integer', 'description': 'Maximum portions for the day; omit for unlimited'}, 'restaurant_id': {'type': 'string', 'description': 'Restaurant ID - from list_school_restaurants'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Daily-menu entry ID'}, 'menuDate': {'type': 'string', 'description': 'Date the item is orderable, YYYY-MM-DD'}, 'menuItemId': {'type': 'string', 'description': 'Menu item scheduled'}, 'availableQty': {'type': ['integer', 'null'], 'description': 'Portion cap for the day; null means unlimited'}}}
Input schema
{'type': 'object', 'required': ['shift_id'], 'properties': {'shift_id': {'type': 'string', 'description': "Volunteer shift ID - from the event's volunteer shifts (list_school_events)"}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Signup ID'}, 'status': {'type': 'string', 'description': 'Signup status'}, 'shiftId': {'type': 'string', 'description': 'Volunteer shift signed up for'}}}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'items': {'type': 'array', 'description': 'Replacement line items (menu_item_id from get_lunch_menu + quantity); replaces all existing items when provided'}, 'order_id': {'type': 'string', 'description': 'Draft order ID from create_lunch_order_draft - must still be in draft status'}, 'menu_date': {'type': 'string', 'description': 'New date the lunch is served, YYYY-MM-DD'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'status': {'type': 'string', 'description': 'Order status (draft)'}, 'orderId': {'type': 'string', 'description': 'Updated draft order ID'}}}
Input schema
{'type': 'object', 'required': ['restaurant_id', 'menu_item_id'], 'properties': {'name': {'type': 'string', 'description': 'New display name for the item'}, 'calories': {'type': 'integer', 'description': 'Calorie count'}, 'is_active': {'type': 'boolean', 'description': 'Whether the item stays on the restaurant menu - set false to retire it'}, 'cost_cents': {'type': 'integer', 'description': 'Kitchen cost in cents (internal margin tracking)'}, 'description': {'type': 'string', 'description': 'New item description shown to parents'}, 'ingredients': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Ingredient list'}, 'price_cents': {'type': 'integer', 'description': 'Sale price in cents (e.g. 550 = $5.50)'}, 'menu_item_id': {'type': 'string', 'description': 'Menu item ID - from list_restaurant_menu_items'}, 'restaurant_id': {'type': 'string', 'description': 'Restaurant ID - from list_school_restaurants'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Menu item ID'}, 'name': {'type': 'string', 'description': 'Item name'}, 'isActive': {'type': 'boolean', 'description': 'Whether the item is on the restaurant menu'}, 'priceCents': {'type': 'integer', 'description': 'Sale price in cents'}, 'isAvailable': {'type': 'boolean', 'description': 'Whether the item can currently be ordered'}}}
Input schema
{'type': 'object', 'required': ['event_id'], 'properties': {'name': {'type': 'string', 'description': 'New event name'}, 'status': {'enum': ['active', 'cancelled', 'completed'], 'type': 'string', 'description': 'Event status - cancelled stops sales, completed closes the event'}, 'ends_at': {'type': 'string', 'description': 'End time (e.g. 20:00)'}, 'event_id': {'type': 'string', 'description': 'Event ID - from list_school_events'}, 'location': {'type': 'string', 'description': 'Event location (e.g. Gymnasium)'}, 'starts_at': {'type': 'string', 'description': 'Start time (e.g. 18:30)'}, 'event_date': {'type': 'string', 'description': 'Event date, YYYY-MM-DD'}, 'description': {'type': 'string', 'description': 'New event description shown to parents'}, 'max_capacity': {'type': 'integer', 'description': 'Maximum number of attendees/tickets'}, 'ticket_price_cents': {'type': 'integer', 'description': 'Ticket price in cents; 0 for free events'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Event ID'}, 'name': {'type': 'string', 'description': 'Event name'}, 'status': {'type': 'string', 'description': 'Event status after the update'}, 'eventDate': {'type': 'string', 'description': 'Event date, YYYY-MM-DD'}}}
Recent tool changes
Similar MCP servers
intelligence-gateway
Provides Algerian geography and telecom utilities, talent certification and recruitment tools, corporate training discovery, vide…
Hotmart
Manages Hotmart digital products, course memberships, students, sales, subscriptions, commissions, coupons, payment links, charge…
Gracie Barra Jiu-Jitsu
Provides directory capabilities for Jiu-Jitsu schools, classes, instructors, ranks, events, services, bookings, and purchases.
DOJO+
Provides directory access to martial arts schools, classes, instructors, ranks, events, services, bookings, and purchases.
Dog Leadership Academy
Provides dog behavior education content, assessments, program information, and Stripe enrollment checkout links.
Seamgrin
Provides clothing alteration information, tailor training applications, and opportunities for experienced tailors.
Prelude NZ — Instrument Rental
Searches musical instruments available for rental in New Zealand, provides rental pricing and FAQs, and finds music teachers.
Tantra Authority Catalog
Searches a catalog of tantra, sex, and consciousness digital courses, books, and readings and provides x402 purchase details.