mcpField
M
MCP Commerce Server Starter

MCP Commerce Server Starter

远程服务
30daypivot.com开发工具023 周前更新

关于 MCP Commerce Server Starter

MCP Commerce Server Starter 是用于构建电商服务的 FastMCP 样板,适合需要商品目录、搜索和结账流程的开发者。它包含可选的 API 密钥验证和 Vercel 部署配置。

主要功能

  1. 01商品目录资源
  2. 02支持筛选的商品搜索
  3. 03结账摘要与链接
  4. 04可选 API 密钥验证
  5. 05Vercel 部署配置

适用场景

  1. 01创建 MCP 商品目录
  2. 02让 Agent 按类别或价格筛选商品
  3. 03由电商服务返回结账信息
  4. 04将电商服务部署到 Vercel

MCP 相关

该服务向兼容 MCP 的客户端提供商品目录资源,以及搜索和结账工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp-commerce-starter.vercel.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

MCP Commerce 服务入门模板

用于 Commerce MCP 服务的克隆即部署模板。五分钟即可在 Vercel 上线。Claude、ChatGPT、Gemini、Cursor 及所有其他兼容 MCP 的客户端均可访问。

完整构建指南(逐行讲解缘由): 如何在 2026 年构建 MCP 服务


你将获得

  • 产品目录资源 — Agent 在采取行动前读取完整目录
  • search_products 工具 — 按关键词、类别和最高价格筛选
  • initiate_checkout 工具 — 返回订单摘要和结账 URL
  • 可选 API 密钥身份验证 — 使用 X-API-Key 标头,通过 REQUIRE_AUTH=true 切换
  • /health 健康检查端点
  • 适配 Vercel — 一条命令即可部署,可使用免费 Hobby 套餐

技术栈: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
# Server running at http://localhost:8000
# MCP endpoint: http://localhost:8000/mcp
# Health check: http://localhost:8000/health

测试健康检查端点:

curl http://localhost:8000/health
# {"status":"ok","server":"Commerce MCP Server","version":"1.0.0"}

部署到 Vercel(免费)

Vercel CLI 需要 Node 18+。无需 GitHub — CLI 会直接上传。

npm i -g vercel
vercel login
vercel --prod

CLI 会打印你的生产环境 URL。你的 MCP 端点位于:

https://your-project.vercel.app/mcp

在 Vercel 控制台中设置环境变量(Settings → Environment Variables):

变量默认值备注
API_KEYdev-secret-key上线前请更改
REQUIRE_AUTHfalse设置为 true 以强制要求密钥

接入 Claude Desktop

选项 A — 本地 stdio(开发期间快速迭代):

在 macOS 上编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(Windows/Linux 路径请参阅完整指南):

{
  "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"
    }
  }
}

选项 B — 远程(部署到 Vercel 后),使用 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" }
    }
  }
}

完全退出并重新启动 Claude Desktop。提问:“你有哪些价格低于 $100 的产品?” — Claude 会调用 search_products 并返回你的产品目录。


自定义

替换示例产品

编辑 server.py 中的 PRODUCTS 列表。每个产品需要包含:sku、name、price、description、availability、category、image_url。

要接入实际库存,请将该列表替换为数据库调用:

# server.py — swap PRODUCTS for a live query
import psycopg2  # or SQLAlchemy, Supabase, etc.

def get_products():
    # your DB query here
    return [...]

PRODUCTS = get_products()
添加 Stripe 结账

将 initiate_checkout 中的桩代码替换为真实的 Stripe 会话:

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, ...}

你会遇到的 5 个错误(以及修复方法)

完整指南中有详细介绍:30daypivot.com/agentmall_spoke_mcp

  1. MCP error -32600 — 初始化顺序违规
  2. 422 Unprocessable Entity — Pydantic 模型与普通参数不匹配
  3. 405 Method Not Allowed — CORS 允许的方法中缺少 DELETE
  4. stateless_http not set — Vercel 无服务器环境要求设置 stateless_http=True
  5. ModuleNotFoundError: mcp — 包名称错误(应为 mcp[cli],而不是 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

深入了解

此入门模板是 30DayPivot 上 AgentMall 系列配套代码的一部分:


许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。