← Plugin catalog
Business & Operations

CrumbPass

CrumbPass v2.0.0

Restaurant operations

Full description ↓

View on ChatGPT ↗

Save this plugin to Following and return to review observed changes. Follow up to 10 plugins free.

Description

From the marketplace listing

Connect your CrumbPass owner account to manage one selected restaurant's menu, loyalty programme, offers, customer insights, and performance. Referral tools provide read-only analytics; campaign creation and permanent offer deletion are not currently supported. The owner selects the restaurant during OAuth authorization; every protected request is re-checked against that owner and restaurant. ChatGPT reads current data before making recommendations. Consequential and destructive changes require the owner's explicit confirmation before execution. The insights permission can return customer names, last four phone digits, points, visit/spend patterns, referral performance, feedback comments, and business analytics; full customer phone numbers and email addresses are not exposed. The plugin does not process payments.

Language: English · Automatically detected from descriptions.

Competitor profile

From the developer’s listing and package; capabilities are not independently tested. Package observed Nov 3, 2026.

Declared capabilities

  • Read
  • Write

Declared limitations

  • Do not execute a price, loyalty, offer-status, availability, or destructive action without explicit owner confirmation.
  • Do not cross restaurant boundaries, even if the owner names another restaurant in conversation.
  • Do not expose full customer contact details or use customer data for unrelated profiling.

Review scenarios; not an exhaustive list.

Cost & access

The plugin manages restaurant operations and does not offer checkout, process payments, or sell goods or services.

Terms may have changed since this observation.

Starter prompt

Show me this week's restaurant performance and the biggest changes from last week.

View package source →

Keywords

Files & skills

File archives

Plugin package20 files · 10.5 KBBrowse files →
Skill instructions
bulk-operations1.12 KB

View saved version →

---
name: bulk-operations
description: Safely performs bulk CrumbPass restaurant menu price and availability changes. Use when an owner asks to increase or decrease prices across a category or set of dishes, or mark multiple dishes available or unavailable.
---

# Bulk operations

1. Read `get_menu` first. Match the owner's request to exact category and dish names; clarify any ambiguity.
2. For price changes, call `adjust_menu_prices` without `confirm`. It returns every affected old and new price without changing the menu.
3. Present the full change list and currency to the owner. Ask for explicit approval.
4. Re-call `adjust_menu_prices` with exactly the approved targeting and `confirm: true`.
5. For availability changes, state the exact dishes affected from `get_menu`, obtain explicit approval, then call `set_menu_availability` with `confirm: true`.

## Guardrails

- Do not silently round prices; explain the requested rounding rule before applying it.
- Do not use an empty category or guessed dish name.
- If the owner asks to change “everything,” show the scope and ask them to confirm the full list first.

Referenced files: 1 — file references are metadata, not package contents.

dish-labels2.94 KB

View saved version →

---
name: dish-labels
description: Sets the guest-facing labels on CrumbPass menu dishes - veg, egg or non-veg diet marks, spice level, served hot or cold, Chef's special, Today's special and Special highlights, an offer on the dish, and an info note for allergens or pairings - using create_menu_item, bulk_import_menu or update_menu_item. Use when the owner wants to mark dishes as spicy, veg or non-veg, add specials, put an offer on a dish, add allergen or info notes, or tidy up how dishes are labelled.
license: Proprietary
metadata:
  author: crumbpass
  version: "1.0"
---

# Label dishes for guests

Guests decide what to order from these labels, and some guests rely on them for diet or allergies. Accuracy matters more than completeness.

## Rules

1. **Diet marks come from facts, never guesses.**
   - `veg`: no meat, fish or egg. `egg`: contains egg but no meat or fish. `nonveg`: contains meat, poultry or seafood.
   - If a dish name or description doesn't settle it, ask the owner. Never mark a dish `veg` to be safe.
   - Setting `diet` also sets the older `isVegetarian` flag (only `veg` counts as vegetarian).
