このMCPでできること
Manages school events, volunteer shifts, lunch menus and orders, restaurant catalogs, student-family contexts, and school wallet payments.
ツール
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Menu item ID'}, 'deleted': {'type': 'boolean', 'description': 'Whether the item was soft-deleted'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Cancelled ticket ID'}, 'status': {'type': 'string', 'description': 'Ticket status (cancelled)'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Cancelled signup ID'}, 'status': {'type': 'string', 'description': 'Signup status (cancelled)'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Event ID'}, 'status': {'type': 'string', 'description': 'Event status (cancelled)'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Restaurant ID'}, 'name': {'type': 'string', 'description': 'Restaurant name'}, 'isActive': {'type': 'boolean', 'description': 'Whether the restaurant is active'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'status': {'type': 'string', 'description': 'Order status (discarded)'}, 'orderId': {'type': 'string', 'description': 'Discarded draft order ID'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'tickets': {'type': 'array', 'description': "Caller's event tickets at the active school"}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'signups': {'type': 'array', 'description': "Caller's active volunteer signups"}}}
入力スキーマ
{'type': 'object', 'required': ['restaurant_id'], 'properties': {'restaurant_id': {'type': 'string', 'description': 'Restaurant ID - from list_school_restaurants'}}, 'additionalProperties': False}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'properties': {'school_slug': {'type': 'string', 'description': 'School slug (defaults to active school)'}}, 'additionalProperties': False}
出力スキーマ
{'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)'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Signup ID'}, 'status': {'type': 'string', 'description': 'Signup status'}, 'shiftId': {'type': 'string', 'description': 'Volunteer shift signed up for'}}}
入力スキーマ
{'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}
出力スキーマ
{'type': 'object', 'properties': {'status': {'type': 'string', 'description': 'Order status (draft)'}, 'orderId': {'type': 'string', 'description': 'Updated draft order ID'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
入力スキーマ
{'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}
出力スキーマ
{'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'}}}
最近のツール変更
類似のMCPサーバー
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.