Pinoyshki Bakery
Qué hace este MCP
Lets users browse a bakery menu, validate pickup or catering orders, and obtain a checkout link after confirmation.
Herramientas
Esquema de entrada
{'type': 'object', 'properties': {'guests': {'type': 'integer', 'minimum': 1, 'description': 'Optional: how many people, to suggest a size.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['view', 'sizes'], 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'view': {'const': 'cake'}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'label': {'type': 'string'}, 'price': {'type': 'string'}, 'suggested': {'type': 'boolean'}, 'price_cents': {'type': 'integer'}}}}, 'title': {'type': 'string'}, 'photos': {'type': 'array', 'items': {'type': 'object', 'properties': {'photo': {'type': 'string'}, 'caption': {'type': 'string'}}}}, 'flavors': {'type': 'array', 'items': {'type': 'string'}}, 'not_offered': {'type': 'array', 'items': {'type': 'string'}}, 'allowed_dates': {'type': 'array', 'items': {'type': 'string'}}, 'earliest_date': {'type': ['string', 'null']}}}
Esquema de entrada
{'type': 'object', 'required': ['items'], 'properties': {'zip': {'type': 'string', 'description': 'Delivery ZIP code (delivery is within 15 miles).'}, 'date': {'type': 'string', 'description': "The date as YYYY-MM-DD ('today' also works). Work it out from the customer's words using today's date in Seattle (Pacific time). If their words could mean two dates, like 'next Friday' said earlier in the same week, ask them which before calling. Needed for catering and for a Toast pickup on a later day."}, 'time': {'type': 'string', 'description': "12-hour time like '1:00 pm'. Needed for catering and for a Toast pickup on a later day."}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'quantity'], 'properties': {'cake': {'type': 'object', 'properties': {'card': {'type': 'boolean', 'description': 'A card to go with the cake.'}, 'size': {'type': 'string', 'description': "A size from cake_options, like '10-15'."}, 'design': {'type': 'string', 'description': 'The design concept the customer agreed to.'}, 'flavor': {'type': 'string', 'description': 'Vanilla, Chocolate, Red Velvet, Ube, or the custom flavor asked for.'}, 'guests': {'type': 'integer', 'minimum': 1, 'description': 'How many people; picks the size.'}, 'candles': {'type': 'boolean'}, 'occasion': {'type': 'string'}, 'allergens': {'type': 'string', 'description': "Allergies or dietary needs, or 'none'."}, 'recipient': {'type': 'string', 'description': 'Who it is for (with their age, for a birthday).'}, 'inscription': {'type': 'string', 'description': "What it says, or 'none'."}}, 'description': 'Only on the decorated cake (see cake_options): what was decided with the customer. Leave out what is not decided yet.', 'additionalProperties': False}, 'name': {'type': 'string', 'description': 'Item name from the menu.'}, 'note': {'type': 'string', 'description': 'Optional note for this line, like a cake inscription.'}, 'size': {'type': 'string', 'description': "Catering sizes: 'full' (default), 'dozen', 'half dozen' or 'individual' (bite-size). Same-day items are always 'full'."}, 'combo': {'enum': ['small', 'large', 'none'], 'type': 'string', 'description': "Toast orders, piroshki and pinoyshki, when the pickup time is in combo hours (Tue to Fri, 11 am to 4 pm): 'small' = fries + a 12oz drink, 'large' = large fries, borscht + a drink, 'none' = the customer said no. check_order offers it (combo_offer) with each item's prices and drinks."}, 'backups': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Toast orders, with if_unavailable 'closest': up to 3 counter-menu piroshki or pinoyshki the customer would take instead, in order of preference."}, 'quantity': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'combo_drink': {'type': 'string', 'description': "The combo's drink, as check_order listed it (like '12oz Coke' or 'Small Juice'). Default: any 12oz soda."}, 'if_unavailable': {'enum': ['closest', 'remove', 'cancel'], 'type': 'string', 'description': "Toast orders, piroshki and pinoyshki only: what the bakery does if this one is sold out when the order is made. 'closest' (default) swaps in the closest piroshki, 'remove' leaves it out, 'cancel' cancels the order. Worth asking for a scheduled day, since the counter menu changes."}}}, 'maxItems': 60, 'minItems': 1, 'description': 'What to order. Use item names exactly as get_menu or search_menu gave them.'}, 'notes': {'type': 'string', 'description': 'Optional note for the bakery.'}, 'channel': {'enum': ['today', 'catering'], 'type': 'string', 'description': "Optional. 'today' = the counter menu on Toast: same day, or a scheduled pickup up to 14 days ahead (up to 6 full-size, pickup only, paid on Toast); 'catering' = ordered 3 or more days ahead, paid on Shopify. Left out, the basket and date decide: catering is preferred from 3 days out when every item is on the catering menu."}, 'utensils': {'type': 'boolean', 'description': 'Catering: include utensils. Default true.'}, 'staff_tip': {'type': 'integer', 'maximum': 50, 'minimum': 0, 'description': 'Toast orders: the tip for the bakery staff in whole dollars, shared by the staff who bake, pack and hand over the order. 0 (the default) unless the customer picks one; offer $1, $3 or $5 or any whole amount.'}, 'fulfillment': {'enum': ['pickup', 'delivery'], 'type': 'string', 'description': 'Default pickup. Delivery is catering, week-ahead only.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['view', 'ok', 'lines', 'subtotal_cents', 'problems'], 'properties': {'ok': {'type': 'boolean', 'description': 'True when the order is allowed as asked.'}, 'view': {'const': 'quote'}, 'when': {'type': 'string'}, 'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'quantity'], 'properties': {'cake': {'type': 'string', 'description': "The cake's flavor, message and design, in words, or empty."}, 'name': {'type': 'string'}, 'note': {'type': 'string'}, 'combo': {'type': 'string', 'description': "The line's combo upgrade, in words, or empty."}, 'photo': {'type': ['string', 'null']}, 'quantity': {'type': 'integer'}, 'line_cents': {'type': 'integer'}, 'size_label': {'type': 'string'}, 'price_cents': {'type': ['integer', 'null']}, 'if_unavailable': {'type': 'string', 'description': "The line's backup choice on Toast, in words."}}}}, 'title': {'type': 'string'}, 'today': {'type': 'string', 'description': "Today's date in Seattle, like 'Thursday, September 24'."}, 'channel': {'type': ['string', 'null']}, 'problems': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': ['string', 'null']}, 'soft': {'type': 'boolean', 'description': 'True when something is still needed (a date, a time) rather than broken.'}, 'message': {'type': 'string'}}}}, 'tip_offer': {'type': 'object', 'description': 'Toast orders: the staff tip choices in whole dollars and the suggested one.'}, 'lane_label': {'type': 'string'}, 'date_choices': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when the date asked for could mean either of these; ask the customer which.'}, 'allowed_dates': {'type': 'array', 'items': {'type': 'string'}}, 'allowed_times': {'type': 'array', 'items': {'type': 'string'}}, 'earliest_date': {'type': ['string', 'null']}, 'subtotal_cents': {'type': 'integer', 'description': 'Before tax, with the staff tip; the checkout page shows the final total.'}, 'staff_tip_cents': {'type': 'integer', 'description': 'The tip for the bakery staff, 0 when none.'}, 'delivery_allowed': {'type': ['boolean', 'null']}, 'allowed_date_labels': {'type': 'array', 'items': {'type': 'string'}, 'description': "allowed_dates with weekdays, like 'Fri Oct 2'."}}}
Esquema de entrada
{'type': 'object', 'properties': {'lane': {'enum': ['today', 'catering'], 'type': 'string', 'description': "Default 'today'."}, 'section': {'type': 'string', 'description': "Optional section filter, like 'Pastries' or 'Vegan'. 'Piroshki' and 'Pinoyshki' both show the whole family (pinoyshki are piroshki with Filipino fillings); customers asking for either nearly always want both."}, 'only_this_family': {'type': 'boolean', 'description': 'Only when the customer asked for just piroshki or just pinoyshki: keep the section filter to that word.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['view', 'title', 'sections'], 'properties': {'lane': {'type': 'string'}, 'note': {'type': 'string'}, 'view': {'const': 'menu'}, 'hours': {'type': 'object'}, 'title': {'type': 'string'}, 'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'items'], 'properties': {'name': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'lane', 'available'], 'properties': {'lane': {'enum': ['today', 'catering'], 'type': 'string'}, 'name': {'type': 'string', 'description': 'Exact item name; use it as-is in check_order.'}, 'photo': {'type': ['string', 'null']}, 'price': {'type': 'string', 'description': "Price as shown to customers, like '$9.05' or 'Full-Size $9.05 / Bite-Size Dozen $29.00'."}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'label': {'type': 'string'}, 'price': {'type': 'string'}, 'price_cents': {'type': 'integer'}}}}, 'section': {'type': 'string'}, 'allergens': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': "Allergens the bakery lists; null means not listed, never 'none'."}, 'available': {'type': 'boolean', 'description': 'False means sold out today.'}, 'lane_label': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'price_cents': {'type': ['integer', 'null']}, 'allergen_note': {'type': ['string', 'null']}, 'dietary_labels': {'type': 'array', 'items': {'type': 'string'}}}}}}}}, 'closed_weekdays': {'type': 'array'}}}
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'lane': {'enum': ['all', 'today', 'catering'], 'type': 'string', 'description': "Default 'all'."}, 'query': {'type': 'string', 'description': 'A few words to look for.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['view', 'title', 'sections'], 'properties': {'lane': {'type': 'string'}, 'note': {'type': 'string'}, 'view': {'const': 'menu'}, 'hours': {'type': 'object'}, 'title': {'type': 'string'}, 'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'items'], 'properties': {'name': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'lane', 'available'], 'properties': {'lane': {'enum': ['today', 'catering'], 'type': 'string'}, 'name': {'type': 'string', 'description': 'Exact item name; use it as-is in check_order.'}, 'photo': {'type': ['string', 'null']}, 'price': {'type': 'string', 'description': "Price as shown to customers, like '$9.05' or 'Full-Size $9.05 / Bite-Size Dozen $29.00'."}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'label': {'type': 'string'}, 'price': {'type': 'string'}, 'price_cents': {'type': 'integer'}}}}, 'section': {'type': 'string'}, 'allergens': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': "Allergens the bakery lists; null means not listed, never 'none'."}, 'available': {'type': 'boolean', 'description': 'False means sold out today.'}, 'lane_label': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'price_cents': {'type': ['integer', 'null']}, 'allergen_note': {'type': ['string', 'null']}, 'dietary_labels': {'type': 'array', 'items': {'type': 'string'}}}}}}}}, 'closed_weekdays': {'type': 'array'}}}
Esquema de entrada
{'type': 'object', 'required': ['name'], 'properties': {'lane': {'enum': ['today', 'catering'], 'type': 'string', 'description': 'Optional: only this menu.'}, 'name': {'type': 'string', 'description': "The item's name."}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['view', 'item'], 'properties': {'also': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'lane', 'available'], 'properties': {'lane': {'enum': ['today', 'catering'], 'type': 'string'}, 'name': {'type': 'string', 'description': 'Exact item name; use it as-is in check_order.'}, 'photo': {'type': ['string', 'null']}, 'price': {'type': 'string', 'description': "Price as shown to customers, like '$9.05' or 'Full-Size $9.05 / Bite-Size Dozen $29.00'."}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'label': {'type': 'string'}, 'price': {'type': 'string'}, 'price_cents': {'type': 'integer'}}}}, 'section': {'type': 'string'}, 'allergens': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': "Allergens the bakery lists; null means not listed, never 'none'."}, 'available': {'type': 'boolean', 'description': 'False means sold out today.'}, 'lane_label': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'price_cents': {'type': ['integer', 'null']}, 'allergen_note': {'type': ['string', 'null']}, 'dietary_labels': {'type': 'array', 'items': {'type': 'string'}}}}}, 'item': {'type': 'object', 'required': ['name', 'lane', 'available'], 'properties': {'lane': {'enum': ['today', 'catering'], 'type': 'string'}, 'name': {'type': 'string', 'description': 'Exact item name; use it as-is in check_order.'}, 'photo': {'type': ['string', 'null']}, 'price': {'type': 'string', 'description': "Price as shown to customers, like '$9.05' or 'Full-Size $9.05 / Bite-Size Dozen $29.00'."}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'label': {'type': 'string'}, 'price': {'type': 'string'}, 'price_cents': {'type': 'integer'}}}}, 'section': {'type': 'string'}, 'allergens': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': "Allergens the bakery lists; null means not listed, never 'none'."}, 'available': {'type': 'boolean', 'description': 'False means sold out today.'}, 'lane_label': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'price_cents': {'type': ['integer', 'null']}, 'allergen_note': {'type': ['string', 'null']}, 'dietary_labels': {'type': 'array', 'items': {'type': 'string'}}}}, 'view': {'const': 'item'}}}
Esquema de entrada
{'type': 'object', 'required': ['items'], 'properties': {'zip': {'type': 'string', 'description': 'Delivery ZIP code (delivery is within 15 miles).'}, 'date': {'type': 'string', 'description': "The date as YYYY-MM-DD ('today' also works). Work it out from the customer's words using today's date in Seattle (Pacific time). If their words could mean two dates, like 'next Friday' said earlier in the same week, ask them which before calling. Needed for catering and for a Toast pickup on a later day."}, 'time': {'type': 'string', 'description': "12-hour time like '1:00 pm'. Needed for catering and for a Toast pickup on a later day."}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'quantity'], 'properties': {'cake': {'type': 'object', 'properties': {'card': {'type': 'boolean', 'description': 'A card to go with the cake.'}, 'size': {'type': 'string', 'description': "A size from cake_options, like '10-15'."}, 'design': {'type': 'string', 'description': 'The design concept the customer agreed to.'}, 'flavor': {'type': 'string', 'description': 'Vanilla, Chocolate, Red Velvet, Ube, or the custom flavor asked for.'}, 'guests': {'type': 'integer', 'minimum': 1, 'description': 'How many people; picks the size.'}, 'candles': {'type': 'boolean'}, 'occasion': {'type': 'string'}, 'allergens': {'type': 'string', 'description': "Allergies or dietary needs, or 'none'."}, 'recipient': {'type': 'string', 'description': 'Who it is for (with their age, for a birthday).'}, 'inscription': {'type': 'string', 'description': "What it says, or 'none'."}}, 'description': 'Only on the decorated cake (see cake_options): what was decided with the customer. Leave out what is not decided yet.', 'additionalProperties': False}, 'name': {'type': 'string', 'description': 'Item name from the menu.'}, 'note': {'type': 'string', 'description': 'Optional note for this line, like a cake inscription.'}, 'size': {'type': 'string', 'description': "Catering sizes: 'full' (default), 'dozen', 'half dozen' or 'individual' (bite-size). Same-day items are always 'full'."}, 'combo': {'enum': ['small', 'large', 'none'], 'type': 'string', 'description': "Toast orders, piroshki and pinoyshki, when the pickup time is in combo hours (Tue to Fri, 11 am to 4 pm): 'small' = fries + a 12oz drink, 'large' = large fries, borscht + a drink, 'none' = the customer said no. check_order offers it (combo_offer) with each item's prices and drinks."}, 'backups': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 3, 'description': "Toast orders, with if_unavailable 'closest': up to 3 counter-menu piroshki or pinoyshki the customer would take instead, in order of preference."}, 'quantity': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'combo_drink': {'type': 'string', 'description': "The combo's drink, as check_order listed it (like '12oz Coke' or 'Small Juice'). Default: any 12oz soda."}, 'if_unavailable': {'enum': ['closest', 'remove', 'cancel'], 'type': 'string', 'description': "Toast orders, piroshki and pinoyshki only: what the bakery does if this one is sold out when the order is made. 'closest' (default) swaps in the closest piroshki, 'remove' leaves it out, 'cancel' cancels the order. Worth asking for a scheduled day, since the counter menu changes."}}}, 'maxItems': 60, 'minItems': 1, 'description': 'What to order. Use item names exactly as get_menu or search_menu gave them.'}, 'notes': {'type': 'string', 'description': 'Optional note for the bakery.'}, 'channel': {'enum': ['today', 'catering'], 'type': 'string', 'description': "Optional. 'today' = the counter menu on Toast: same day, or a scheduled pickup up to 14 days ahead (up to 6 full-size, pickup only, paid on Toast); 'catering' = ordered 3 or more days ahead, paid on Shopify. Left out, the basket and date decide: catering is preferred from 3 days out when every item is on the catering menu."}, 'utensils': {'type': 'boolean', 'description': 'Catering: include utensils. Default true.'}, 'staff_tip': {'type': 'integer', 'maximum': 50, 'minimum': 0, 'description': 'Toast orders: the tip for the bakery staff in whole dollars, shared by the staff who bake, pack and hand over the order. 0 (the default) unless the customer picks one; offer $1, $3 or $5 or any whole amount.'}, 'fulfillment': {'enum': ['pickup', 'delivery'], 'type': 'string', 'description': 'Default pickup. Delivery is catering, week-ahead only.'}, 'customer_name': {'type': 'string', 'description': 'Optional: the name the order is for.'}, 'customer_email': {'type': 'string', 'description': 'Optional: an email for the bakery.'}, 'customer_phone': {'type': 'string', 'description': 'Optional: a phone number for the bakery.'}}, 'additionalProperties': False}
Esquema de salida
{'if': {'properties': {'view': {'const': 'checkout'}}}, 'then': {'required': ['url']}, 'type': 'object', 'required': ['view', 'ok', 'lines', 'subtotal_cents'], 'properties': {'ok': {'type': 'boolean', 'description': 'True when the order is allowed as asked.'}, 'url': {'type': 'string', 'description': 'The link the customer opens to pay. Give it to them as-is.'}, 'view': {'enum': ['checkout', 'quote']}, 'when': {'type': 'string'}, 'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'quantity'], 'properties': {'cake': {'type': 'string', 'description': "The cake's flavor, message and design, in words, or empty."}, 'name': {'type': 'string'}, 'note': {'type': 'string'}, 'combo': {'type': 'string', 'description': "The line's combo upgrade, in words, or empty."}, 'photo': {'type': ['string', 'null']}, 'quantity': {'type': 'integer'}, 'line_cents': {'type': 'integer'}, 'size_label': {'type': 'string'}, 'price_cents': {'type': ['integer', 'null']}, 'if_unavailable': {'type': 'string', 'description': "The line's backup choice on Toast, in words."}}}}, 'title': {'type': 'string'}, 'today': {'type': 'string', 'description': "Today's date in Seattle, like 'Thursday, September 24'."}, 'button': {'type': 'string'}, 'channel': {'type': ['string', 'null']}, 'pays_on': {'type': 'string'}, 'problems': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': ['string', 'null']}, 'soft': {'type': 'boolean', 'description': 'True when something is still needed (a date, a time) rather than broken.'}, 'message': {'type': 'string'}}}}, 'tip_offer': {'type': 'object', 'description': 'Toast orders: the staff tip choices in whole dollars and the suggested one.'}, 'lane_label': {'type': 'string'}, 'date_choices': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when the date asked for could mean either of these; ask the customer which.'}, 'allowed_dates': {'type': 'array', 'items': {'type': 'string'}}, 'allowed_times': {'type': 'array', 'items': {'type': 'string'}}, 'earliest_date': {'type': ['string', 'null']}, 'subtotal_cents': {'type': 'integer', 'description': 'Before tax, with the staff tip; the checkout page shows the final total.'}, 'staff_tip_cents': {'type': 'integer', 'description': 'The tip for the bakery staff, 0 when none.'}, 'delivery_allowed': {'type': ['boolean', 'null']}, 'allowed_date_labels': {'type': 'array', 'items': {'type': 'string'}, 'description': "allowed_dates with weekdays, like 'Fri Oct 2'."}}}
Cambios recientes en herramientas
Servidores MCP similares
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
apex-x1
Provides X1 and Arc token screening, liquidity and exit-risk checks, wallet and bridge data, non-custodial token operations, comm…
SpellBook Finance
Provides Magic: The Gathering and other trading-card market prices, buylist offers, arbitrage analysis, sealed-product EV, seller…
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
Digital Manager Guru
Provides Digital Manager Guru checkout, customer, transaction, subscription, affiliate, coupon, blocklist, and digital-product sa…
Pagar.me
Connects to Pagar.me to manage customers, cards, orders, charges, invoices, payment captures, confirmations, retries, refunds, an…
amazon-product-research-mcp
Researches Amazon products, brands, sellers, buy-box activity, sourcing profitability, category competition, and supplier opportu…
AgentLux
Operates an agent avatar marketplace with item generation, purchases, creator earnings, public profiles, social activity, and ERC…