Grocery MCP

io.github.AndrewVG23由 GitHub 账号 AndrewVG23 发布v0.1.0更新于 Oct 24, 2026

Search direct grocery storefronts and create product-link pickup handoffs.

已验证Streamable HTTP可网页运行位置与生活商业与电商

概览

AI 生成的概览

搜索杂货零售商门店并返回可复核的商品链接与自提交接单,不加入购物车也不下单。

可以做什么
  • 列出支持的杂货零售商及其门店位置
  • 按零售商和门店搜索商品,并给出匹配置信度、替代品和观测时间
  • 创建并读取仅供复核的商品链接交接单,由用户自行打开
  • 保存含零售商、门店和商品的订单模板,并据此生成新的交接单
适用场景
适合让助手在支持的密尔沃基地区零售商处查询杂货并整理成可自行选购的链接清单,而不是自动完成购买。
运行要求
远程托管的 streamable HTTP MCP 端点,需 OAuth 登录(Claude 和 ChatGPT 会引导用户登录,无共享密码)。ChatGPT 需 Business、Enterprise 或 Edu 工作区才能添加自定义 MCP 服务器。自托管需 Python 3.12,可选 PostgreSQL 的 DATABASE_URL 用于持久化。
安装前请注意
它不会加入购物车、下单、保存零售商凭据或处理支付;响应中 cart_prefilled 为 false,结账需在零售商自己的网站完成。商品数据来自并非正式合作 API 的门店接口,可能随时变化,价格和库存存在不确定性。配置 DATABASE_URL 时,交接单和 OAuth 客户端注册信息会存入 PostgreSQL。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Grocery MCP,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.AndrewVG23%2Fgrocery-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "grocery": {
      "type": "http",
      "url": "https://grocery-mcp-production.up.railway.app/mcp"
    }
  }
}

README

Grocery MCP

A dedicated MCP and REST service that searches grocery retailers directly and returns reviewable product links. It starts with:

  • Kettle Range Meat Co. — Milwaukee and Elm Grove
  • Outpost Natural Foods — Capitol Drive, State Street, Bay View, and Mequon

This service does not add products to carts, place orders, store retailer credentials, or handle payment. Every response explicitly reports cart_prefilled: false; the user opens the links, adds products, and checks out on the retailer's own site.

Connect

Hosted server:

text
https://grocery-mcp-production.up.railway.app/mcp

Claude and ChatGPT sign the person in. There is no shared password.

Start with find_grocery_retailers, then search or hand off a list. Every handoff is links the person opens. cart_prefilled stays false.

Prices and stock come from the store's public site at the moment of the search. Kettle Range covers Milwaukee and Elm Grove. Outpost covers Capitol Drive, State Street, Bay View, and Mequon.

Setup

bash
python3.12 -m venv .venvsource .venv/bin/activatepip install -e ".[dev]"

Run

bash
python -m grocery_mcp.serverpython -m grocery_mcp.server --http

HTTP endpoints:

  • MCP: http://localhost:8080/mcp
  • Health: http://localhost:8080/health
  • OpenAPI: http://localhost:8080/docs
  • Retailers: http://localhost:8080/v1/retailers
  • Product search: http://localhost:8080/v1/products/search
  • Handoffs: POST http://localhost:8080/v1/handoffs

When DATABASE_URL is configured, handoffs and OAuth dynamic client registrations are persisted in PostgreSQL. Without it, local development uses process memory.

MCP tools

  • find_grocery_retailers
  • search_grocery_products
  • create_grocery_handoff
  • get_grocery_handoff
  • create_grocery_order_template
  • list_grocery_order_templates
  • create_handoff_from_template

Example handoff input:

json
{  "retailer": "kettle_range",  "location_id": "milwaukee",  "items": [    {"name": "boneless chicken thighs", "quantity": 2, "unit": "lb"},    {"name": "ground beef", "quantity": 1, "unit": "lb"}  ]}

Data behavior

Product names, prices, availability, and links come from each retailer's public customer storefront at request time. These storefront interfaces are not formal partner APIs and can change without notice. Responses include match confidence, alternatives, and observation timestamps so clients can make this uncertainty visible.

Matching requires strong token overlap, rejects obvious cross-category substitutions, and prefers available products. If no safe result exists, the item is explicitly unmatched rather than replaced with a loosely related item.

Reusable templates persist the retailer, location, and normalized grocery items. Running a template always performs fresh catalog searches and creates a new review-only handoff.

Tests

bash
ruff check .pytest

来源:README.md,提交 c1dc9f1

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。