Skip to main content
The CraveUp MCP server is an agent-facing developer tool. It can create or update restaurant setup data when authenticated, so connect it only in workspaces where the agent is allowed to make those changes.
CraveUp provides a Model Context Protocol server through the @craveup/mcp package. It lets AI agents use Crave-specific tools instead of guessing API shapes from memory. Use it when you want an agent to:
  • inspect or import menus
  • connect a storefront project to a Crave location
  • check storefront readiness before launch
  • configure location ordering settings
  • work through go-live onboarding steps
  • fetch Crave implementation guidance while building a storefront

Setup

The MCP server runs over stdio. Use the public npm package for normal usage outside this monorepo, or point your client at the local repo build when testing unreleased tools. You do not need a clone of craveup-turborepo to use the MCP server — npx -y @craveup/mcp fetches everything it needs. Every configuration below sets CRAVEUP_API_KEY, which is the fastest start when you already have an organization. If you do not have one yet, register the server with no credentials and sign in from chat instead — see Sign in from chat.

Cursor

Add this to your Cursor MCP configuration:
Restart Cursor or reload the window after changing the MCP configuration.
Inside craveup-turborepo, pnpm workspace resolution can shadow the published package. If you are working in this repo, use the local repo build configuration below.

Codex

Add separate sandbox and production servers from the terminal:
If your Codex configuration uses TOML, add:

Claude Code

CraveUp is a local stdio MCP server, not a hosted HTTP endpoint. Register separate sandbox and production processes at user scope:
Run /mcp in Claude Code to inspect or reconnect the server. Start a new Claude Code session if the current session does not refresh its tool inventory after registration. Use -s project only when you intentionally want to commit a team-wide .mcp.json. Never place API keys or access tokens in that file.

Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
Restart Claude Desktop after saving the file.

Local repo build

Use this when you are working inside craveup-turborepo and need the newest MCP tools from source:
Then configure your MCP client to run the built CLI:

Environment and authentication

CRAVEUP_ENVIRONMENT is required and must be sandbox or production. The MCP server resolves the dashboard, public/admin APIs, Clerk issuer/client, expected API-key prefix, and credential namespace from that one value. It refuses a test/live key or endpoint mismatch before making a request. The environment is immutable for the lifetime of an MCP process. Use two named registrations rather than an in-session switch: craveup-sandbox for development and craveup-production for go-live work. This keeps hosts, credentials, API keys, and browser sessions isolated. In sandbox, Crave uses its platform Stripe test account for PaymentIntents, so developers can build a storefront and place test orders without creating a merchant connected account or subscription. In production, the dashboard and setup tools remain available before commercial onboarding is complete. Stripe Connect KYC, banking, and subscription are required only before the merchant can accept real payments. The MCP server supports three authentication modes. To create an API key, open Business Manager and go to Dashboard > Developers > API Development > Step 1 - API Keys. API keys are tied to an organization and may be restricted to specific locations; each MCP call still needs a target locationId.

Sign in from chat

Requires @craveup/mcp 0.5.0 or later. An API key is scoped to an organization that already exists, so it cannot unlock organization setup or the go-live tools. For those, the agent can start a browser sign-in for you — no craveup login in a terminal, and no API key in the configuration. CRAVEUP_ENVIRONMENT is still required, since it selects which dashboard and Clerk issuer the sign-in targets:
Then ask the agent to sign you in. It runs:
  1. start_crave_auth — returns a hosted Crave Up URL. Open it and sign in, or create a free account.
  2. complete_crave_auth — finishes the exchange and stores the session.
The session is written to the macOS keychain, falling back to ~/.config/craveup/credentials.json, and is shared with the craveup CLI — so signing in through either one satisfies the other. Run whoami at any time to confirm which account is active.
On versions before 0.5.0 these tools are absent. Upgrade, or run craveup login from a terminal to produce the same shared session.
Normal MCP requests reuse the persisted CLI/MCP session; they do not open a browser. Browser authentication happens only when start_crave_auth (or craveup login) is explicitly started. Sandbox and production sessions are stored separately.
Do not put production API keys in shared prompt text, screenshots, recordings, or public repository files. Pass credentials through the MCP client environment instead.

Available tools

Exact tool availability depends on the installed package version. The current repository source exposes these tool groups; installed npm versions may differ: Multi-location and sandbox tools — create_location, delete_location, list_locations, get_location_orders, list_customers, set_menu_active, and seed_sandbox_analytics — are available from 0.4.0. Browser auth is available from 0.5.0. The repo source can carry tools ahead of the published package; use the local repo build if you need one before its release. For mobile releases, first run craveup apps configure in the Expo/React Native project and commit the generated .eas/workflows files. The MCP release trigger only supports internal TestFlight. It requires the exact confirmation phrase and a scoped Expo robot token because dispatching a workflow consumes EAS build minutes. Android internal publishing stays in the CLI so the local Play submit profile can be verified immediately before submission. Apple password/2FA prompts remain in a visible terminal, and public App Store review remains a separate App Store Connect action.

Example prompts

Once connected, ask your agent for Crave-specific work:

Faster setup with a prebuilt prompt

Use the prebuilt prompt when you want an AI agent to start with Crave Cloud, Crave.js, Storefront API, and MCP context already loaded.

Use the storefront prompt

Copy a ready-to-use agent prompt for building a Crave-powered storefront.

Get an API key

Create the key and location ID your MCP server or storefront needs.

Troubleshooting