Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
作者提供的说明(英文原文)
FastMCP commerce server starter: product catalog, search, and checkout. Deploy to Vercel in 5 min.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp-commerce-starter.vercel.app/mcp在终端中运行这条命令
claude mcp add --transport http commerce-starter https://mcp-commerce-starter.vercel.app/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"commerce-starter": {
"url": "https://mcp-commerce-starter.vercel.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"commerce-starter": {
"type": "http",
"url": "https://mcp-commerce-starter.vercel.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp-commerce-starter.vercel.app/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 NewPlanetWW 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于6个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
X-API-Key header, toggle with REQUIRE_AUTH=true/healthStack: Python · FastMCP · FastAPI · Vercel
git clone https://github.com/NewPlanetWW/mcp-commerce-starter
cd mcp-commerce-starter
python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt
python server.py
Test the health endpoint:
curl http://localhost:8000/health
Requires Node 18+ for the Vercel CLI. No GitHub required — the CLI uploads directly.
npm i -g vercel
vercel login vercel --prod
The CLI prints your production URL. Your MCP endpoint is at:
https://your-project.vercel.app/mcp
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):
{
"mcpServers": { "commerce-catalog": { "command": "uvicorn", "args": ["server:app", "--host", "127.0.0.1", "--port", "8001"], "env": { "REQUIRE_AUTH": "false" }, "cwd": "/path/to/mcp-commerce-starter" } } }
Option B — Remote (after Vercel deploy) using mcp-remote:
{
"mcpServers": { "commerce-catalog-remote": { "command": "npx", "args": [ "-y", "mcp-remote@latest", "https://your-project.vercel.app/mcp", "--header", "Authorization: Bearer ${MCP_API_KEY}" ], "env": { "MCP_API_KEY": "your-secret-key" } } } }
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:
# server.py — swap PRODUCTS for a live query
import psycopg2 # or SQLAlchemy, Supabase, etc.
def get_products():
return [...]
PRODUCTS = get_products()
Replace the stub in initiate_checkout with a real Stripe session:
import stripe
stripe.api_key = os.getenv("STRIPE_SECRET_KEY")
session = stripe.checkout.Session.create( line_items=[{"price": price_id, "quantity": quantity}], mode="payment", success_url="https://yourstore.com/success", cancel_url="https://yourstore.com/cancel", ) return {"success": True, "checkout_url": session.url, ...}
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)mcp-commerce-starter/
├── server.py # FastMCP app — resource, tools, middleware, FastAPI mount ├── requirements.txt # Pinned dependencies ├── vercel.json # Vercel deployment config ├── mcp.json # MCP server manifest ├── .env.example # Environment variable template └── README.md
This starter is the code companion to the AgentMall spoke series on 30DayPivot:
MIT