BuyWhere MCP Server — Product Search & Price Comparison for AI Agents
MCP serverAI & modelsOnce added, your AI can search a catalog of more than 300 million products across over 150,000 stores and rank results by delivery to a specific location. BuyWhere is a product catalog built for AI use, so your assistant can find items and figure out where to get them delivered.
Available today. Use it from your connected AI after setup.
Needs your own Buywhere account. Credentials stay encrypted.
After adding it, ask your AI to find a product you want and show which stores can deliver it to your address.
Then ask your AI: use BuyWhere MCP Server — Product Search & Price Comparison for AI Agents to search products
What your AI can do with it
- Search over 300 million products
- Find which of 150,000+ stores carry an item
- Rank store options by delivery to a chosen location
- Look up product details from the catalog
From the project's README
As published by buywhere/buywhere-mcp in README.md.
AI agents use BuyWhere to search products, compare prices, and discover deals across Singapore and US merchants in real time.
Install in 30 Seconds
export BUYWHERE_API_KEY=bw_live_xxxx
npx -y @buywhere/mcp-server
Use with Claude Desktop, Cursor, VS Code Copilot, Cline, Windsurf, OpenCode, Codex, Continue.dev, and any MCP-compatible client.
- npm: https://www.npmjs.com/package/@buywhere/mcp-server
- GitHub: https://github.com/BuyWhere/buywhere-mcp
- MCP Registry: https://registry.modelcontextprotocol.io/?q=io.github.BuyWhere%2Fbuywhere-mcp
AI Agents: Use This Package To
- Search products across Singapore, US, Malaysia, Thailand, and Vietnam markets by keyword, category, or price range
- Compare products across Lazada, Shopee, Amazon, and local retailers in a single query
- Find deals and track real-time pricing with multi-currency support
- Build shopping agents that recommend, compare, and link to products programmatically
- Discover product catalogs with structured taxonomy for supported markets
Product search API for AI agents via Model Context Protocol. Built for AI agent commerce, not store management.
Official MCP Registry listing: io.github.BuyWhere/buywhere-mcp
Works with Claude Desktop, Cursor, VS Code Copilot, Cline, Windsurf, OpenCode, Codex, Continue.dev, and any MCP-compatible client. Also supports Agent-to-Agent (A2A) protocol.
Demo
44-second demo: product search, deal discovery, price comparison, and multi-region support.
User: "Find me wireless earbuds under $50 available in Singapore"
Agent: [calls search_products → returns 5 matching products]
User: "Compare the top 3"
Agent: [calls compare_products → side-by-side with best-value pick]
Quick Start
Get a key in 3 seconds — no signup, no email:
# 1. Register (one call, returns api_key instantly)
curl -X POST https://api.buywhere.ai/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"agent_name":"your-agent"}'
# → {"api_key":"bw_...","tier":"unverified","rate_limit":{"rpm":20,"daily":1000}}
# 2. Use the key
export BUYWHERE_API_KEY=bw_...
npx -y @buywhere/mcp-server
Legacy email signup (60s, manual approval) → buywhere.ai/api-keys
Tutorials
- Part 1: MCP for Ecommerce — The Missing Infrastructure Layer for AI Agent Shopping — Architecture and why agents need a product catalog API
- Part 2: Build a Real Shopping Agent in 15 Minutes — Hands-on: set up MCP server, search products, compare prices, build a working agent
From the Blog
Read the BuyWhere Engineering Blog for deep dives on MCP architecture, agent commerce, and the ecosystem.
Also follow the BuyWhere Hashnode blog mirror for the same engineering content on Hashnode.
- MCP for Ecommerce 2026 — How AI agents search real products, compare prices across markets, and why MCP is the standard
- Building Production MCP Servers — Architecture, tool design patterns, and distribution (verified ~1,050 npm downloads/month)
- MCP Server Ecosystem 2026 — Every MCP category mapped (4,800+ servers across 40+ domains)
- AI Agent Commerce: Missing Infrastructure — Why shopping is the last unbuilt layer of the agent-native economy
- Cross-Border Price Comparison Tutorial — Build a shopping agent in 10 minutes with BuyWhere MCP
Tools
| Tool | Description |
|---|---|
search_products | Search catalog by keyword, category, price, country |
get_product | Full product details by ID (prices, specs, images) |
compare_products | Side-by-side comparison of 2–10 products |
find_best_price | Cheapest deliverable listing for a product across merchants |
get_deals | Products with significant price drops |
list_categories | Available product category taxonomy |
find_similar | Similar products by vector similarity |
ingest_products | Submit product URLs for catalog ingestion (agents/merchants) |
search_products_v2 | v2 search; requires deliver_to (ISO country) |
get_product_v2 | v2 product details by ID |
compare_products_v2 | v2 comparison; optional deliver_to |
get_deals_v2 | v2 deals; requires deliver_to |
find_best_price_v2 | v2 best price; requires deliver_to |
Remote MCP: POST https://api.buywhere.ai/mcp (JSON-RPC 2.0, protocolVersion 2024-11-05, 13 tools). Glama listing: https://glama.ai/mcp/servers/BuyWhere/buywhere-mcp
MCP Client Configuration
Framework quickstarts:
- CrewAI: API key · BuyWhere quickstart
- Mastra: API key · BuyWhere quickstart
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp-server"],
"env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
}
}
}
Cursor / VS Code / Cline
Add to your MCP settings file:
{
"mcpServers": {
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp-server"],
"env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
}
}
}
Windsurf
Add to ~/.windsurf/mcp.json:
{
"mcpServers": {
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp-server"],
"env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
}
}
}
OpenCode / Codex
Add to opencode.json:
{
"mcpServers": {
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp-server"],
"env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
}
}
}
Continue.dev (VS Code / JetBrains)
Add to ~/.continue/config.json:
{
"experimental": {
"mcpServers": {
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp-server"],
"env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
}
}
}
}
Mastra
Mastra is a TypeScript-first AI agent framework with native MCP support.
npm install @mastra/core @mastra/mcp
import { Mastra } from '@mastra/core';
import { MastraMCPClient } from '@mastra/mcp';
const buywhere = new MastraMCPClient({
name: 'buywhere',
server: {
url: new URL('https://api.buywhere.ai/mcp'),
requestInit: {
headers: { 'Authorization': `Bearer ${process.env.BUYWHERE_API_KEY}` },
},
},
});
const agent = new Mastra({
agents: {
shoppingAgent: {
instructions: 'You are a shopping assistant. Use BuyWhere to find and compare products.',
tools: await buywhere.tools(),
},
},
});
const result = await agent.agents.shoppingAgent.generate(
'Find me the best deal on a Sony WH-1000XM5 in Singapore'
);
Full guide: BuyWhere + Mastra Integration
LangChain
Use BuyWhere tools in LangChain agents via the MCP adapter:
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic
async def main():
async with MultiServerMCPClient({
"buywhere": {
"url": "https://api.buywhere.ai/mcp",
"transport": "streamable_http",
"headers": {"Authorization": f"Bearer {BUYWHERE_API_KEY}"},
}
}) as client:
tools = await client.get_tools()
agent = create_react_agent(ChatAnthropic(model="claude-sonnet-4-5"), tools)
result = await agent.ainvoke({"messages": [("user", "Find the cheapest Sony headphones in Singapore")]})
LlamaIndex
Connect BuyWhere via LlamaIndex MCP client:
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.agent.openai import OpenAIAgent
async def main():
mcp_client = BasicMCPClient(
command_or_url="https://api.buywhere.ai/mcp",
headers={"Authorization": f"Bearer {BUYWHERE_API_KEY}"},
)
mcp_tool_spec = McpToolSpec(client=mcp_client)
tools = mcp_tool_spec.to_tool_list()
agent = OpenAIAgent.from_tools(tools)
response = await agent.achat("Compare prices for iPhone 16 Pro across Singapore and US")
CrewAI
Use BuyWhere in a CrewAI agent with MCP tool integration:
from crewai import Agent, Task, Crew
from crewai_tools import MCPServerAdapter
buywhere_server = MCPServerAdapter(
server_params={
"url": "https://api.buywhere.ai/mcp",
"headers": {"Authorization": f"Bearer {BUYWHERE_API_KEY}"},
"transport": "streamable-http",
}
)
shopping_agent = Agent(
role="Shopping Research Analyst",
goal="Find the best deals across Singapore and US markets",
tools=[buywhere_server],
)
task = Task(
description="Find the best price for Sony WH-1000XM5 headphones across all available markets",
agent=shopping_agent,
expected_output="Product comparison with prices and merchant links",
)
crew = Crew(agents=[shopping_agent], tasks=[task])
result = crew.kickoff()
Configuration
| Variable | Default | Description |
|---|---|---|
BUYWHERE_API_KEY | (required) | API key (no signup: POST /v1/auth/register {"agent_name":"<name>"}) — returns instantly, no email verification |
BUYWHERE_API_URL | https://api.buywhere.ai/mcp | Custom API base URL |
Install
# Run directly (no install)
npx -y @buywhere/mcp-server
# Install globally
npm install -g @buywhere/mcp-server
buywhere-mcp
Use Cases
- Shopping agents — build AI agents that search, compare, recommend products across markets
- Price comparison — multi-market pricing in a single query across Lazada, Shopee, Amazon, local retailers
- Deal discovery — find best-value products with real-time pricing and inventory
- Ecommerce automation — integrate product search into any MCP-compatible app
- Cross-border commerce — compare prices between Singapore, US, Malaysia, Thailand, and Vietnam markets
- Agent-to-Agent commerce — delegate shopping tasks between agents via A2A protocol
Architecture
Developer's AI Agent (Claude, Cursor, etc.)
│
├── MCP Protocol (stdio)
│
├── @buywhere/mcp-server
│ ├── search_products(q, category, min_price, max_price, country_code, deliver_to)
│ ├── get_product(product_id)
│ ├── compare_products(product_ids[])
│ ├── find_best_price(product_name, country_code, deliver_to)
│ ├── get_deals(country_code, deliver_to, category)
│ ├── list_categories()
│ ├── find_similar(product_id)
│ └── ingest_products(urls[])
│
└── BuyWhere API (api.buywhere.ai)
└── Product catalog across SG, US, MY, TH, and VN merchants
Development
git clone https://github.com/BuyWhere/buywhere-mcp.git
cd buywhere-mcp
npm install
npm run build
npm start
Why BuyWhere?
BuyWhere is a product search API for AI agents. We aggregate product data from Singapore, US, Malaysia, Thailand, and Vietnam merchants into a single, agent-friendly interface — no store management, no Shopify integration. Just search and compare products in real time.
- One API — all markets, all retailers
- Agent-native — built for MCP from day one
- Real-time — live pricing and availability
- Developer-first — no SDK needed, just add the server
Works Well With
These complementary MCP packages extend BuyWhere into powerful multi-tool workflows:
- @modelcontextprotocol/server-filesystem — Save shopping results and product research to your local filesystem. Combine with BuyWhere to export deal lists, price comparisons, and product specs as structured files.
- @supabase/mcp-server-supabase — Store favorite products, user preferences, and price alerts in Supabase. Persist shopping history across agent sessions.
- n8n-mcp — Automate price monitoring workflows. Build no-code pipelines that watch BuyWhere prices and trigger notifications on price drops.
- tavily-mcp — Research products before buying. Use Tavily to find reviews and comparisons, then use BuyWhere to get current prices and purchase links.
- @playwright/mcp — E2E test your shopping agent interactions. Verify that product search, price comparison, and checkout flows work correctly in browser automation.
Protocols
| Protocol | Support |
|---|---|
| MCP (Model Context Protocol) | Full support — 10 tools, stdio transport |
| A2A (Agent-to-Agent) | Multi-agent task delegation — Agent Card |
Contributing
See CONTRIBUTING.md for how to report issues, submit PRs, and suggest features.
From the Blog
Learn more about MCP servers and the BuyWhere ecosystem:
- MCP server discovery — Understanding the MCP server discovery gap
- Building production MCP servers — Production best practices for MCP servers
- MCP servers that earn their context window — MCP servers that maximize context window value
- MCP ecommerce guide — Definitive guide to MCP for ecommerce
- BuyWhere MCP launch — Announcing the BuyWhere MCP server launch
- MCP server ecosystem 2026 — Complete guide to the MCP server ecosystem in 2026
Support
If you find this project useful:
- ⭐ Star the repo — it helps others discover BuyWhere
- 🐛 Open an issue for bugs or feature requests
- 💬 Start a discussion for questions or ideas
- 📣 Share it with other developers who build AI agent tools
License
MIT
Tools it offers (13)
What this server listed when ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.
search_productsget_productcompare_productsget_dealslist_categoriesfind_best_pricefind_similaringest_productssearch_products_v2get_product_v2compare_products_v2get_deals_v2find_best_price_v2
Signals
- GitHub stars
- 12
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Delivery
- buywhere-mcp MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
io-github-buywhere-buywhere-mcp- Source
- github.com/buywhere/buywhere-mcp
- Hosted endpoint
https://api.buywhere.ai/mcp