MCP 서버

commercebridge

io.github.IsaiahDupree/commercebridge
커머스 및 리테일 데이터 및 분석 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Connects to marketplace and storefront catalogs to search and retrieve product, listing, shop, collection, availability, pricing, and related commerce data.

get_bestbuy_product
Get one Best Buy product by SKU
Get one Best Buy product by SKU, full detail. Errors honestly until this engine is fully live upstream: currently returns `not_found` (route not yet redeployed on the production commerce-api), then `credentials_required` once deployed without BESTBUY_API_KEY provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sku'], 'properties': {'sku': {'type': 'string', 'description': 'Best Buy SKU, e.g. 6418599. Required.'}}}
get_ebay_item
Get one eBay item
Get one eBay item's full detail — description, brand/MPN/GTIN, color, item specifics, images, return terms, availability, item end date — by REST item id or legacy numeric id. Returns an honest `credentials_required` error until the upstream deployment has eBay app credentials provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'eBay REST item id, e.g. v1|256801234567|0.'}, 'country': {'enum': ['us', 'gb', 'de', 'au', 'ca', 'fr', 'it', 'es'], 'type': 'string', 'description': 'Default us.'}, 'legacy_id': {'type': 'string', 'description': 'Legacy numeric item id (used when `id` is omitted).'}}}
get_ebay_items
Get up to 20 eBay items in one call
Bulk-fetch full item detail for up to 20 eBay items in a single call, given comma-separated item ids. Returns an honest `credentials_required` error until the upstream deployment has eBay app credentials provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['item_ids'], 'properties': {'country': {'enum': ['us', 'gb', 'de', 'au', 'ca', 'fr', 'it', 'es'], 'type': 'string', 'description': 'Default us.'}, 'item_ids': {'type': 'string', 'description': 'Comma-separated eBay item ids (max 20). Required.'}}}
get_etsy_listing
Get one Etsy listing by id
Get one Etsy listing by id, full detail — the only endpoint where Etsy's API populates `views` (search and shop-listings results always have `views: null`, since Etsy doesn't carry that field there). Errors honestly until this engine is fully live upstream: currently returns `not_found` (route not yet redeployed on the production commerce-api), then `credentials_required` once deployed without ETSY_KEYSTRING/ETSY_SHARED_SECRET provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listing_id'], 'properties': {'language': {'type': 'string', 'description': 'IETF language tag, e.g. de, en, es, fr.'}, 'listing_id': {'type': 'string', 'description': 'Etsy listing id, e.g. 1234567890. Required.'}}}
get_etsy_shop
Get one Etsy shop
Get one Etsy shop by shop_id or shop_name — name, listing counts, favorites, total sold, aggregate review count/average. Errors honestly until this engine is fully live upstream: currently returns `not_found` (route not yet redeployed on the production commerce-api), then `credentials_required` once deployed without ETSY_KEYSTRING/ETSY_SHARED_SECRET provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'shop_id': {'type': 'string', 'description': 'Etsy shop id, e.g. 12345678.'}, 'shop_name': {'type': 'string', 'description': 'Used when shop_id is omitted, e.g. PaperGoodsCo.'}}}
get_etsy_shop_listings
List a shop's active Etsy listings
List one Etsy shop's active listings, optionally keyword-filtered within the shop. Errors honestly until this engine is fully live upstream: currently returns `not_found` (route not yet redeployed on the production commerce-api), then `credentials_required` once deployed without ETSY_KEYSTRING/ETSY_SHARED_SECRET provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Keyword filter within the shop.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Default 20.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Default 0.'}, 'shop_id': {'type': 'string', 'description': 'Etsy shop id.'}, 'sort_on': {'enum': ['created', 'price', 'updated', 'score'], 'type': 'string'}, 'shop_name': {'type': 'string', 'description': 'Used when shop_id is omitted.'}, 'sort_order': {'enum': ['asc', 'ascending', 'desc', 'descending', 'up', 'down'], 'type': 'string'}}}
get_shopify_collections
List a Shopify store's collections
List a public Shopify store's collections (id, handle, title, product count, image) — keyless, live now.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['store'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Default 1.'}, 'limit': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Default 50.'}, 'store': {'type': 'string', 'description': 'Shopify store domain, e.g. allbirds.com. Required.'}}}
get_shopify_product
Get one Shopify product by handle
Get one product from a public Shopify store by its handle (slug), from that store's own /products.json — keyless, live now.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['store', 'handle'], 'properties': {'store': {'type': 'string', 'description': 'Shopify store domain, e.g. allbirds.com. Required.'}, 'handle': {'type': 'string', 'description': 'Product handle (slug). Required.'}}}
search_bestbuy
Search Best Buy's product catalog
Search Best Buy's US product catalog by keyword and/or category, built on Best Buy's official Products API. Returns sku, title, sale/regular price, rating, manufacturer/model, image, online/in-store availability, and UPC per product. Errors honestly until this engine is fully live upstream: currently returns `not_found` (route not yet redeployed on the production commerce-api), then `credentials_required` once deployed without BESTBUY_API_KEY provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Keyword query. Required unless `category` is given. Matches across name, manufacturer, and description.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Default 1.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Default 20. Best Buy caps page size at 100.'}, 'category': {'type': 'string', 'description': 'Best Buy categoryPath.id to constrain the search.'}}}
search_ebay
Search eBay listings
Search live eBay listings by keyword and/or category across 8 sites (US, GB, DE, AU, CA, FR, IT, ES), built on eBay's official Browse API. Returns id, title, price, condition, seller feedback, shipping, image, categories, and URL per listing. Returns an honest `credentials_required` error until the upstream deployment has EBAY_CLIENT_ID/EBAY_CLIENT_SECRET provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Keyword query. Required unless `category` is given.'}, 'sort': {'enum': ['price', '-price', 'newlyListed', 'endingSoonest', 'distance'], 'type': 'string', 'description': '`price` = ascending, `-price` = descending.'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Default 20.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Default 0.'}, 'country': {'enum': ['us', 'gb', 'de', 'au', 'ca', 'fr', 'it', 'es'], 'type': 'string', 'description': 'Default us.'}, 'category': {'type': 'string', 'description': 'eBay category id(s) to constrain the search.'}, 'currency': {'type': 'string', 'description': 'Default USD.'}, 'priceMax': {'type': 'number'}, 'priceMin': {'type': 'number'}, 'condition': {'type': 'string', 'description': 'Condition enum(s), comma-separated (e.g. NEW,USED).'}, 'freeShipping': {'type': 'boolean'}, 'buyingOptions': {'type': 'string', 'description': 'FIXED_PRICE and/or AUCTION, comma-separated.'}}}
search_ebay_sold
Search sold/completed eBay listings (Marketplace Insights)
Sold/completed-item price comps. This needs eBay's Marketplace Insights API, which is a limited-release approval separate from the base Browse API. Until that is enabled on the upstream deployment, this always returns a 501 `not_enabled` gate rather than a fabricated result — that is expected, honest behavior, not a bug.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Keyword query.'}}}
search_etsy
Search Etsy's site-wide active listings
Search Etsy's site-wide active listings by keyword, built on Etsy's official Open API v3 (app-only, no OAuth). Returns title, description, price, quantity, tags/materials, favorites, images, and shop per listing. Errors honestly until this engine is fully live upstream: currently returns `not_found` (route not yet redeployed on the production commerce-api), then `credentials_required` once deployed without ETSY_KEYSTRING/ETSY_SHARED_SECRET provisioned.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Keyword query, e.g. "macrame wall hanging". Required.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Default 20. Etsy caps limit at 100.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Default 0.'}, 'is_safe': {'type': 'boolean', 'description': 'When true, filters out mature/adult content.'}, 'sort_on': {'enum': ['created', 'price', 'updated', 'score'], 'type': 'string'}, 'currency': {'type': 'string', 'description': 'ISO 4217 code to convert listing prices into.'}, 'max_price': {'type': 'number'}, 'min_price': {'type': 'number'}, 'sort_order': {'enum': ['asc', 'ascending', 'desc', 'descending', 'up', 'down'], 'type': 'string'}, 'taxonomy_id': {'type': 'string', 'description': 'Etsy seller-taxonomy category id.'}, 'buyer_country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 â\x80\x94 filters to listings that ship there.'}, 'shop_location': {'type': 'string'}}}
search_shopify
Keyword-filter a Shopify store's catalog
Filter a public Shopify store's catalog by keyword across title, vendor, product type, and tags — keyless, live now.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['store', 'q'], 'properties': {'q': {'type': 'string', 'description': 'Keyword filter, e.g. "wool runner". Required.'}, 'limit': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Default 50.'}, 'store': {'type': 'string', 'description': 'Shopify store domain, e.g. allbirds.com. Required.'}}}
search_shopify_products
List a Shopify store's catalog
List any public Shopify store's product catalog straight from that store's own /products.json — no keys, no auth, works today. Returns title, vendor, product type, tags, price range, variants, images, and URL per product. Pass a bare storefront domain, e.g. `allbirds.com`.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['store'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Default 1.'}, 'limit': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Default 50.'}, 'store': {'type': 'string', 'description': 'Shopify store domain, e.g. allbirds.com. Required.'}}}
추가됨
get_etsy_shop_listings
2026년 9월 17일 12:42 PM
추가됨
get_etsy_shop
2026년 9월 17일 12:42 PM
추가됨
get_etsy_listing
2026년 9월 17일 12:42 PM
추가됨
search_etsy
2026년 9월 17일 12:42 PM
추가됨
get_bestbuy_product
2026년 9월 17일 12:42 PM
추가됨
search_bestbuy
2026년 9월 17일 12:42 PM
추가됨
search_shopify
2026년 9월 17일 12:42 PM
추가됨
get_shopify_collections
2026년 9월 17일 12:42 PM
추가됨
get_shopify_product
2026년 9월 17일 12:42 PM
추가됨
search_shopify_products
2026년 9월 17일 12:42 PM
추가됨
search_ebay_sold
2026년 9월 17일 12:42 PM
추가됨
get_ebay_items
2026년 9월 17일 12:42 PM
추가됨
get_ebay_item
2026년 9월 17일 12:42 PM
추가됨
search_ebay
2026년 9월 17일 12:42 PM