2. **Allergen notes only from the owner.** Put allergen information in `note` only when the owner states it. Do not infer allergens from a dish name. If useful, suggest "Ask the team about allergens."
3. **Spice:** `1` mild, `2` medium, `3` hot. Use the owner's or menu's own indication; leave unset when unknown.
4. **Temperature:** set `hot` or `cold` only when it helps a guest choose (cold desserts, hot soups). Leave it unset otherwise.
5. **Highlights:**
   - `chefs_special` for the kitchen's signature dishes, `todays_special` for something available today only, `special` for anything else the owner wants to spotlight.
   - Keep highlights rare (a few per menu), or they stop meaning anything. Suggest removing stale `todays_special` labels.
6. **Offer on a dish:** `offerNote` is a short promise guests read ("20% off at lunch", "Free drink with this combo"). Use only offers the owner states, keep it under 80 characters, and include conditions. To clear it, send an empty string.
7. **Info note:** up to 280 characters for allergens, pairing, portion size or preparation. Plain sentences, no marketing claims the owner hasn't made.

## How to change labels

- **One dish:** show the owner the current label and proposed value, ask for approval, then call `update_menu_item` with `itemName`, only the labels to change, and `confirm: true`; everything else is kept.
- **Clearing:** `spiceLevel: 0`, `highlights: []`, `offerNote: ""` or `note: ""`.
- **Many dishes:** list every planned label change and get approval first; update them one at a time with `confirm: true`, and summarise what changed at the end.
- **New dishes:** include labels directly in `create_menu_item` or `bulk_import_menu`.

Every `update_menu_item` call requires `confirm: true` after the owner approves the exact displayed change. Do not call it as a preview.

Referenced files: 1 — file references are metadata, not package contents.

dish-photos2.47 KB

View saved version →

---
name: dish-photos
description: Adds, replaces or removes photos on CrumbPass menu dishes with set_menu_item_photo and remove_menu_item_photo, including photos the owner attaches, images you generate for a dish, and public https image links. Use when the owner wants dish photos, asks you to create or generate an image for a dish, wants to make the menu more visual, or wants to change or remove a dish's picture.
license: Proprietary
metadata:
  author: crumbpass
  version: "1.0"
---

# Dish photos

Photos show guests what will arrive at their table. A photo should never promise more than the kitchen serves.

## Steps

1. **Find the dish.** Use the exact dish name from `get_menu` (it also shows `hasPhoto`). If two dishes share a name, pass `categoryName`.
2. **Get the image.**
   - **The owner attached a photo:** use it.
   - **The owner asked you to create one:** generate a realistic, appetising photo of the dish as described, with its real ingredients, garnish and serving style. Use natural light, a plate or bowl that suits the restaurant, and no text, logos, hands or people. A square or 4:3 framing works best.
   - **The owner shared a link:** it must be a public `https://` image link.
3. **Show it and ask.** Show the owner the image and ask whether to use it for that dish. Only continue after they say yes.
4. **Set it.** Call `set_menu_item_photo` with:
   - `itemName` (and `categoryName` if needed)
   - `image` for an image in this conversation, or `imageUrl` for an https link
   - `aiGenerated: true` for any image you generated; `false` only for real photographs. Guests see an "AI image" label on generated photos. Never mark a generated image as a real photo.
   - `confirm: true` only after the owner approved that exact image for that dish.
5. **Confirm** what changed. To take a photo off a dish, show the exact dish to the owner, get approval, then call `remove_menu_item_photo` with `confirm: true` (the dish stays on the menu).

## Limits and failures

- PNG, JPEG or WebP, up to 5 MB. Larger or other formats are rejected.
- **"I didn't receive the image file":** the image did not reach the tool. This happens most on the ChatGPT mobile app. Ask the owner to attach the image again, ideally from ChatGPT on the web, or to share a public https link.
- **Download errors:** links can expire. Ask for the image again rather than retrying the same link repeatedly.
- **Several photos:** do them one dish at a time, confirming each image with the owner.

Referenced files: 1 — file references are metadata, not package contents.

