# Cheapest Grocery Basket (remote · grocery-basket.bowling-anthony.workers.dev)

Where to buy a whole grocery list today: local prices, per-unit and cross-store comparison.

- Trust score: 72/100 (medium)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- remote · `grocery-basket.bowling-anthony.workers.dev`: 72/100 (this document), [markdown](https://verifymcp.io/servers/com-mcpscores-cheapest-grocery-basket/grocery-basket.md), [page](https://verifymcp.io/servers/com-mcpscores-cheapest-grocery-basket/grocery-basket)

## Channel facts

- Endpoint: `https://grocery-basket.bowling-anthony.workers.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.3`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1278 tokens (~255/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Cheapest Grocery Basket MCP server?

Cheapest Grocery Basket is a hosted endpoint at https://grocery-basket.bowling-anthony.workers.dev/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.

### Claude

```bash
claude mcp add --transport http com-mcpscores-cheapest-grocery-basket 'https://grocery-basket.bowling-anthony.workers.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-mcpscores-cheapest-grocery-basket": {
      "url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-mcpscores-cheapest-grocery-basket": {
      "type": "http",
      "url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-mcpscores-cheapest-grocery-basket]
url = "https://grocery-basket.bowling-anthony.workers.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcpscores-cheapest-grocery-basket": {
      "type": "remote",
      "url": "https://grocery-basket.bowling-anthony.workers.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-mcpscores-cheapest-grocery-basket --url 'https://grocery-basket.bowling-anthony.workers.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-mcpscores-cheapest-grocery-basket:
    url: "https://grocery-basket.bowling-anthony.workers.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-mcpscores-cheapest-grocery-basket": {
      "Transport": "http",
      "Url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-mcpscores-cheapest-grocery-basket -t streamable-http -u 'https://grocery-basket.bowling-anthony.workers.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-mcpscores-cheapest-grocery-basket": {
      "type": "http",
      "url": "https://grocery-basket.bowling-anthony.workers.dev/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 72, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-22 (score 72, 0)

- [security] Stability: 0.97 → pass

### 2026-09-21 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-19 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-10 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (5)

### `request_data` (~132 tokens)

Tell us what data you are looking for (free)

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.

Input parameters:

- `need` (string, required): What you are looking for, e.g. 'live electricity spot prices by ZIP' or 'used car values by VIN'.

### `demand_report` (~72 tokens)

What agents are asking for most (free)

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.

Input parameters:

- `days` (string): Window in days, default 30, max 90.

### `find_product` (~298 tokens)

Compare one grocery item across nearby stores

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.

Input parameters:

- `maxAgeDays` (integer): 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.
- `q` (string, required): The item to price, in ordinary shopper language, e.g. 'milk', 'eggs', 'ground beef'.
- `stores` (string): Optional comma-separated chains to restrict to, e.g. 'aldi,publix'. Omit to compare every collected store.
- `zip` (string, required): 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.

### `price_basket` (~290 tokens)

Price a whole shopping list at each store

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.

Input parameters:

- `items` (string, required): Comma-separated shopping list, optionally with quantities, e.g. 'milk x2, eggs, bread, butter'. A JSON array of {name, quantity} is also accepted.
- `maxAgeDays` (integer): 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.
- `mode` (string): 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.
- `stores` (string): Optional comma-separated chains to restrict to, e.g. 'aldi,publix'.
- `zip` (string, required): 5-digit US ZIP code, e.g. '30501'.

### `cheapest_basket` (~305 tokens)

Cheapest way to buy a whole list, including splitting stores

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.

Input parameters:

- `items` (string, required): Comma-separated shopping list, optionally with quantities, e.g. 'milk x2, eggs, bread, butter, cheese'. A JSON array of {name, quantity} is also accepted.
- `maxAgeDays` (integer): 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.
- `mode` (string): Optional fulfillment intent: 'pickup' or 'delivery'.
- `stores` (string): Optional comma-separated chains the shopper is willing to visit, e.g. 'aldi,publix'.
- `zip` (string, required): 5-digit US ZIP code, e.g. '30501'.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-mcpscores-cheapest-grocery-basket/grocery-basket#diagnostics

## Score history

- 2026-09-26: 72
- 2026-09-25: 72
- 2026-09-24: 72
- 2026-09-23: 72
- 2026-09-22: 72
- 2026-09-21: 72
- 2026-09-20: 71
- 2026-09-19: 71
- 2026-09-18: 70
- 2026-09-17: 70
- 2026-09-16: 69
- 2026-09-15: 69
- 2026-09-14: 68
- 2026-09-13: 68
- 2026-09-12: 67
- 2026-09-11: 67
- 2026-09-10: 67
- 2026-09-09: 66
- 2026-09-08: 66
- 2026-09-07: 65
- 2026-09-06: 65
- 2026-09-05: 64
- 2026-09-04: 64
- 2026-09-03: 63
- 2026-09-02: 63
- 2026-09-01: 62
- 2026-08-31: 62
- 2026-08-30: 61
- 2026-08-29: 61
- 2026-08-28: 60

## Common questions

### What is the Cheapest Grocery Basket MCP server?

Cheapest Grocery Basket is an MCP server listed in the public MCP registry as com.mcpscores/cheapest-grocery-basket. Where to buy a whole grocery list today: local prices, per-unit and cross-store comparison. This page covers its hosted endpoint (https://grocery-basket.bowling-anthony.workers.dev/mcp).

### Is the Cheapest Grocery Basket MCP server safe to use?

Cheapest Grocery Basket scores 72 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 Cheapest Grocery Basket MCP server expose?

Cheapest Grocery Basket exposes 5 tools: request_data, demand_report, find_product, price_basket, cheapest_basket. Their descriptions and schemas cost roughly 1,097 tokens of context every time the server is loaded.

### Does the Cheapest Grocery Basket MCP server require authentication?

No. We connected to Cheapest Grocery Basket without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Cheapest Grocery Basket MCP server still maintained?

Cheapest Grocery Basket is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://grocery-basket.bowling-anthony.workers.dev/mcp
- Website: https://mcpscores.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-mcpscores-cheapest-grocery-basket/grocery-basket.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-mcpscores-cheapest-grocery-basket/grocery-basket.json
- HTML version of this page: https://verifymcp.io/servers/com-mcpscores-cheapest-grocery-basket/grocery-basket
