Ranking a live search by protein or sugar is the thing nothing else here does, and it works without signing in. The boundary is drawn where it should be: the basket, the slot and the amend window are all reachable, but checkout returns a URL and a person completes the payment.
An MCP server over your own Tesco account, talking to Tesco's GraphQL gateway rather than scraping the page. Its distinguishing feature is nutrition: where a product lists on-pack values, they come back as typed macros and named micronutrients you can filter and rank a search by. Checkout stops at the payment URL — a person finishes it in a browser.
- basketeer_search and basketeer_product — search the catalogue for SKU, title, price, offers and quantity rules, or fetch one product by SKU with its pack size, promotions and nutrition
- basketeer_nutrition and basketeer_search_by_nutrition — normalized macros and micronutrients per 100g or ml for a product, and a search filtered and ranked by them
- basketeer_favourites — the signed-in customer's usuals with prices, offers and quantity rules
- basketeer_basket_get, basketeer_basket_set and basketeer_basket_remove — read the basket with its guide price, set a line to an exact quantity (zero removes it), or drop a SKU entirely
- basketeer_slots_list — delivery slots over a date window, defaulting to the next week
- basketeer_orders_list, basketeer_last_order and basketeer_orders_cancel — upcoming orders with their items and amend window, the last delivered order for reordering, and cancellation in two steps with a confirmation token
- basketeer_checkout — the current basket and the URL where a person completes payment; the server never places or pays for an order
A Tesco account and a saved session for anything account-scoped — favourites, basket, slots and orders. Nutrition and catalogue reads work anonymously with no login at all. Clients run the basketeer-mcp binary from the npm package over stdio; Node.js 18 or newer. Read-only and destructive tools carry MCP annotations, and 3-D Secure payment is deliberately left to a human in a browser.
One command — npm install basketeer
