Skip to main content
Glama
BuyWhere

BuyWhere Catalog MCP Server

Official

BuyWhere MCP 서버

npm version npm downloads License: MIT GitHub stars Smithery MCP Registry


AI 에이전트를 위한 국가 간 상품 카탈로그입니다. Model Context Protocol을 통해 싱가포르, 동남아시아 및 미국 시장의 상품을 검색하고 비교하세요.

Claude Desktop, Cursor, VS Code Copilot, Cline, OpenCode, Codex 및 모든 MCP 호환 클라이언트와 함께 작동합니다.


데모

BuyWhere MCP in Claude Desktop

44초 데모: 상품 검색, 딜 발견, 가격 비교 및 다중 지역 지원.

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_prices → side-by-side with best-value pick]

Related MCP server: Agentic Product Protocol MCP Server

빠른 시작

export BUYWHERE_API_KEY=bw_live_xxxx
npx -y @buywhere/mcp-server

무료 API 키 받기 → buywhere.ai/api-keys

도구

도구

설명

search_products

키워드, 카테고리, 가격, 지역별 카탈로그 검색

get_product

ID별 전체 상품 상세 정보 (가격, 사양, 이미지)

compare_prices

2~5개 상품의 나란히 비교

get_price

한 상품에 대한 모든 판매자의 현재 가격

get_affiliate_link

상품에 대한 클릭 추적 제휴 URL

get_catalog

사용 가능한 상품 카테고리 분류

사용 사례

  • AI 에이전트 — 싱가포르, 동남아시아 및 미국 시장의 상품을 실시간으로 검색, 비교 및 추천

  • 개발자 — API 통합 없이 모든 MCP 호환 앱에 국가 간 쇼핑 기능 추가

  • 가격 비교 — Lazada, Shopee, Amazon 및 현지 소매업체 전반의 다중 시장 가격을 단일 쿼리로 확인

빠른 설정

Claude Desktop

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "buywhere": {
      "command": "npx",
      "args": ["-y", "@buywhere/mcp-server"],
      "env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
    }
  }
}

Cursor / VS Code / Cline

동일한 설정 — MCP 설정 파일에 추가:

{
  "mcpServers": {
    "buywhere": {
      "command": "npx",
      "args": ["-y", "@buywhere/mcp-server"],
      "env": { "BUYWHERE_API_KEY": "bw_live_xxxx" }
    }
  }
}

구성

변수

기본값

설명

BUYWHERE_API_KEY

(필수)

buywhere.ai/api-keys에서 발급받은 API 키

BUYWHERE_API_URL

https://api.buywhere.ai/mcp

사용자 지정 API 기본 URL

설치

# Run directly (no install)
npx -y @buywhere/mcp-server

# Install globally
npm install -g @buywhere/mcp-server
buywhere-mcp

개발

git clone https://github.com/BuyWhere/buywhere-mcp.git
cd buywhere-mcp
npm install
npm run build
npm start

왜 BuyWhere인가요?

BuyWhere는 AI 에이전트를 위해 구축된 최초의 국가 간 상품 카탈로그 API입니다. 싱가포르, 동남아시아 및 미국 시장의 상품을 에이전트 친화적인 단일 인터페이스로 통합합니다.

  • 단일 API — 모든 시장, 모든 소매업체

  • 에이전트 네이티브 — 처음부터 MCP를 위해 구축됨

  • 실시간 — 실시간 가격 및 재고 상태

  • 개발자 우선 — SDK 불필요, 서버만 추가하면 됨

A2A 프로토콜

BuyWhere는 다중 에이전트 작업 위임을 위한 Agent-to-Agent (A2A) 프로토콜도 지원합니다. /.well-known/agent.json에서 에이전트 카드를 확인하세요.

기여

문제 보고, PR 제출 및 기능 제안 방법은 CONTRIBUTING.md를 참조하세요.

지원

이 프로젝트가 유용하다면:

  • ⭐ 저장소에 별표를 눌러주세요 — 다른 사람들이 BuyWhere를 발견하는 데 도움이 됩니다.

  • 🐛 버그나 기능 요청은 이슈를 열어주세요.

  • 💬 질문이나 아이디어는 토론을 시작하세요.

  • 📣 AI 에이전트 도구를 만드는 다른 개발자들과 공유해주세요.

라이선스

MIT

Available Tools

6 tools
compare_pricesA

