Whole Foods (MCP)¶
Carting Whole Foods through an MCP server. Search, product details, add, remove, view, clear. Cart only — purchasing is the user's.
What it can and cannot do¶
There is no order-history access. The MCP has only search, product-details, and cart tools. There is no "previous orders" tool, resource, or prompt. So "similar to what we've ordered before" is resolved from a curated usuals list, not by scraping the account.
That's the design. A curated list holds exactly the repeat items and filters out the one-offs, which is better than order history for re-ordering. ASINs are the stable key — store the ASIN, not "the cheddar".
Cart workflow¶
- Search with a simple 1–2 word query. Long multi-word queries dilute results.
- Pick the right product, note its ASIN. Use product details if you must disambiguate by brand, size, price, or ingredients.
- Add by ASIN.
- View the cart to confirm it landed.
- If adds fail, log in and save the session, then retry.
can_add_to_cart: false is not broken
Search works logged-out, but cart actions need a logged-in, store-selected session. A false here is an auth state, not a bug. Run the login tool, complete it in the visible window, save the session, and retry.
Weight-based produce and meat work through add-to-cart, it pulls the product page for fresh add-to-cart data. A 400 means the item is genuinely unavailable at the selected store.
The usuals pattern¶
When the request is "add X like before" or "the usual X":
- Look the item up in the usuals list by category and descriptor.
- If found, add its ASIN directly — deterministic, same item, no drift.
- If not found, search, pick the best match, add it, then append it to the usuals list so next time it's deterministic.
- If ambiguous, show the top two or three with price and size and let the user pick. Don't silently guess.
Prices drift, so usuals prices are a baseline for disambiguation, not a guarantee. The live add-to-cart and view-cart are the source of truth.
See also¶
- Mealie — the recipe-derived grocery list that feeds the same weekly order