Search / com.mcpscores/cheapest-grocery-basket
Cheapest Grocery Basket
R0· no sign-inWhere to buy a whole grocery list today: local prices, per-unit and cross-store comparison.
v1.0.3 · active · website · descriptor JSON · versions
Search / com.mcpscores/cheapest-grocery-basket
R0· no sign-inWhere to buy a whole grocery list today: local prices, per-unit and cross-store comparison.
v1.0.3 · active · website · descriptor JSON · versions
{
"mcpServers": {
"cheapest-grocery-basket": {
"type": "http",
"url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
}
}
}claude mcp add --transport http cheapest-grocery-basket https://grocery-basket.bowling-anthony.workers.dev/mcp[mcp_servers.cheapest-grocery-basket]
url = "https://grocery-basket.bowling-anthony.workers.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cheapest-grocery-basket": {
"type": "remote",
"url": "https://grocery-basket.bowling-anthony.workers.dev/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"cheapest-grocery-basket": {
"type": "http",
"url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=cheapest-grocery-basket&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ3JvY2VyeS1iYXNrZXQuYm93bGluZy1hbnRob255LndvcmtlcnMuZGV2L21jcCJ9"
}{
"servers": {
"cheapest-grocery-basket": {
"type": "http",
"url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
}
}
}{
"mcpServers": {
"cheapest-grocery-basket": {
"httpUrl": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
}
}
}extensions:
"cheapest-grocery-basket":
enabled: true
name: "cheapest-grocery-basket"
type: streamable_http
uri: "https://grocery-basket.bowling-anthony.workers.dev/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: find_product (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); price_basket (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); cheapest_basket (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 1,489 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
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-94% ~updated-51d-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://grocery-basket.bowling-anthony.workers.dev/mcp streamable-http | none | yes | 94% | 162 ms | 2025-11-25 | 2026-10-20 |
cheapest_basket | 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 it is dearer. Use this as the default for "where should I buy this list today" — it is the one call that answers the whole question. Costs $0.02 USDC per call via x402 on Base. |
demand_report | FREE, no payment. The aggregate of what agents have told us they are looking for, most-requested first, with the categories nothing available yet serves. Useful if you are deciding what to build or sell into the agent economy. |
find_product | 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. For a whole shopping list use price_basket or cheapest_basket instead; calling this per item costs more and cannot optimize across stores. Costs $0.005 USDC per call via x402 on Base. |
price_basket | 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 x402 on Base. |
request_data | FREE, no payment. Describe in your own words the data you are trying to buy — anything, not just groceries — and get back whether we operate a service that supplies it, with the MCP endpoint if so. Every request is catalogued so that repeatedly-requested data gets built; call it whenever you cannot find a source for something. Nothing about you is stored: not your wallet, your address, or any identifying header — only the words of the request. |
Schemas: list_tools.
And 16 more from this publisher.
{
"name": "com.mcpscores/cheapest-grocery-basket",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"x402": {
"asset": "USDC",
"network": "base",
"protocol": "x402",
"assetAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"pricing": {
"model": "per-call",
"perTool": {
"find_product": "0.005",
"price_basket": "0.01",
"cheapest_basket": "0.02"
},
"currency": "USD"
},
"homepage": "https://grocery-basket.bowling-anthony.workers.dev/",
"freeEndpoints": [
"/health",
"/llms.txt",
"/sources",
"/server.json",
"/openapi.json",
"/coverage",
"/request",
"/demand",
"initialize",
"ping",
"tools/list",
"request_data",
"demand_report"
]
}
},
"title": "Cheapest Grocery Basket",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://grocery-basket.bowling-anthony.workers.dev/mcp",
"type": "streamable-http"
}
],
"version": "1.0.3",
"websiteUrl": "https://mcpscores.com",
"description": "Where to buy a whole grocery list today: local prices, per-unit and cross-store comparison."
}