Get UK supermarket prices into an AI assistant via MCP: a free index server and a paid full-data route
If you ask an AI assistant what groceries cost, it will usually guess or search the web. I would rather it read a dataset. The Model Context Protocol (MCP) lets an assistant call tools on a remote server, so a price dataset can be one of those tools. This article covers two routes. One is a free MC

If you ask an AI assistant what groceries cost, it will usually guess or search the web. I would rather it read a dataset. The Model Context Protocol (MCP) lets an assistant call tools on a remote server, so a price dataset can be one of those tools.
This article covers two routes. One is a free MCP server I run that serves a weekly shelf-price index and a small fixed basket. The other is Apify's hosted MCP server, which lets an assistant run two pay-per-event Actors that return product-level shelf prices on request. The free route is static snapshots and cannot answer every question. The paid route exists for the questions it cannot.
The free server has its own page, with the endpoint, tools and licence: https://data.yappman.com/mcp/.
The free index and basket are a small sample. Product-level data, on request, comes from the two paid Actors covered further down.
An assistant asked "did UK shelf prices go up this week?" has three bad options: recall something from training, search the web and quote a news article, or make up a figure. None of them gives you a dated source you can cite.
A tool call fixes the first part. The assistant asks a server for a specific week, gets rows back, and can say which week and where it came from. That is the whole idea.
For background on the wider choice of UK supermarket price sources, free and paid, I compared them in an earlier article: Where to get UK supermarket price data: free and paid, compared.
It is a small read-only server on Cloudflare Workers. It uses streamable HTTP and needs no key or account.
https://yappman-grocery-mcp.blue-bar-ca29.workers.dev/mcp Enter fullscreen mode Exit fullscreen mode It is also listed in the MCP Registry as io.github.yappmaniac/grocery-price-snapshots, and described at https://data.yappman.com/mcp/.
Product names, brands, descriptions and images are not served. Those belong to the retailers.
On a Free, Pro, Max, Team or Enterprise plan, Claude can use a remote MCP server as a custom connector. On Pro or Max:
On Team and Enterprise plans an owner adds the connector under Organization settings first, and each person then connects it. Free accounts are limited to one custom connector, which matters later in this article.
These steps follow Anthropic's help page "Get started with custom connectors using remote MCP", which I read on 27 October 2026. Menu labels change, so if yours differ, go by that page: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp
If you use Claude Code, this command should add it (I tested the Claude.ai route above, not this one):
claude mcp add --transport http supermarket-prices https://yappman-grocery-mcp.blue-bar-ca29.workers.dev/mcp Enter fullscreen mode Exit fullscreen mode Add it in ChatGPT OpenAI documents how to connect your own MCP server to ChatGPT in its developer mode help article: https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta
I have not tried it, and which plans and workspaces can do it, and the menu names, are set by OpenAI and may change, so I am not giving steps here. Follow that page. The free server's address is the one given above.
Each result from get_shelf_price_index and lookup_basket_prices carries a credit line. A well-behaved assistant will repeat it. You can ask it to.
A prompt to try: "Use the UK shelf prices connector. Call about_the_data first, then get the latest headline index and tell me the week, the week-on-week change and the credit line."
The free server has no product names, no search and no live lookups. Questions like "what does this product cost at four retailers right now" or "price my shopping list" need product-level data. I publish two Actors on the Apify Store for that:
The Store pages are the place for current pricing and what each mode does. Both are pay per event, charged to the Apify account that runs them. The Actors return current product-level data on request: the run happens when your assistant asks for it.
Apify hosts an MCP server at https://mcp.apify.com. A tools parameter in the address limits which Actors it offers as tools. It does not limit what your sign-in can reach: the client can read other runs, datasets and stores in your Apify account. If that matters, use a separate Apify account for this. Actors are written as owner/name and separated by commas. For the UK Actor:
https://mcp.apify.com?tools=yappman/uk-supermarket-price-scraper Enter fullscreen mode Exit fullscreen mode I have connected to that address from Claude as a custom connector: it signs in through Apify and lists the Actor and four helper tools. Apify's documentation shows several Actors in one tools list separated by commas, so the address for both is?tools=yappman/uk-supermarket-price-scraper,yappman/au-supermarket-price-scraper. I have connected with the Australian Actor in the list, but not with this exact address.
The four helper tools are Get Actor run, Get dataset items, Get key-value store record and Abort Actor run. Claude asks for approval before each tool call unless you change that setting. That is a client setting: if you allow a tool permanently, or use a client that runs tools automatically, Actor runs will start, and be charged, without asking.
The about_the_data tool on the free server points to the two Actors and, in a fullerData field, to that combined address, so an assistant that hits the limits of the free data can point you there.
Apify's MCP page (read 27 October 2026) gives no steps for Claude web connectors, so the Claude steps here come from my own test and Anthropic's help page.
If a tool returns something wrong or confusing, tell me in the comments.
Drafted with an AI assistant. The tests described were run on my own accounts on 27 October 2026, some by the assistant under my direction.