Skip to main content
Glama
craveup-oss

CraveUp MCP Server

Official
by craveup-oss

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EXPO_TOKENNoScoped Expo robot-user token. Required only for mobile release tools.
CRAVEUP_API_KEYNoMerchant API key. Must match the environment prefix (crv_test_ for sandbox, crv_live_ for production). Used for menu, discount, and readiness tools.
CRAVEUP_ENVIRONMENTYesRequired. The environment selects all dashboard, API, and Clerk hosts together. Must be 'sandbox' or 'production'.
CRAVEUP_LOCATION_IDNoOptional default location ID. Every tool also accepts an explicit locationId.
CRAVEUP_ACCESS_TOKENNoOptional alternative to the keychain session. A session token for CLI/MCP shared browser authentication.
CRAVEUP_ALLOW_CUSTOM_ENDPOINTSNoSet to 'true' to allow custom deployments with endpoint overrides. Normally unnecessary.false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_mcp_capabilitiesA

Return safe runtime versions, the tool-policy digest, and fail-closed capability blockers. Use this before project generation or long-running automation.

start_crave_authA

Start secure browser authentication for CLI and MCP access. Open the returned Crave Up URL for the user; they can sign in or create a free account without leaving the flow.

complete_crave_authA

Complete the browser login started by start_crave_auth and save the shared CLI/MCP session securely.

cancel_crave_authA

Cancel a pending browser authentication flow and close its local callback.

get_onboarding_flowA

How to take a restaurant repo from zero to a live Crave-powered app in one chat: login → create org → connect .env → import menu → run.

whoamiA

Verify the MCP server can read a craveup login session (CLI keychain or CRAVEUP_ACCESS_TOKEN).

create_organizationA

Create a new restaurant org (merchant + default location). Requires craveup login. MCP never mints or returns a plaintext API key; create scoped credentials in Business Manager.

connect_projectB

Write the public API origin and location ID into an Expo/React Native project .env. Browser and mobile storefronts connect directly without an API key.

get_location_settingsA

Fetch store hours, scheduled-order flag, tax settings, and takeout config for a location. Requires craveup login (Clerk session).

update_store_hoursA

Set when a location accepts orders. Use preset always_open for dev/demo, or pass a custom 7-day schedule. Requires craveup login.

set_scheduled_orders_enabledA

Toggle order-ahead when the restaurant is closed. Preserves existing tax settings unless overridden. Requires craveup login.

set_takeout_enabledA

Turn takeout on/off for a location. Copies the location main schedule when enabling. Requires craveup login.

open_location_for_ordersA

Fixes "Restaurant is closed. Scheduled orders are not allowed." by setting 24/7 store hours, enabling scheduled orders, and enabling takeout. Requires craveup login.

check_mobile_release_readinessA

Read-only Expo/EAS preflight for internal TestFlight or Google Play internal testing. Checks app identity, production build profile, generated workflow, internal-only Android track, EAS project link, and EXPO_TOKEN. Run craveup apps configure first.

start_mobile_releaseA

Dispatch the committed Crave Up EAS Workflow for internal TestFlight. This consumes paid EAS build minutes. Requires EXPO_TOKEN from a scoped Expo robot user and the exact confirmation phrase. Android stays CLI-only so the local Play internal-track setting can be verified immediately before submission. This tool cannot publish to the public store.

get_mobile_release_statusA

Fetch a previously dispatched EAS Workflow run and its build/submission jobs. Requires the same scoped EXPO_TOKEN used to start the release.

get_onboarding_statusA

Fetch the 6 dashboard go-live steps (subscription, business information, address, hours, menu, ordering methods) with completion state and the suggested next action for each pending required step. Sandbox marks subscription and Stripe Connect as not required. In production, the business-information step lists the outstanding Stripe KYC items (outstandingRequirements) — tell the user what Stripe still needs, then hand them the Stripe-hosted link. Completing all six marks the merchant onboarded. Requires craveup login.

create_locationA

