DEV Community

BuyWhere
BuyWhere

Posted on Originally published at buywhere.ai

Build an AI Shopping Assistant with BuyWhere MCP in 10 Minutes (2026)

Build an AI Shopping Assistant with BuyWhere MCP in 10 Minutes (2026)

A copy-paste walkthrough that turns Claude Desktop (or any MCP-compatible client) into a price-comparison shopping agent over 134M+ products across 75K+ merchants — under 10 minutes, no credit card.

What you'll build: A working MCP client that answers questions like "Find the cheapest 65-inch TV under $800 in stock at a US merchant with free shipping" by combining Claude's reasoning with live BuyWhere catalog data.

What you need: Node 18+ and a BuyWhere API key (free, 1,000 calls/month, no credit card). Sign up at POST https://api.buywhere.ai/v1/auth/register or via the dashboard.


Why MCP for shopping assistants

Most LLM shopping demos break at the same seam: the model knows products from training data, but it has no way to ask the live catalog. MCP (Model Context Protocol) closes that seam — the model calls structured tools, the tools return real prices, the model reasons over real data.

BuyWhere exposes 6 MCP tools, all backed by a single REST catalog. You don't pick a transport — you get the same answer whether the agent calls MCP or REST.


Step 1 — Get a free API key (60 seconds)

curl -X POST https://api.buywhere.ai/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","tier":"free"}'
Enter fullscreen mode Exit fullscreen mode

Response:

{
  "api_key": "bw_live_•••",
  "tier": "free",
  "monthly_limit": 1000,
  "reset_at": "2026-07-01T00:00:00Z"
}
Enter fullscreen mode Exit fullscreen mode

Save the key — it's the only auth header you need. Free tier gives 1,000 calls/month, no credit card.


Step 2 — Install the MCP server (90 seconds)

The official npm package handles the SSE transport, tool registration, and auth header. One install, one config entry.

npm install -g @buywhere/mcp-server
Enter fullscreen mode Exit fullscreen mode

Or use npx without a global install:

npx -y @buywhere/mcp-server
Enter fullscreen mode Exit fullscreen mode

Verify the package exists:

npm view @buywhere/mcp-server
# name: @buywhere/mcp-server
# version: 1.x.x
Enter fullscreen mode Exit fullscreen mode

The package spins up an MCP server that proxies to https://api.buywhere.ai/mcp over streamable HTTP — your client just needs the URL and bearer token.


Step 3 — Wire it into Claude Desktop (3 minutes)

Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Add:

{
  "mcpServers": {
    "buywhere": {
      "command": "npx",
      "args": ["-y", "@buywhere/mcp-server"],
      "env": {
        "BUYWHERE_API_KEY": "bw_live_•••"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Restart Claude Desktop. You should see a 🔌 icon and a "buywhere" server with 6 tools: search_products, get_product, get_price, compare_prices, get_affiliate_link, get_catalog.

Tip: Any MCP-compatible client works the same way — Cursor, Continue.dev, Cline, Zed, custom agents. The MCP server URL is https://api.buywhere.ai/mcp and the auth header is Authorization: Bearer bw_live_•••.


Step 4 — Test with a real shopping question (2 minutes)

Open a new Claude conversation and ask:

"I'm looking for a 65-inch TV under $800 from a US merchant with free shipping and at least 4-star reviews. Compare the top 3 options and recommend one."

Claude will:

  1. Call search_products with filters: q=65 inch TV, country=US, max_price=800, shipping=free, min_rating=4.
  2. Call get_price on the top 3 results to confirm live availability.
  3. Call compare_prices to get the side-by-side breakdown.
  4. Return a recommendation with affiliate links.

The whole flow is < 5 seconds. Every price is live — the model never falls back on its training memory.


Step 5 — Call the same data from custom code (3 minutes)

MCP is the easiest path, but sometimes you need REST (serverless, custom UIs, non-MCP clients). Same data, same auth:

// search.js — find AirPods Pro under $250 in SG, sorted by price asc
const r = await fetch(
  'https://api.buywhere.ai/v1/products/search?' + new URLSearchParams({
    q: 'airpods pro',
    country: 'SG',
    currency: 'SGD',
    max_price: 250,
    in_stock: 'true',
    sort: 'price_asc',
    limit: 10
  }),
  { headers: { Authorization: `Bearer ${process.env.BUYWHERE_API_KEY}` } }
);
const { data } = await r.json();
console.log(`${data.length} results, cheapest: SGD ${data[0].price}`);
Enter fullscreen mode Exit fullscreen mode
// compare.js — side-by-side for 3 product IDs
const ids = [123, 456, 789].join(',');
const r = await fetch(
  `https://api.buywhere.ai/v1/products/compare?ids=${ids}`,
  { headers: { Authorization: `Bearer ${process.env.BUYWHERE_API_KEY}` } }
);
const { data } = await r.json();
for (const p of data) {
  console.log(`${p.title} — SGD ${p.price_range.min}${p.price_range.max} (${p.merchant_count} merchants)`);
}
Enter fullscreen mode Exit fullscreen mode

The REST endpoints and MCP tools return the same payload shape, so a quick swap between transports won't break your client.


What "live" actually means

Pulled at 20:22 UTC on 2026-06-22 from GET /v1/catalog/stats:

Field Value
total_products 134,481,184
total_merchants 75,918
active_products 133,136,372

The catalog is fed by continuous merchant ingestion — the same maglev pipeline that powers the MCP tools. When a merchant updates a price or goes out of stock, the next search_products call reflects it within minutes.


Where to go next

  • MCP guide with code sampleshttps://api.buywhere.ai/docs/guides/mcp
  • OpenAPI spechttps://api.buywhere.ai/docs
  • GitHub examples (Claude Desktop, Cursor, serverless, custom agents) — https://github.com/BuyWhere/buywhere
  • Pricinghttps://buywhere.ai/pricing (Free 1K/mo · Starter $9/50K · Pro $49/500K · Enterprise custom)
  • SLA — 99.5% uptime on production

Honest tradeoffs

BuyWhere is not a fit for every shopping agent:

  • Pre-orders and unlisted SKUs aren't covered until merchants publish them.
  • Out-of-stock propagation is minutes, not seconds — for sub-minute tick data, build a direct merchant integration.
  • Per-merchant historical data beyond what merchants publish is out of scope.
  • Shipping fee accuracy is best-effort — final cart total may differ at checkout.

For 95% of consumer shopping intents, the catalog is the right backbone. For the other 5%, the docs list direct merchant API options.


Built and verified by the BuyWhere AEO/Content team. Questions: api@buywhere.ai. Canonical URL: https://buywhere.ai/blog/buywhere-mcp-integration-walkthrough-2026.

Top comments (0)