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 分

    請在儲存庫或註冊中心條目中宣告授權條款。