Compare 2–5 products side-by-side. Returns structured differentiators, price range, pros/cons, and a best-value recommendation — purpose-built for AI agent decision-making.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idsYesArray of 2–5 BuyWhere product IDs to compare

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool returns structured data including differentiators and a recommendation, indicating a read-only operation without side effects. No hidden behaviors are mentioned, but the description is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's purpose and outputs with no superfluous words. Front-loaded with key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description sufficiently covers what the tool does and what it returns. An agent can accurately decide to invoke it for multi-product comparisons.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a description for 'product_ids' (array of 2-5 strings). The description adds 'BuyWhere' specificity, but does not significantly enhance understanding beyond the schema. Schema coverage is 100%, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares 2-5 products side-by-side and lists specific outputs (differentiators, price range, pros/cons, recommendation). It distinguishes itself from sibling tools like get_price and get_product which handle single products.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for multi-product comparison and mentions it is 'purpose-built for AI agent decision-making.' It does not explicitly state when not to use it or name alternatives, but the context from sibling tools makes it clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_catalogA

List available product categories in the BuyWhere catalog. Use this to discover what categories exist before searching or filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_slugNoParent category slug to list subcategories (optional — omit for top-level categories)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description lists categories but does not disclose any additional behavioral traits like pagination or rate limits. Adequate for a simple list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded purpose. No redundant information, every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with full schema coverage, the description is fairly complete. Could mention return format, but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a well-described parameter. The description adds no extra meaning beyond the schema, meeting baseline for adequate parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'List' and resource 'product categories', clearly distinguishing from sibling tools like search_products or get_product.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this to discover what categories exist before searching or filtering', providing clear usage context. No need to exclude alternatives as no sibling overlaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_priceA

Get current prices for a product across all available merchants. Returns a ranked list of listings with price, shipping, merchant rating, and stock status. Use this to find the cheapest place to buy a specific product.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe BuyWhere product ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description mentions it returns a ranked list with price, shipping, merchant rating, stock status, but doesn't discuss freshness, pagination, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded, every word adds value; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, expected output structure, and usage context; missing details like response format completeness, but adequate for a simple tool without output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (product_id) with schema description identical to tool description; no additional meaning added beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves current prices for a product across merchants, distinguishes from siblings like get_product and compare_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'use this to find the cheapest place to buy a specific product,' providing clear usage context, though lacks explicit when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_productB

Fetch full details for a single product by its BuyWhere product ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe BuyWhere product ID (returned by search_products as product_id)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description carries full burden. Lacks details on what 'full details' includes, error behavior for invalid IDs, or any side effects. Vague behavioral expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Front-loaded with the core action and qualifier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple single-param tool, but missing details about output content and error states. No output schema to supplement, so description should clarify what 'full details' means.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear property description. Tool description adds no extra context beyond the schema's property text, so it meets baseline without enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (fetch), resource (full details for a single product), and uniqueness (by BuyWhere product ID). It distinguishes from sibling tools like search_products which return multiple results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs alternatives (e.g., get_price, get_catalog). No mention of prerequisites or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_productsA

Search the BuyWhere product catalog using keywords or natural language. Returns matching products with title, price, availability, merchant, and URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesKeyword or natural-language query (e.g. 'wireless earbuds under $50', 'red dress size M')
countryNoCountry code to scope results (e.g. 'sg' for Singapore). Defaults to 'sg'.
categoryNoCategory slug filter (e.g. 'electronics/smartphones', 'fashion/dresses')
limitNoMaximum number of results to return (1–50, default 10)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description implies read-only search behavior but does not explicitly state side effects, authentication, or rate limits. Minimal transparency for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load purpose and output. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, parameters, and return fields adequately for a search tool. Lacks mention of pagination, error responses, or empty result handling, but these are minor gaps given low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% parameters with descriptions. Description adds no meaningful detail beyond the schema, such as query format examples or category slug usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Search' and resource 'BuyWhere product catalog'. Specifies output fields (title, price, availability, merchant, URL). Distinguishes from siblings like compare_prices and get_product by focusing on keyword search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes when to use (keyword search), but lacks explicit guidance on when not to use or alternatives. No mention of when to prefer compare_prices or get_product over this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedcompare_prices
    • First observedget_affiliate_link
    • First observedget_catalog
    • First observedget_price
    • First observedget_product
    • First observedsearch_products

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: compare_prices does side-by-side comparison, get_affiliate_link provides affiliate links, get_catalog lists categories, get_price shows merchant prices, get_product fetches details, search_products searches catalog. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., compare_prices, search_products). The naming is predictable and easy to understand.

Tool Count5/5

With 6 tools, the set is well-scoped for a price comparison and affiliate linking service. Each tool serves a necessary function without unnecessary bloat.

Completeness4/5

Core workflows are covered: search, get details, compare, get prices, affiliate links, and category discovery. Minor gaps like lack of explicit filtering or sorting in search are acceptable for the scope.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers