The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Commerce Server Starter listing page.
Clone-and-deploy boilerplate for a commerce MCP server. Live on Vercel in five minutes. Reachable by Claude, ChatGPT, Gemini, Cursor, and every other MCP-compatible client.
Full build guide (with the why behind every line): How to Build an MCP Server in 2026
search_products Tool — keyword + category + max-price filterinitiate_checkout Tool — returns order summary + checkout URLX-API-Key header, toggle with REQUIRE_AUTH=true/healthStack: Python · FastMCP · FastAPI · Vercel
Test the health endpoint:
Requires Node 18+ for the Vercel CLI. No GitHub required — the CLI uploads directly.
The CLI prints your production URL. Your MCP endpoint is at:
Set environment variables in the Vercel dashboard (Settings → Environment Variables):
| Variable | Default | Notes |
|---|---|---|
API_KEY | dev-secret-key | Change before going live |
REQUIRE_AUTH | false | Set true to enforce the key |
Option A — Local stdio (fast iteration while building):
Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (see full guide for Windows/Linux paths):
Option B — Remote (after Vercel deploy) using mcp-remote:
Fully quit and relaunch Claude Desktop. Ask: "What products do you have under $100?" — Claude calls search_products and responds with your catalog.
Edit the PRODUCTS list in server.py. Each product needs: sku, name, price, description, availability, category, image_url.
For real inventory, replace the list with a database call:
Replace the stub in initiate_checkout with a real Stripe session:
Covered in the full guide: 30daypivot.com/agentmall_spoke_mcp
MCP error -32600 — initialization order violation422 Unprocessable Entity — Pydantic model vs plain args mismatch405 Method Not Allowed — missing DELETE in CORS allowed methodsstateless_http not set — serverless Vercel requires stateless_http=TrueModuleNotFoundError: mcp — wrong package name (mcp[cli], not fastmcp)This starter is the code companion to the AgentMall spoke series on 30DayPivot:
MIT