loyalty-operations1.47 KB

View saved version →

---
name: loyalty-operations
description: Reviews and safely changes a connected CrumbPass restaurant's loyalty programme, rewards, and offers. Use when an owner wants to create or change points rules, reward rules, coupons, promotions, expiry dates, offer status, or offer performance.
---

# Loyalty operations

All tools act only on the restaurant selected during OAuth. Read current state before changing it.

1. Call `get_loyalty_program` for programme changes. Call `list_offers` before changing a specific offer, and use `get_offer` for its exact current state.
2. For a loyalty-programme or existing-offer edit, call `update_loyalty_program` or `update_offer` without `confirm` first. Present the returned diff in plain language.
3. Ask for explicit approval. Only after the owner says yes, call the same tool with the same intended fields and `confirm: true`.
4. `create_offer` always creates a draft. Review the draft, then use `set_offer_status` with `confirm: true` only after approval to activate, schedule, pause, or archive it.
5. `create_reward` creates a draft reward. Do not present a draft as live.

## Guardrails

- Never turn on an offer, change coin value, alter earn rules, or change redemption limits without an explicit owner confirmation in the conversation.
- Clarify ambiguous benefits, audience, duration, and discount type before creating an offer.
- Explain customer impact for point expiry, coin value, redemption percent, and reward eligibility changes.

Referenced files: 1 — file references are metadata, not package contents.

menu-import2.84 KB

View saved version →

---
name: menu-import
description: Turns a restaurant menu from a photo, PDF, screenshot, spreadsheet or pasted text into a clean CrumbPass menu with categories, prices and diet marks, then imports it with bulk_import_menu. Use when the owner wants to add many dishes at once, digitise a printed menu, copy a menu from another source, or set up a new restaurant's menu.
license: Proprietary
metadata:
  author: crumbpass
  version: "1.0"
---

# Import a menu into CrumbPass

The connected restaurant is fixed by the owner's authorization. Every tool acts on that one restaurant.

## Steps

1. **Read what exists first.** Call `get_menu`. Note existing category and dish names so the import adds to the menu instead of duplicating it. Matching is by name, case-insensitive.
2. **Extract the menu.** From the owner's source, list each category and its dishes with name, price and description. Keep the owner's wording, spelling and order. Do not invent dishes, prices or descriptions.
3. **Normalise.**
   - Prices are numbers in the restaurant's currency: `₹350` → `350`, `350/-` → `350`. If a dish has several sizes, create one dish per size ("Pizza (Regular)", "Pizza (Large)") unless the owner says otherwise.
   - If a price is missing or unreadable, leave the dish out and list it for the owner instead of guessing.
   - Category names: short and as printed ("Starters", "Main Course", "Desserts").
4. **Set diet marks only from evidence.** Use the menu's own marks (green/red dots, "veg", "non-veg", "contains egg") or unambiguous ingredients. `isVegetarian` is required: set it true only for veg dishes. Also send `diet` (`veg`, `egg` or `nonveg`). When unsure, ask the owner. A wrong veg mark is a serious error for guests. The dish-labels skill has the full labelling rules.
5. **Confirm before writing.** Show the owner a compact summary: categories, dish count, any dishes skipped and why, and anything uncertain. Import only after they agree.
6. **Import in batches.** Call `bulk_import_menu` with at most about 40 dishes per call. Report what was created after each call.
7. **Finish.** Call `get_menu` again and summarise the result. Offer the next useful steps: labels (spice, highlights), photos, and ordering.

## Edge cases

- **Duplicates:** if a dish already exists with the same name, do not import it again; offer `update_menu_item` for price or description changes instead.
- **Combos and add-ons:** import as ordinary dishes with a clear name ("Extra cheese") only if they have their own price.
- **Hidden or seasonal dishes:** import them, then ask whether to hide any with `update_menu_item` (`isActive: false`).
- **Starting over:** `clear_menu` permanently deletes every category and dish. Show the complete current menu and obtain explicit approval before calling with `confirm: true`.

