Search / uk.co.mygrocerypal/grocery-prices
MyGroceryPal
R0· no sign-inUK supermarket prices across 13 stores: price items and lists, see history, save lists, set alerts.
v1.3.0 · active · website · descriptor JSON · versions
Search / uk.co.mygrocerypal/grocery-prices
R0· no sign-inUK supermarket prices across 13 stores: price items and lists, see history, save lists, set alerts.
v1.3.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"grocery-prices": {
"type": "http",
"url": "https://mygrocerypal.co.uk/api/mcp"
}
}
}claude mcp add --transport http grocery-prices https://mygrocerypal.co.uk/api/mcp[mcp_servers.grocery-prices]
url = "https://mygrocerypal.co.uk/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"grocery-prices": {
"type": "remote",
"url": "https://mygrocerypal.co.uk/api/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"grocery-prices": {
"type": "http",
"url": "https://mygrocerypal.co.uk/api/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=grocery-prices&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbXlncm9jZXJ5cGFsLmNvLnVrL2FwaS9tY3AifQ%3D%3D"
}{
"servers": {
"grocery-prices": {
"type": "http",
"url": "https://mygrocerypal.co.uk/api/mcp"
}
}
}{
"mcpServers": {
"grocery-prices": {
"httpUrl": "https://mygrocerypal.co.uk/api/mcp"
}
}
}extensions:
"grocery-prices":
enabled: true
name: "grocery-prices"
type: streamable_http
uri: "https://mygrocerypal.co.uk/api/mcp"
timeout: 300
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changes, stability.rug_pull, stability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvablecompare_basketchangeddescription, output schemaTotal a basket of up to 30 products at each UK supermarket, name the cheapest single store, and suggest a split across two or three stores when it is cheaper or gets more of the list. Needs the user's MyGroceryPal account.
Total a basket of up to 30 products at each UK supermarket, name the cheapest single store, and suggest a split across two or three stores when it is cheaper or gets more of the list. A store that does not sell a product is priced with its own like-for-like equivalent where one clearly matches (another supermarket's own-brand cottage cheese for ASDA's), listed in its swaps. Each store says whether it delivers (false means in store only) and any online minimum order its total misses. Needs the user's MyGroceryPal account.
find_cheaper_swapschangedoutput schemaprice_shopping_listchangeddescription, output schemaPrice a whole shopping list or recipe in one call: up to 40 lines in plain words. Matches each line to a product, then totals the list at one named store, or finds the cheapest single store and any cheaper split across two or three stores. Each priced line has a storeUrl that opens the product at that store: give the user these links when they want to buy. Store totals cover only the lines that store priced: each says itemsPriced, missingLines and complete, so never present a partial total as the full shop. Lines in unmatched are in no total; close_match_only lines carry candidates to offer the user. To hand the user a page with the list priced at every store, call create_list_page. Afterwards, offer to save the list to their MyGroceryPal account with save_shopping_list.
Price a whole shopping list or recipe in one call: up to 40 lines in plain words. Matches each line at each store separately, then totals the list at one named store, or finds the cheapest single store and any cheaper split across two or three stores. Each priced line has a storeUrl that opens the product at that store: give the user these links when they want to buy. Each line's label says how the product compares with the line: same_product, equivalent, or different (a closest match the user should check). Store totals cover only the lines that store prices like-for-like: each says itemsPriced, missingLines, closeMatchLines (closest matches, in no total) and complete, so never present a partial total as the full shop; sharedLines compares the leading stores on the lines they all price. Stores in pausedStores are in no total. Lines in unmatched are in no total; close_match_only lines carry candidates to offer the user. To hand the user a page with the list priced at every store, call create_list_page. Afterwards, offer to save the list to their MyGroceryPal account with save_shopping_list.
check_price_historychangeddescription, input schema, output schemaSay whether a product's cheapest current price is a good deal: its 60-day low and high, its typical price, and a verdict. Give a date to also get each store's price that day, promotions and loyalty prices included, for checking an old receipt; add paidPence to compare what the user paid. History starts in late July 2025; a store with no reading that day shows the nearest one within 3 days, with its date. Dates more than 90 days back need the user's MyGroceryPal account.
Say whether each product's cheapest current price is a good deal: its 60-day low and high, its typical price, and a verdict. Takes up to 40 productIds in one call, so check a whole basket at once. For one product, give a date to also get each store's price that day, promotions and loyalty prices included, for checking an old receipt; add paidPence to compare what the user paid. History starts in late July 2025; a store with no reading that day shows the nearest one within 3 days, with its date. Dates more than 90 days back need the user's MyGroceryPal account.
search_grocery_priceschangedoutput schemacompare_basketchangedoutput schemafind_cheaper_swapsaddedFor a shopping list or basket of up to 40 items and ONE store, find the cheapest acceptable swap for each item at that same store: own brand or value ranges, other brands, and other pack sizes compared per unit. Every swap is labelled same_product, equivalent or different (cheaper but not like-for-like): offer different ones to the user to choose, never as a given. Use this when the user wants to stay at their store but spend less, instead of comparing items by hand.
price_shopping_listchangedoutput schemaremove_saved_itemsaddedRemove products from the user's MyGroceryPal shopping list, or delete them from their saved items altogether. Takes productIds from list_saved_items. Confirm with the user before removing. Safe to repeat: products already gone are reported in notFoundProductIds and nothing else changes. Needs the user's MyGroceryPal account.
list_saved_itemsaddedRead the user's MyGroceryPal saved items and shopping list: each product's productId, quantity, whether it is on the shopping list, and its price at their chosen or cheapest store. Up to 100 products, shopping list first, newest first. Use the productIds with remove_saved_items or price tools. Needs the user's MyGroceryPal account.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-96% +updated-2d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mygrocerypal.co.uk/api/mcp streamable-http | none | yes | 96% | 618 ms | 2025-11-25 | 2026-11-14 |
check_price_historyread-only | Say whether each product's cheapest current price is a good deal: its 60-day low and high, its typical price, and a verdict. Takes up to 40 productIds in one call, so check a whole basket at once. For one product, give a date to also get each store's price that day, promotions and loyalty prices included, for checking an old receipt; add paidPence to compare what the user paid. History starts in late July 2025; a store with no reading that day shows the nearest one within 3 days, with its date. Dates more than 90 days back need the user's MyGroceryPal account. |
compare_basketread-only | Total a basket of up to 30 products at each UK supermarket, name the cheapest single store, and suggest a split across two or three stores when it is cheaper or gets more of the list. A store that does not sell a product is priced with its own like-for-like equivalent where one clearly matches (another supermarket's own-brand cottage cheese for ASDA's), listed in its swaps. Each store says whether it delivers (false means in store only) and any online minimum order its total misses. Needs the user's MyGroceryPal account. |
create_deal_alert | Watch a brand or a keyword on the user's MyGroceryPal account, so they hear when a matching product goes on offer. Needs the user's MyGroceryPal account. |
create_list_pageread-only | Make a link to a MyGroceryPal page that prices a shopping list at every UK supermarket, with each store's total, links to buy at each store, and a button to save the list to a MyGroceryPal account. Needs no sign-in and stores nothing. Up to 40 lines; pin a productId on a line to keep the exact product the user chose. Give the user the url when they want to see the list, share it, or shop from it. |
find_cheaper_swapsread-only | For a shopping list or basket of up to 40 items and ONE store, find the cheapest acceptable swap for each item at that same store: own brand or value ranges, other brands, and other pack sizes compared per unit. Every swap is labelled same_product, equivalent or different (cheaper but not like-for-like): offer different ones to the user to choose, never as a given. Use this when the user wants to stay at their store but spend less, instead of comparing items by hand. |
get_nutritionread-only | Nutrition per 100g or 100ml (energy, fat, saturates, carbohydrates, sugars, fibre, protein, salt) and the Nutri-Score grade for one product, from Open Food Facts. Many products have none. Credit Open Food Facts when you use these numbers. |
list_saved_itemsread-only | Read the user's MyGroceryPal saved items and shopping list: each product's productId, quantity, whether it is on the shopping list, and its price at their chosen or cheapest store. Up to 100 products, shopping list first, newest first. Use the productIds with remove_saved_items or price tools. Needs the user's MyGroceryPal account. |
price_shopping_listread-only | Price a whole shopping list or recipe in one call: up to 40 lines in plain words. Matches each line at each store separately, then totals the list at one named store, or finds the cheapest single store and any cheaper split across two or three stores. Each priced line has a storeUrl that opens the product at that store: give the user these links when they want to buy. Each line's label says how the product compares with the line: same_product, equivalent, or different (a closest match the user should check). Store totals cover only the lines that store prices like-for-like: each says itemsPriced, missingLines, closeMatchLines (closest matches, in no total) and complete, so never present a partial total as the full shop; sharedLines compares the leading stores on the lines they all price. Stores in pausedStores are in no total. Lines in unmatched are in no total; close_match_only lines carry candidates to offer the user. To hand the user a page with the list priced at every store, call create_list_page. Afterwards, offer to save the list to their MyGroceryPal account with save_shopping_list. |
remove_saved_itemsdestructive | Remove products from the user's MyGroceryPal shopping list, or delete them from their saved items altogether. Takes productIds from list_saved_items. Confirm with the user before removing. Safe to repeat: products already gone are reported in notFoundProductIds and nothing else changes. Needs the user's MyGroceryPal account. |
save_shopping_list | Add products to the user's MyGroceryPal shopping list, so they can open it in the app or on the web, and get deal alerts on saved products the way their MyGroceryPal notification settings say. Only adds: a product already on the list is left as it is. Needs the user's MyGroceryPal account. |
search_grocery_pricesread-only | Find grocery products and their current price at every UK supermarket MyGroceryPal tracks, cheapest store first, the same results shoppers see on mygrocerypal.co.uk. Narrow with brands, stores, ownBrandOnly, onOfferOnly and category; sort by unit_price to compare pack sizes, or biggest_saving for deals. Returns 5 products unless limit says otherwise, with totalHits and a nextCursor for the next page. A loyaltyCard price needs that card (Clubcard, Nectar and so on). Each price has a storeUrl that opens that store's product page: give the user these links, not ones you build, when they want to buy. For a list or a recipe, call price_shopping_list once instead. |
Schemas: list_tools.
{
"name": "uk.co.mygrocerypal/grocery-prices",
"icons": [
{
"src": "https://mygrocerypal.co.uk/web-icon-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
}
],
"title": "MyGroceryPal",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mygrocerypal.co.uk/api/mcp",
"type": "streamable-http"
}
],
"version": "1.3.0",
"websiteUrl": "https://mygrocerypal.co.uk/ai-assistants",
"description": "UK supermarket prices across 13 stores: price items and lists, see history, save lists, set alerts."
}