mcp-registry/com.mcpscores/cheapest-grocery-basket · v1.0.3
As of 2026-10-19 17:22 UTC, the Mcpscores Cheapest Grocery Basket MCP server is up with a Glimind reliability score of 97/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Where to buy a whole grocery list today: local prices, per-unit and cross-store comparison.
Claude Code
claude mcp add --transport http mcpscores-cheapest-grocery-basket-mcp-se https://grocery-basket.bowling-anthony.workers.dev/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"mcpscores-cheapest-grocery-basket-mcp-se": {
"type": "http",
"url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
5 of 5 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.mcpscores%2Fcheapest-grocery-basket/fixes
{
"name": "cheapest_basket",
"description": "The complete buying decision for a shopping list: the cheapest single store that can fill it, AND the cross-store optimum that buys each line wherever it is cheapest, with the dollar savings between them and how many stops that costs. Every line carries substitutes at the other stores with the exact extra cost of choosing them, so a shopper can collapse a two-stop trip into one and see precisely what that convenience costs. Out-of-stock items are skipped in favour of an in-stock option even when",
"inputSchema": {
"type": "object",
"required": [
"items",
"zip"
],
"properties": {
"zip": {
"type": "string",
"examples": [
"30501"
],
"description": "5-digit US ZIP code, e.g. '30501'."
},
"mode": {
"type": "string",
"examples": [
"pickup"
],
"description": "Optional fulfillment intent: 'pickup' or 'delivery'."
},
"items": {
"type": "string",
"examples": [
"milk x2, eggs, bread, butter, cheese"
],
"description": "Comma-separated shopping list, optionally with quantities, e.g. 'milk x2, eggs, bread, butter, cheese'. A JSON array of {name, quantity} is also accepted."
},
"stores": {
"type": "string",
"examples": [
"aldi,publix"
],
"description": "Optional comma-separated chains the shopper is willing to visit, e.g. 'aldi,publix'."
},
"maxAgeDays": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"examples": [
14
],
"description": "Optional freshness limit in days (default 14, max 120). A price read longer ago than this is withheld rather than returned as if current; raise it to accept older readings."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
},
"title": "Cheapest way to buy a whole list, including splitting stores"
}{
"name": "find_product",
"description": "Compare a single grocery item across every collected store in a ZIP. Returns each store's actual current shelf price, whether it is on sale (and the regular price), the package size, the price normalized per comparable unit, stock, a purchase link, and when that price was last read. Use this to answer \"who has the cheapest milk near me\" — and note the answer reports BOTH the lowest sticker price and the best value per unit, which frequently disagree because the cheap sticker is a smaller package",
"inputSchema": {
"type": "object",
"required": [
"q",
"zip"
],
"properties": {
"q": {
"type": "string",
"examples": [
"milk"
],
"description": "The item to price, in ordinary shopper language, e.g. 'milk', 'eggs', 'ground beef'."
},
"zip": {
"type": "string",
"examples": [
"30501"
],
"description": "5-digit US ZIP code to price against, e.g. '30501'. Coverage is per collected ZIP; an uncovered ZIP returns an explicit error and is not charged."
},
"stores": {
"type": "string",
"examples": [
"aldi,publix"
],
"description": "Optional comma-separated chains to restrict to, e.g. 'aldi,publix'. Omit to compare every collected store."
},
"maxAgeDays": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"examples": [
14
],
"description": "Optional freshness limit in days (default 14, max 120). A price read longer ago than this is withheld rather than returned as if current; raise it to accept older readings."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
},
"title": "Compare one grocery item across nearby stores"
}{
"name": "price_basket",
"description": "Price an entire shopping list at every collected store in a ZIP, one complete basket per store. Returns per-store line items with quantities and line totals, the basket subtotal, exactly which requested items that store is missing, whether the basket is complete, stock flags, and the oldest price in the basket so staleness is visible. Use this when the shopper will make one trip and wants to know where the whole list is cheapest. Accepts quantities as 'milk x2'. Costs $0.01 USDC per call via x40",
"inputSchema": {
"type": "object",
"required": [
"items",
"zip"
],
"properties": {
"zip": {
"type": "string",
"examples": [
"30501"
],
"description": "5-digit US ZIP code, e.g. '30501'."
},
"mode": {
"type": "string",
"examples": [
"pickup"
],
"description": "Optional fulfillment intent: 'pickup' or 'delivery'. Recorded on the response; delivery fees and minimums are not collected yet and are returned as null rather than estimated."
},
"items": {
"type": "string",
"examples": [
"milk x2, eggs, bread, butter"
],
"description": "Comma-separated shopping list, optionally with quantities, e.g. 'milk x2, eggs, bread, butter'. A JSON array of {name, quantity} is also accepted."
},
"stores": {
"type": "string",
"examples": [
"aldi,publix"
],
"description": "Optional comma-separated chains to restrict to, e.g. 'aldi,publix'."
},
"maxAgeDays": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"examples": [
14
],
"description": "Optional freshness limit in days (default 14, max 120). A price read longer ago than this is withheld rather than returned as if current; raise it to accept older readings."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
},
"title": "Price a whole shopping list at each store"
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.mcpscores/cheapest-grocery-basket"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/com.mcpscores/cheapest-grocery-basket"}) over MCP.
price_basket ~448 tokenscheapest_basket ~424 tokensfind_product ~398 tokensrequest_data ~215 tokensdemand_report ~122 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fcom.mcpscores%2Fcheapest-grocery-basket?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fcom.mcpscores%2Fcheapest-grocery-basket?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.mcpscores%2Fcheapest-grocery-basket.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.mcpscores%2Fcheapest-grocery-basket.svg :target: https://glimind.com/server/mcp-registry%2Fcom.mcpscores%2Fcheapest-grocery-basket?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:7aca487c23f9c3cf…, first seen 2026-10-17, included at leaf 6703 of 27,830. Version history · verify what your client received.
Compare: most reliable search servers · most reliable data servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-19 17:22 UTC, the Mcpscores Cheapest Grocery Basket MCP server is up with a Glimind reliability score of 97/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Mcpscores Cheapest Grocery Basket MCP server advertises 5 tools, including cheapest_basket, demand_report, find_product, price_basket, request_data.
Point your MCP client at this streamable-http endpoint: https://grocery-basket.bowling-anthony.workers.dev/mcp
Glimind scanned all 5 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.