Skip to content

io.github.IsaiahDupree/commercebridge

by IsaiahDupree · remote · no sign-in to list tools · v1.0.0 · published by GitHub user IsaiahDupree

Remote MCP connector for eBay, Shopify, Best Buy & Etsy marketplace data via the Commerce API

Read only

14 tools: 14 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http commercebridge https://commercebridge-isaiahduprees-projects.vercel.app/api/mcp

Findings

Matches of fixed checks, with the text they matched.

2 info

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Only reads 14Claude Code: allow
  • get_bestbuy_productGet one Best Buy product by SKU, full detail.No findings

    Why it is in this group

    • The name "get_bestbuy_product" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_ebay_itemGet 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.1 finding

    Why it is in this group

    • The name "get_ebay_item" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...il the upstream deployment has eBay app credentials provisioned."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_ebay_itemsBulk-fetch full item detail for up to 20 eBay items in a single call, given comma-separated item ids.1 finding

    Why it is in this group

    • The name "get_ebay_items" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...il the upstream deployment has eBay app credentials provisioned."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_etsy_listingGet 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…No findings

    Why it is in this group

    • The name "get_etsy_listing" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_etsy_shopGet one Etsy shop by shop_id or shop_name — name, listing counts, favorites, total sold, aggregate review count/average.No findings

    Why it is in this group

    • The name "get_etsy_shop" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_etsy_shop_listingsList one Etsy shop's active listings, optionally keyword-filtered within the shop.No findings

    Why it is in this group

    • The name "get_etsy_shop_listings" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_shopify_collectionsList a public Shopify store's collections (id, handle, title, product count, image) — keyless, live now.No findings

    Why it is in this group

    • The name "get_shopify_collections" says "get": a word for reading.
    Description, as the server wrote it
    List a public Shopify store's collections (id, handle, title, product count, image) — keyless, live now.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_shopify_productGet one product from a public Shopify store by its handle (slug), from that store's own /products.json — keyless, live now.No findings

    Why it is in this group

    • The name "get_shopify_product" says "get": a word for reading.
    Description, as the server wrote it
    Get one product from a public Shopify store by its handle (slug), from that store's own /products.json — keyless, live now.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_bestbuySearch Best Buy's US product catalog by keyword and/or category, built on Best Buy's official Products API.No findings

    Why it is in this group

    • The name "search_bestbuy" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_ebaySearch 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.No findings

    Why it is in this group

    • The name "search_ebay" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_ebay_soldSold/completed-item price comps.No findings

    Why it is in this group

    • The name "search_ebay_sold" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_etsySearch Etsy's site-wide active listings by keyword, built on Etsy's official Open API v3 (app-only, no OAuth).No findings

    Why it is in this group

    • The name "search_etsy" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_shopifyFilter a public Shopify store's catalog by keyword across title, vendor, product type, and tags — keyless, live now.No findings

    Why it is in this group

    • The name "search_shopify" says "search": a word for reading.
    Description, as the server wrote it
    Filter a public Shopify store's catalog by keyword across title, vendor, product type, and tags — keyless, live now.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_shopify_productsList any public Shopify store's product catalog straight from that store's own /products.json — no keys, no auth, works today.No findings

    Why it is in this group

    • The name "search_shopify_products" says "search": a word for reading.
    Description, as the server wrote it
    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`.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http commercebridge https://commercebridge-isaiahduprees-projects.vercel.app/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__commercebridge__search_ebay",
      "mcp__commercebridge__get_ebay_item",
      "mcp__commercebridge__get_ebay_items",
      "mcp__commercebridge__search_ebay_sold",
      "mcp__commercebridge__search_shopify_products",
      "mcp__commercebridge__get_shopify_product",
      "mcp__commercebridge__get_shopify_collections",
      "mcp__commercebridge__search_shopify",
      "mcp__commercebridge__search_bestbuy",
      "mcp__commercebridge__get_bestbuy_product",
      "mcp__commercebridge__search_etsy",
      "mcp__commercebridge__get_etsy_listing",
      "mcp__commercebridge__get_etsy_shop",
      "mcp__commercebridge__get_etsy_shop_listings"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as commercebridge. Review it before you use it.