Buywhere MCP vs Kronan MCP — MCP Server Comparison | AllMCPs
Buywhere MCP vs Kronan MCP
A side-by-side look at the Buywhere MCP and Kronan MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Buywhere MCP for e-commerce work as a local process; choose Kronan MCP for e-commerce as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Buywhere MCP when
You need dedicated capabilities in the E-Commerce domain.
You prefer a local stdio subprocess transport.
Its auth model fits you: API key required.
You have the keys it needs: BUYWHERE_API_KEY.
You want tools like search_products, get_product, compare_products.
search_productsSearch the BuyWhere product catalog by keyword. Treat deliver_to as REQUIRED for buyer-facing use (ISO-3166 country of the end user); it takes precedence over country_code/country and prevents all-market scans. Returns product records with title, description, image, price, and merchant information. Covers e-commerce platforms across Singapore, Malaysia, Indonesia, Thailand, Vietnam, and US. Use compact=true for agent-optimized responses with structured_specs, comparison_attributes, and normalized_price_usd fields. BUY-74597 degraded contract: when the catalog query cannot complete inside the user-facing timeout, this tool returns a 200-OK envelope with `meta.status="degraded"`, `meta.emptiness_reason="api_error"` with `meta.degraded_kind="timeout"` (or `"partial_timeout"` / `"auth_failure"`), `meta.confidence="low"`, and `meta.diagnostic.timed_out_stage` naming the failed stage (catalog_search / offer_aggregation / merchant_join). It never returns an unqualified empty result when the cause is timeout, auth failure, upstream exception, or circuit breaker. Agents should branch on `meta.degraded === true` (or `meta.status === "degraded"`) instead of treating empty `data` as no_match.
get_productGet a specific product by its ID, including full details and current price.
compare_productsCompare multiple products side-by-side. Returns price, brand, rating, and category for each.
get_dealsGet discounted products sorted by discount percentage. Returns schema.org/Product entities with schema.org/Offer properties: price, priceCurrency, availability, originalPrice, and discountPercentage. Covers Singapore, Malaysia, Indonesia, Thailand, Vietnam, and US e-commerce. Supports currency, region (sea, us, eu, au) and country (SG, US, VN, MY, ...) filters. BUY-74597 degraded contract: when the discount-index scan cannot complete inside the user-facing timeout, this tool returns a 200-OK envelope with `meta.status="degraded"`, `meta.emptiness_reason="api_error"` with `meta.degraded_kind="timeout"` (or `"partial_timeout"` / `"auth_failure"`), `meta.confidence="low"`, and `meta.diagnostic.timed_out_stage` (typically `offer_aggregation`). It never returns an unqualified empty result when the cause is timeout, auth failure, upstream exception, or circuit breaker. Branch on `meta.degraded === true` or `meta.status === "degraded"`.
list_categories
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Buywhere MCP is categorized under E-Commerce and uses a local stdio subprocess. Kronan MCP belongs to E-Commerce and uses a local stdio subprocess. Pick Buywhere MCP for e-commerce work and Kronan MCP for e-commerce.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Buywhere MCP is listed as free. Auth: api key required. Kronan MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add buywhere-buywhere-mcp and kronan-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Buywhere MCP has a quality signal of 65/100 (Great) with 3 views, 0 installs and 16 GitHub stars. Kronan MCP has 63/100 (Good) with 2 views, 0 installs and 15 GitHub stars.
List top-level product categories available in the BuyWhere catalog.
find_best_priceUse this whenever a user asks about prices, wants to find the cheapest option, or asks "what's the best price for X" or "where can I buy X for the lowest price". Returns schema.org/Product entities with schema.org/AggregateOffer (lowPrice, offerCount, priceCurrency) across all merchants. BUY-74597 degraded contract: when the candidates query cannot complete inside the user-facing timeout, this tool returns a 200-OK envelope with `meta.degraded=true`, `meta.status="degraded"`, `meta.emptiness_reason="api_error"` with `meta.degraded_kind="timeout"` (or `"partial_timeout"` / `"auth_failure"`), `meta.confidence="low"`, and `meta.diagnostic.timed_out_stage="catalog_search"`, with `best_price=null` and `alternatives=[]`. It never returns an unqualified empty result when the cause is timeout, auth failure, upstream exception, or circuit breaker.
find_similarFind products similar to a given product using vector similarity. Returns up to 10 nearest neighbours by semantic meaning (title+description embedding). Useful for "more like this" recommendations.
ingest_productsIngest (upsert) a batch of products into the BuyWhere catalog. Use this to add or update product listings from any merchant/source. Requires a valid API key with ingest permissions. Accepts up to 1000 products per call with source, SKU, title, price, URL, and optional metadata.
search_products_v2REQUIRED deliver_to. Search the BuyWhere product catalog by keyword. The deliver_to parameter is REQUIRED (ISO country code, e.g. "SG", "US") — it takes precedence over country_code/country and prevents all-market scans. Always pass deliver_to="SG" (or your buyer's country). Returns product records with title, description, image, price, and merchant information. Covers e-commerce platforms across Singapore, Malaysia, Indonesia, Thailand, Vietnam, and US. Use compact=true for agent-optimized responses with structured_specs, comparison_attributes, and normalized_price_usd fields.
get_product_v2REQUIRED deliver_to. Get a specific product by its ID, including full details and current price. Always pass deliver_to="SG" (or your buyer's country). Response includes a resolved outbound_url (https://…) that routes the buyer through the BuyWhere click tracker when the product has merchant offers.
compare_products_v2REQUIRED deliver_to. Compare multiple products side-by-side. Always pass deliver_to="SG" (or your buyer's country). Returns price, brand, rating, category, and a resolved outbound_url per product for the buyer market.
get_deals_v2REQUIRED deliver_to. Get discounted products sorted by discount percentage. Always pass deliver_to="SG" (or your buyer's country). Returns schema.org/Product entities with schema.org/Offer properties: price, priceCurrency, availability, originalPrice, and discountPercentage. Covers Singapore, Malaysia, Indonesia, Thailand, Vietnam, and US e-commerce. Supports currency, region (sea, us, eu, au) and country (SG, US, VN, MY, ...) filters.
get_meGet the current authenticated identity (user or customer group)
list_categoriesGet the full 3-level category tree
get_category_productsGet paginated product listing for a category (48 per page)
get_productGet full product details including price, discounts, tags, availability
search_productsSearch for products in the smart store selection. Returns products available for home delivery.
get_checkoutGet the active smart checkout (auto-creates if none exists)
add_checkout_linesAdd product lines to the active checkout. Set replace=true to replace all existing lines.
list_ordersList orders, most recent first
get_orderGet full order details including lines with product thumbnails
delete_order_linesRemove specific lines from an order by their IDs. Service lines and the last remaining line cannot be deleted.
set_order_substitutionSet whether substitution is allowed for specific order lines. Uses a toggle endpoint: fetches current state and only toggles lines that differ. WARNING: Not idempotent due to toggle semantics. Do NOT retry on timeout — check current state first.
lower_order_quantityReduce the quantity of specific order lines. Quantity can only be lowered. Set to 0 to remove.