Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Pinch Grocery Prices (Australia)

REMOTE · PINCH-APP.COM

Live Australian grocery prices from Woolworths, Coles, Aldi and Harris Farm.

Available components

0 this week 87 Trust /100

Last scanned (4 hours ago)

Scores higher than 94% of remote servers

Reachable. Last reached 5 Nov 2026.

Category E-commerce

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability63
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2886 tokens (~288/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 90% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 16 Sept 26 0
    • Stability: 0.97 → pass security
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 18 Aug 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 17 Aug 26 0
    • Transport: unverified → pass ▲ security
    • Authorization: Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. security
    • MCP protocol: unverified → fail ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 90 functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
  • 15 Aug 26 0

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://pinch-app.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=pinch-app.com CN=YE1,O=Let's Encrypt,C=US 22 Oct 2026 20 Jan 2027 ECDSA 256 ECDSA-SHA384 6a3440f14c5b298ef03afaf434527e3eeef
SANs: pinch-app.com, www.pinch-app.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of pinch-app.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
pinch-app.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://pinch-app.com/api/mcp Verified 200
http (plaintext) http://pinch-app.com/api/mcp HTTPS enforced 301 https://pinch-app.com/api/mcp
MCP tools · 10 exposed · ~2,623 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
batch_search ~668

ADVANCED / manual selection. Do NOT use this to build a shopping list: for any list of 2 or more items, call build_basket (one call, server-side, cheapest pick per item). Use batch_search only when you need the RAW candidate products for items you intend to select MANUALLY (for example, to override build_basket's pick on one item). It searches multiple items in parallel and returns raw candidate products per query (up to candidates_per_retailer per retailer) with NO filtering or scoring applied. WORKFLOW: 1. Call batch_search with your shopping list items 2. Review the candidates for each item. For each query, pick the single best product_id per retailer that actually matches what the user wants (correct product type, reasonable size, not a different product). If none of the candidates are a good match for a query, call batch_search again with a refined query (e.g., more specific terms, different wording) 3. Once you have confirmed product_id selections for all items, call save_basket with your picks TIPS: - Set product_type to help narrow results to the right category (e.g., fresh_produce for herbs and vegetables) - Each candidate includes a product_categories field (JSON array of retailer category labels like 'Yoghurt', 'Herbs & Spices', 'Sausages'). Use this to distinguish the actual product type when names are ambiguous (e.g., 'oregano' the herb vs 'oregano sausages') - Prefer products where the name clearly matches the query intent - For staples (milk, eggs, bread), the cheapest option is usually the store brand - If results look wrong (e.g., searching 'rosemary' returns snacks instead of herbs), retry with a more specific query like 'fresh rosemary' - Each item includes a 'cheapest' hint with one entry per retailer. This is the cheapest candidate whose product_categories match the inferred subcategory for the query, NOT necessarily the lowest unit_price overall: a clearly off-category cheaper item (e.g., a snack bar under 'peanut butter') is deliberately ex…

NameTypeReqDescription
candidates_per_retailernumber–Number of candidate products to return per retailer per item (1-30, default 10). Use more candidates if you expect ambiguous results.
itemsarrayyesList of grocery items to search (1-20 items).
retailersarray–Filter to these retailers only. If omitted, all 4 are searched.

No output schema declared.

No examples provided.

build_basket ~515

MANDATORY for shopping lists. When the user gives you 2 or more grocery items, call this tool ONCE with the full list. Do NOT call decompose_product, search_products, or batch_search per item: this tool searches every item in parallel with built-in query analysis (category routing, brand aliases, subcategory boost) and returns a basket with per-item cheapest pick, per-retailer options, basket total, retailer totals, and a shareable share_url. If the user named the stores they shop at, pass them in 'retailers'; otherwise omit it to search all four. VALIDATION (mandatory before rendering): The search engine uses keyword matching, so wrong products leak through. Items flagged with a 'review' field on their cheapest pick are LIKELY WRONG and need your attention first. Then scan ALL picks (flagged or not) and check: (1) Is the product actually what was asked for? (e.g. 'frozen chips' is NOT 'frozen blueberries', 'sweet potato' is NOT 'potato', 'chicken fingers crumbed' is NOT 'chicken breast') (2) Is the size/form correct? (e.g. 400g pack is not a valid match for '2kg') (3) Is the selected option the cheapest CORRECT product, not just the cheapest product? If a pick is wrong: pick the correct product from by_retailer options for that item, or mark as '(check in store)'. Recalculate basket_total from your corrected picks. OUTPUT FORMAT: Line 1: '**Cheapest basket: $X.XX**' (use corrected basket_total). Then ONE markdown table with columns: Item | Product | Store | Price | Size. Then one line: 'View and share this basket: <share_url>'. Use '(check in store)' in the Product cell for items in items_missing or where no correct product exists. No preamble, no per-item narration, no follow-up offers.

NameTypeReqDescription
itemsarrayyesShopping list items exactly as the user wrote them, e.g. ['4 bananas', 'whole chicken', '12 free range eggs', 'full cream milk 2L', 'spaghetti', 'sliced white bread']. Include any size/quantity in th…
retailersarray–Only return results from these stores. Omit to search all four.

No output schema declared.

No examples provided.

compare_prices ~63

Compare prices for the same product across retailers using its barcode. Returns all retailers stocking the product, sorted cheapest first. About 7,800 products have barcode matches.

NameTypeReqDescription
barcodestringyesEAN-13 barcode (e.g., '9300675016902')

No output schema declared.

No examples provided.

decompose_product ~743

ADVANCED / single item. Do NOT use this to build a shopping list: for any list of 2 or more items, call build_basket (one call, server-side). Use decompose_product only to break ONE item into structured search attributes when you intend to override build_basket's pick for that single item. This does not call any API; it is a structured reasoning step. OUTPUT: canonical_query, disqualifiers, and suggested_category for that single item. Fill in every field based on what a typical Australian family would mean by this item. CORE RULE: Unless the user literally specifies a brand, brand_preference MUST be null and the strategy is cheapest-first (unit_price_asc, no retailer filter).

NameTypeReqDescription
barcode_eligiblebooleanyestrue for branded packaged goods (Weet-Bix, Vegemite, cheese slices, chips). false for fresh produce, meat, and store-brand generics. When true AND a result has a barcode, call compare_prices to check…
brand_preferencestring–ONLY set this if the user LITERALLY named a brand (e.g. 'Weet-Bix', 'Vegemite'). If the user wrote a generic item like 'milk', 'chicken breast', 'eggs', 'bread', this MUST be null. When null, Pinch f…
canonical_querystringyesThe cleaned search term to use with search_products. Strip sizes and brands (unless brand IS the product, like 'Vegemite'). 'chicken breast bulk pack' becomes 'chicken breast fillets'. 'Sanitarium We…
category_patharrayyesOntological path from general to specific, e.g. ['meat', 'poultry', 'chicken', 'breast'] or ['pantry', 'cereal', 'wheat biscuits']
disqualifiersarrayyesTerms that indicate a WRONG product. Results containing these MUST be excluded. e.g. for 'chicken breast': ['thigh', 'drumstick', 'wing', 'nugget', 'schnitzel', 'crumbed', 'marinated']. For 'Vegemite…
qualifiersarrayyesSoft preferences that improve a match but don't disqualify if absent. e.g. ['skinless', 'boneless'] for chicken breast, ['Australian'] for sultanas
quantityobjectyesTarget size. Use to filter results after search. Family intent means prefer larger sizes for better unit price.
raw_inputstringyesThe item exactly as the user wrote it
suggested_categorystring–The grocery store category to filter search results. Use this to prevent wrong-category contamination. e.g. 'Pantry' for rice crackers (prevents dairy lunch packs), 'Fruit & Vegetables' for fresh pro…

No output schema declared.

No examples provided.

get_cheapest ~74

Find the cheapest option for a product across all Australian grocery retailers. Searches by name and returns results sorted by price ascending.

NameTypeReqDescription
limitnumber–Number of results (1-50, default 10)
product_namestringyesProduct to search for (e.g., 'full cream milk 2L')

No output schema declared.

No examples provided.

get_price_history ~75

Get historical price data for a product. Shows price changes over time with stats (lowest, highest, average). History depth depends on your tier (30-365 days).

NameTypeReqDescription
daysnumber–Number of days of history (default: max for your tier)
product_idstringyesProduct ID from search results

No output schema declared.

No examples provided.

get_product ~41

Get detailed information about a specific grocery product by its ID. Product IDs are returned in search results.

NameTypeReqDescription
product_idstringyesProduct ID from search results

No output schema declared.

No examples provided.

get_specials ~123

Get current grocery specials and promotions. Filter by retailer or category. Results include savings amounts. Updated weekly. Specials captured before the most recent Wednesday catalogue changeover (Coles/Woolworths) are excluded as unconfirmed; after a changeover the list can be near-empty until the next collection. Individual products still expose such prices via get_product with special_may_have_ended: true.

NameTypeReqDescription
categorystring–Filter by category
limitnumber–Number of results (1-50, default 20)
retailerstring––

No output schema declared.

No examples provided.

save_basket ~196

ADVANCED / manual commit. Do NOT use this to build a basket from a shopping list: for any list of 2 or more items, call build_basket (it searches, picks the cheapest, totals, and returns a share_url in one call). Use save_basket only to commit a basket from product_ids you have ALREADY chosen yourself (for example, after overriding build_basket's pick on an item). It computes totals and returns a shareable basket URL. For each item, provide the query string and one product_id per retailer (the best match you found in batch_search results). You do NOT need a pick for every retailer; omit a retailer if no good match was found. IMPORTANT: Only call this after you have reviewed batch_search results and confirmed your picks. Do not pass product_ids blindly from search results.

NameTypeReqDescription
selectionsarrayyesList of confirmed product selections, one entry per shopping list item.

No output schema declared.

No examples provided.

search_products ~125

Search Australian grocery products across Woolworths, Coles, Aldi, and Harris Farm. Returns product name, price, brand, category, unit price, and whether it's on special.

NameTypeReqDescription
categorystring–Filter by category
limitnumber–Number of results (1-50, default 20)
on_specialboolean–If true, only return products on special
querystringyesSearch query (e.g., 'full cream milk', 'chicken breast')
retailerstring––
sortstring––

No output schema declared.

No examples provided.

Install

How do I install the Pinch Grocery Prices (Australia) MCP server?

Pinch Grocery Prices (Australia) is a hosted endpoint at https://pinch-app.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · pinch-app.com

# add to Claude Code
claude mcp add --transport http com-pinch-app-grocery 'https://pinch-app.com/api/mcp'
Common questions

What is the Pinch Grocery Prices (Australia) MCP server?

Pinch Grocery Prices (Australia) is an MCP server listed in the public MCP registry as com.pinch-app/grocery. Live Australian grocery prices from Woolworths, Coles, Aldi and Harris Farm. This page covers its hosted endpoint (https://pinch-app.com/api/mcp).

Is the Pinch Grocery Prices (Australia) MCP server safe to use?

Pinch Grocery Prices (Australia) scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Pinch Grocery Prices (Australia) MCP server expose?

Pinch Grocery Prices (Australia) exposes 10 tools: search_products, get_product, compare_prices, get_price_history, get_specials, and 5 more. Their descriptions and schemas cost roughly 2,623 tokens of context every time the server is loaded.

Does the Pinch Grocery Prices (Australia) MCP server require authentication?

Yes. Pinch Grocery Prices (Australia) asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Pinch Grocery Prices (Australia) MCP server still maintained?

Pinch Grocery Prices (Australia) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.