Tool details: [tool reference](references/tools.md).

Referenced files: 2 — file references are metadata, not package contents.

menu-ranking1.6 KB

View saved version →

---
name: menu-ranking
description: Sets the order of categories and dishes guests see on the CrumbPass menu using reorder_menu - for example putting starters before mains, moving bestsellers or specials to the top, or following the printed menu's order. Use when the owner wants to rank, rearrange, sort, prioritise or move dishes or categories on their menu.
license: Proprietary
metadata:
  author: crumbpass
  version: "1.0"
---

# Rank the menu

Guests read the menu top to bottom. The order should match how people order a meal, with the restaurant's strongest dishes easy to find.

## Steps

1. Call `get_menu` to see the current order and exact names.
2. Agree on the order with the owner. If they ask for a suggestion:
   - **Categories:** follow the meal. Starters or small plates, soups and salads, mains, breads and rice, sides, desserts, then drinks. Keep the owner's own categories even if they don't fit this pattern.
   - **Dishes:** put signature dishes and current specials first, then the rest in the owner's order. Don't reorder by price unless asked.
3. Call `reorder_menu`:
   - `categoryOrder`: category names, top first.
   - `categoryName` + `itemOrder`: one category's dish names, first shown first.
   - Names you leave out keep their place after the listed ones, so you can just name the few to move to the top.
4. Report the new order from the tool's reply.

## Notes

- Ranking one category's dishes needs one call per category.
- Unknown names are rejected with the missing names listed. Fix the names from `get_menu` and try again.
- Ordering changes nothing else: prices, labels and photos stay as they are.

Referenced files: 1 — file references are metadata, not package contents.

owner-analytics1.9 KB

View saved version →

---
name: owner-analytics
description: Analyzes a connected CrumbPass restaurant's performance, offers, customer retention, visit patterns, and referrals using privacy-safe owner MCP read tools. Use when an owner asks how the business is doing, what changed, which campaign worked, why repeat visits changed, or which guests are inactive.
---

# Owner analytics

The connected restaurant is fixed by OAuth. Never ask for or attempt to inspect another restaurant. Referral tools report performance only; they cannot create or edit referral campaigns. Permanent offer deletion is not available through this integration.

1. Start with `get_business_performance`. Use 7 days for a weekly question, 30 days for a monthly question, or the period explicitly requested.
2. For guest behaviour, call `get_customer_insights`. Use `list_customers` only when a named segment is needed; do not request or expose full contact details.
3. For campaign questions, call `list_offers` and compare offer uses, revenue, discount given, and share of bills. For sharing questions, call `get_referral_stats`.
4. State what the data shows, the comparison period, and any data-limit note. Treat low sample sizes as inconclusive.
5. Give no more than three evidence-based next actions. Do not create, activate, or change an offer unless the owner separately asks.

## Privacy

- Customer results contain names and at most the last four phone digits. Do not reconstruct, guess, or solicit complete phone numbers or email addresses.
- Do not use segments for unrelated profiling or contact-list extraction.
- Aggregate findings are preferred when a named-customer list is not necessary.

## Example

For “Why are repeat visits falling?” call `get_business_performance` and `get_customer_insights`, then explain the measured change, retention rate, inactive repeat guests, and visit pattern. Offer to propose a campaign; do not create it yet.

Referenced files: 1 — file references are metadata, not package contents.

Release notes

Secure owner MCP for a selected restaurant, with menu, loyalty, offers, customer insights and analytics. Owner-facing consent now lists actual scope/data use; write confirmation is enforced server-side, OAuth refresh rotates credentials, and revocation is supported. Referral reporting is read-only; campaign authoring and permanent offer deletion are not currently supported.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package license
Proprietary
Package author
CrumbPass
Keywords
See keywords
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Read
  • Write

Package observed Nov 3, 2026.

Technical details
First seen
Oct 29, 2026 · 07:57 UTC
Last seen
Nov 3, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6ac32f3d46dc8191b3dac9e2a64c7b19

Download plugin data (JSON)