Create an additional location under the authenticated merchant (multi-location setup). POSTs { restaurantDisplayName } to /api/v1/locations (Clerk session required), then optionally PATCHes /address (pass lat/lng to skip geocoding). Returns the Crave location id — follow with update_store_hours, import_menu, set_menu_active, set_fulfillment_methods. Requires craveup login. After rebuilding @craveup/mcp, restart the Cursor MCP server.

delete_locationA

Soft-deletes a location: sets archivedAt, frees the slug, removes it from the merchant location list and Clerk org metadata. Order/menu rows remain for audit. Use to remove unused duplicates. Requires craveup login.

list_locationsA

List locations for the authenticated merchant (dashboard locations-stats). Use to verify multi-location setup without opening the browser. Requires craveup login.

get_location_ordersA

Fetch active (new) orders for a location — same data as the Orders Manager. Requires craveup login.

list_customersA

Fetch the dashboard Customers page for a location (grouped by Crave customerId). Guest checkouts with email now create a customerId. Requires craveup login.

set_location_addressA

Update a location address (shown on the storefront and used for delivery/pickup). Omit lat/lng — the server geocodes the address. Requires craveup login.

set_fulfillment_methodsA

Choose how customers order: takeout (pickup), table_side, delivery, room_service. At least one is required to accept orders; store hours must be set first. Requires craveup login.

list_subscription_plansA

List available subscription plans (name, price, billing interval, trial). Use the priceId with start_subscription_checkout. Production only; sandbox development does not require a subscription. Requires craveup login.

start_subscription_checkoutA

Create a Stripe Checkout URL for the chosen plan. Give the URL to the user to open in a browser — card entry cannot be automated. After payment, poll get_onboarding_status until the subscription step completes (webhook latency of a few seconds). Production only; sandbox development does not require a subscription. Requires craveup login.

seed_sandbox_analyticsA

Create deterministic customers, orders, ratings, and storefront funnel events for the Alvin's Test Hospitality Group dev organization. This tool is idempotent and refuses production hosts, production API processes, non-dev databases, and mismatched locations.

list_discountsA

List every discount configured for one authorized location. Requires a Crave merchant API key; the API verifies that the key can access the requested location.

create_order_discountB

Idempotently create an order-level promo code at one authorized location. If the code already exists, returns it without creating a duplicate. Percentage amounts must be at most 100. Use list_discounts afterward to verify the stored configuration.

import_menuA

Store a complete menu (categories, products, prices, image URLs, modifiers) at a Crave location in one call. Use this after extracting a menu from a website, PDF, or photos. Idempotent: re-importing updates existing items by name instead of duplicating. Forces menu.isActive=true unless explicitly set false. Follow with set_menu_active if needed.

set_menu_activeA

Set menu.isActive explicitly so the storefront serves it without falling back to an inactive first menu. Prefer after import_menu when list_menus shows isActive:false. Requires CRAVEUP_API_KEY.

list_menusA

Read back the menus exactly as the storefront API serves them (menus → categories → products). Use to verify an import or inspect current state.

get_productA

Fetch one product (menu-editor view) by id, including its modifier group ids.

update_productA

Change a product's name, description, price, or availability. Fields you omit keep their current values. Use import_menu for structural changes (images, modifiers).

set_product_availabilityB

Mark a product available or sold out (today / indefinitely).

delete_productA

Remove a product from the location. Category references are cleaned up.

check_storefront_readinessA

Hybrid wizard readiness probe: verifies menu has products, a read-only ordering-readiness GET reports takeout availability without creating a cart, and payment configuration is ready. Connected Square is authoritative and must itself be ready; otherwise Stripe is used. It does not create a PaymentIntent or Square payment. Does not use dashboard isOnboardingCompleted. Public probes use the direct Storefront API; private integration status still requires CRAVEUP_API_KEY.

get_integration_guideA

Documented patterns for implementing a Crave storefront: SDK setup, menu display, checkout flow, and the bulk menu import format. Read the relevant guide before writing storefront code.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/craveup-oss/craveup-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server