本项目是一个完整的电商应用程序,展示了如何将模型上下文协议(MCP)与FakeStore API集成。它基于Next.js、TypeScript和MCP TypeScript SDK构建。
🚀 在线演示:https://fakestore-mcp.vercel.app
🎥 视频讲解:https://www.youtube.com/watch?v=be9B8M1Ow88
# 安装依赖项
npm install
# 启动开发服务器
npm run dev
应用程序将在 http://localhost:3000 上可用。
# 安装依赖
npm install
# 启动开发服务器
npm run dev
应用程序将在 http://localhost:3000 上运行。
MCP服务器通过标准化工具提供所有功能:
login - 用户认证logout - 会话终止get_products - 支持分类过滤的产品浏览get_categories - 列出可用的产品类别add_to_cart - 向购物车添加产品remove_from_cart - 从购物车移除产品get_cart - 查看详细的购物车内容clear_cart - 清空购物车AI助理 → MCP客户端 → /api/mcp端点 → FakeStore API
↓
工具响应 ← 购物车状态 ← 数据库更新
MCP服务器将所有购物车操作作为标准化工具公开,允许AI助理以编程方式与购物车进行交互。
{
"mcp": {
"servers": {
"fakestore": {
"endpoint": "https://fakestore-mcp.vercel.app/api/mcp",
"protocol": "http"
}
}
}
}
MCP客户端应能够显示这些工具并准备好使用它们:
传统电商网站通常在结账时才要求登录。由于本项目没有结账功能,且API中的购物车基于
userId,因此将此行为移至购物车操作的CTA上。
由于API层没有持久化机制,会话在MCP层通过会话管理进行保留。硬刷新(Ctrl+F5)会使会话和购物车重置为API的值。不刷新页面的注销-登录操作应保留购物车会话。这是预期的行为。
用户操作 → React组件 → 购物车上下文 → 乐观UI更新
↓
后台同步 → FakeStore API → 状态协调
登录对话框中包含可直接使用的账户,方便测试:
支持按评分、价格或评论数量对产品进行排序
产品推荐:
传统电商系统的推荐通常基于销售数据。在本演示中,我们展示的是不在购物车中的产品。