Splitbasket Prices

io.github.voicearcPublished by GitHub account voicearcv1.0.0Updated Oct 24, 2026

Cached US grocery prices, age disclosed on every row - search, compare across banners, coverage.

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for cached US grocery prices: search products, compare prices across store banners, and check coverage by location.

What you can do
  • Search products near a location with the price each nearby store last showed
  • Get the cached price of one exact product at one place
  • Compare best matches across banners for a query, ranked on canonical unit price
  • Check what the API can answer at a location before asking
  • Run a paid live retailer fetch and poll its job status
When to use it
Useful when an assistant needs US grocery price data for a ZIP code or metro area, such as comparing staples across banners or estimating a shopping list item by item. Call coverage first in an unfamiliar area, since depth varies by region.
Requirements
Remote Streamable HTTP endpoint with bearer authentication; an Authorization header carrying an API key. Keys are free but issued by a human during a closed beta, requested by email. Network access required.
Before you install
The Authorization header carries a live API key that must be kept secret. live_check fetches from the retailer in real time and is on a paid tier, so it can incur charges. Prices are cached observations with disclosed age, not live quotes, and there is no basket optimizer or blended accuracy score.

Installation

In SourceWeft

  1. Open Splitbasket Prices in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.voicearc%2Fsplitbasket-prices/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "splitbasket-prices": {
      "type": "http",
      "url": "https://api.splitbasket.shop/v1/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

SplitBasket Grocery Prices — MCP server & data API

Cached US grocery prices for developers and agents, from the price panel behind SplitBasket. Every price carries its observation date; the API tells you what it can answer at a location before you ask, and returns found: false rather than a plausible wrong number.

Connect over MCP

Endpoint: https://api.splitbasket.shop/v1/mcp (Streamable HTTP, bearer auth)

Claude Code:

bash
claude mcp add --transport http splitbasket \  https://api.splitbasket.shop/v1/mcp \  --header "Authorization: Bearer sk_live_..."

Any MCP client that speaks Streamable HTTP works the same way — point it at the endpoint with the Authorization header.

Or plain HTTP

bash
curl "https://api.splitbasket.shop/v1/compare_price?q=whole+milk&zip=94110" \  -H "Authorization: Bearer sk_live_..."

Tools

toolwhat it does
search_productsFind products near a location, with the price each nearby store last showed
get_priceThe cached price of one exact product (banner + product_id) at one place
compare_priceBest match at each banner for one query, ranked on canonical unit price
coverageWhat the API can actually answer at a location — call this first in an unfamiliar area
live_checkFetch from the retailer right now (paid tier); returns a job id + measured ETA
live_check_statusPoll a live_check job

Coverage, honestly

Two layers (measured weekly — 2026-08-09; coverage is the runtime source of truth):

  • National layer — six banners: Walmart, Costco, Whole Foods, Sprouts, Sam's Club, Aldi. 51 states (incl. DC) with at least one priced, 2+ banner comparison in 50, 3+ in 46 (measured 2026-08-11). These stores are priced weekly against a ~43-item staples basket.
  • Deep metros — San Francisco, Fresno, Phoenix, Austin: 7–17 banners with full shopping catalogs.

Prices are cached observations, not live quotes. Exact-match rate by cache age, measured over 275k observation pairs: 99.6% under a day, 93.8% at a week, 79.9% at 30 days. Every row carries price_as_of and price_age_days; pass max_age_days to enforce what your use case tolerates.

What this deliberately is not

  • No basket optimizer. To estimate a basket, call compare_price per item and sum it yourself.
  • No state-level answers where prices measurably don't hold state-wide. Chain-wide for target, smartandfinal, bashas, frys, foodsco — and per-state where a chain is bimodal: Costco in ten measured states, Whole Foods in CA and NV. Measured, not assumed; the demote list tracks the weekly panel.
  • No blended accuracy score. Price staleness is bimodal: a stale price is either exactly right or meaningfully wrong, so we disclose age instead of averaging it away.

Operated by VoiceArc Inc. Not affiliated with or endorsed by any retailer; retailer names identify where a price was observed.

Source: README.md at commit 7d6d4f1

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.