超市购物连接服务

MCP Carrefour是一个开源服务,连接Carrefour Drive到Claude、Cursor、VS Code等MCP客户端,支持实时产品搜索、购物车管理及促销查询。

  • by nicovlr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nicovlr/mcp-carrefour

使用说明

MCP家乐福

开源MCP服务器,将家乐福驱动器连接到Claude、Cursor、VS代码和任何MCP客户端。

搜索具有真实价格、NutriScore和可用性的产品。用自然语言管理购物车。

功能

工具 说明
search_products 按实际时间、Nutriscore、有机、特价搜索产品
get_product_details 产品详情(营养、成分)
find_stores 按邮政编码划分的商店/驱动器
add_to_cart 添加到购物车
view_cart 查看购物车总计
remove_from_cart 镇压敌人
get_promotions 按类别分类的当前促销活动

安装

先决条件

  • Python 3.11+
  • curl_cffi (绕过Cloudflare)

设置

git clone https://github.com/nicovlr/mcp-carrefour.git
cd mcp-carrefour
pip install mcp httpx curl_cffi

添加到Claude代码

claude mcp add carrefour -- python3 /chemin/vers/mcp-carrefour/src/server.py

配置JSON(克劳德桌面/光标)

{
  "mcpServers": {
    "carrefour": {
      "command": "python3",
      "args": ["/chemin/vers/mcp-carrefour/src/server.py"]
    }
  }
}

提示示例

"Cherche du lait d'avoine bio au meilleur prix"
"Fais-moi une liste de courses pour 2 personnes vegetariennes, 50EUR max"
"Quelles sont les promos sur les fruits ?"
"Ajoute 2kg de carottes et 500g de lentilles a mon panier"
"Compare les prix du lait entre Carrefour Bio et Bjorg"

它是如何工作的

  1. 会话 : curl_cffi 模仿Chrome浏览器切换到Cloudflare
  2. 报废SSR :解析le routeData 来自HTML的Nuxt(JSON格式:索引API)
  3. 缓存SQLite :TTL 30分钟以避免速率限制
  4. 节流 :每个请求之间的2s

按产品提取的数据

  • Nom、marque、slug
  • 价格,价格/单位(欧元/千克,欧元/升)
  • 营养评分(A-E)
  • 标签生物
  • 促销
  • 客户评级+评论数量
  • 代码ean-13
  • 图像

建筑

mcp-carrefour/
  src/
    server.py          # Serveur MCP (7 tools)
    api/
      client.py        # Client HTTP Carrefour (curl_cffi + parsing Nuxt)
      models.py        # Product, Store, Cart, CartItem
    cache/
      cache.py         # Cache SQLite
  config/
    config.json        # Configuration utilisateur

局限性

  • 没有家乐福公共API:解析SSR HTML(如果家乐福改变其前端,可能会中断)
  • 速率限制:缓存和节流限制为约30 req/min
  • 仅限本地购物车(不与家乐福帐户同步)
  • 产品可用性=国家目录(不是每个商店,没有认证)

许可证

麻省理工学院