Grocery price snapshots MCP server
A free, read-only server that lets an AI assistant look up a price or read an index, from data we have already published. Static snapshots under CC BY 4.0.
What it serves
- The UK and Australian shelf-price indices: the published vintage files from 2026-W42.
- The UK daily 212-item basket: price, was-price, loyalty price, unit price, pack size and stock flag, per retailer per day, from 24 September 2026. The loaded days, and any day with no data, are shown by
about_the_data. - Which index vintages are loaded is shown by
list_index_vintages.
Every basket row carries a date, the retailer, the retailer's own product id and the barcode where there is one. The server does not serve product names, brands, descriptions, images or links: those are retailers' content.
The four tools
get_shelf_price_indexreturns an index vintage for the UK or Australia.list_index_vintagessays which vintages exist.lookup_basket_pricesfinds basket rows by barcode (eans) or retailer product id (products), up to 20 at a time, for one day; each result row lists its barcodes inean. Aldi has no barcodes, so use product ids for Aldi.about_the_dataexplains the licence, the limits and how to cite it.
How to connect
The endpoint is https://yappman-grocery-mcp.blue-bar-ca29.workers.dev/mcp (streamable HTTP, read-only, no key). With Claude Code:
claude mcp add --transport http supermarket-prices https://yappman-grocery-mcp.blue-bar-ca29.workers.dev/mcp
Other clients that support remote MCP servers take the same address in their MCP settings. Or call it directly:
curl -s -X POST https://yappman-grocery-mcp.blue-bar-ca29.workers.dev/mcp \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
The server is listed in the MCP Registry as io.github.yappmaniac/grocery-price-snapshots.
Limits
- Static snapshots, not live or real-time. Prices may be incomplete or out of date, so check the retailer before relying on one.
- Not full coverage. Only the data listed above is in it.
- A free hosting plan. Heavy use may be turned away for the rest of the day.
- Usage: Since version 0.2.1 the server keeps counts by tool and by the connecting client’s name from a fixed list (anything else is counted as “other”), stamped by Cloudflare with the time of the request; no client version, IP address or request content. A client name is as the client sends it and is not verified. Records written by version 0.2.0 also kept a client version family (major.minor, known clients only); they stay until the three-month retention removes them and are never selected or shown. Cloudflare keeps these records for up to three months; counts made from them are approximate.
- The index is not CPI and does not show what shoppers paid. The data is provided as is, with no warranty.
Licence and credit
Our compilation of these records is licensed CC BY 4.0. We claim no rights in retailer content, and no retailer-written text is served. Barcodes and retailer product ids are included only to identify rows. Please credit Yappman Data, for example "Source: Yappman Data, UK Supermarket Prices: Daily 212-Item Basket, CC BY 4.0", and say if you changed anything. See also the licence statement.
How it is built
It is a small server with no database of request data and no outbound calls. The only thing it stores is the usage records described above. The data is built into it from files already published, and a check at build time confirms that only the allowed fields are included.
Contact and independence
Questions, or something missing or wrong: info@yappman.com. Yappman Data is independent. It is not affiliated with or endorsed by any retailer, government body or Apify.