Amazon Products

io.github.jbeshirPublished by GitHub account jbeshirv1.0.1Updated Oct 30, 2026

Search for products and get detailed product information from Amazon across multiple regional sites.

Overview

AI-generated overview

Searches Amazon and fetches product details across 22 regional sites by driving a headless Chrome browser, returning prices, ratings and variants.

What you can do
  • List supported Amazon regions with their IDs, names and currencies
  • Search products by keyword on a chosen region, returning prices, ratings and Prime eligibility
  • Fetch detailed product info by ASIN, including price, description, features, rating, availability and variants
When to use it
Useful when you want an assistant to look up Amazon listings, compare prices or check availability and variants in a specific country's store while researching products.
Requirements
Runs locally over stdio as a desktop-only package. Needs Google Chrome or Chromium installed (the server launches it headless); on Linux a non-snap build is recommended, and CHROME_EXEC_PATH can point to the binary. Optional AMAZON_REGION sets the default region (default us). A Docker image bundling Chrome is also described. Network access to Amazon is required.
Before you install
It scrapes Amazon through a headless browser that masks automation signals, which may conflict with Amazon's terms of service. Amazon may return WAF challenges or CAPTCHA pages, and CAPTCHAs cause an immediate error. It only reads listings; it does not buy anything. Requests go to Amazon's regional sites.

Installation

In SourceWeft

  1. Open Amazon Products in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Amazon Products MCP Server

An MCP server for searching and getting product details from Amazon. Supports 22 regional Amazon sites, extracts prices, ratings, features, availability, and product variants. Uses a headless Chrome browser to render pages and handle Amazon's anti-bot protections. Communicates over stdio and works with any MCP-compatible client such as Claude Desktop or Claude Code.

Getting Started

Requirements

  • Google Chrome or Chromium installed (the server launches it in headless mode)

    On Linux, avoid snap-packaged Chromium (Ubuntu's default chromium package). It is known to hang indefinitely — both on graceful CDP tab-close and on OS-level process reaping after a forced kill — when launched as a descendant of certain parent processes (observed running under Claude Desktop's Electron process tree). The hang was 100% reproducible under that setup and never reproduced with the same code against a non-snap Chrome/Chromium build. Install Google Chrome or a non-snap Chromium build instead, and point CHROME_EXEC_PATH at it if it isn't picked up automatically.

Configuration

VariableRequiredDescription
AMAZON_REGIONNoDefault Amazon region (default: us). Can be overridden per request.
CHROME_EXEC_PATHNoPath to the Chrome/Chromium binary to launch. Leave unset to use automatic detection. See the note above about snap-packaged Chromium on Linux.

Install from source

Requires Go 1.27.3+.

go install github.com/jbeshir/mcp-servers/amazon-products/cmd/amazon-products-mcp@latest

Docker

The Docker image bundles a headless Chrome shell, so no local Chrome installation is needed.

docker build -t amazon-products-mcp ./amazon-productsdocker run -e AMAZON_REGION=us amazon-products-mcp

Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

json
{  "mcpServers": {    "amazon-products": {      "command": "/path/to/amazon-products-mcp",      "env": { "AMAZON_REGION": "us" }    }  }}

Claude Code

claude mcp add amazon-products -- env AMAZON_REGION=us /path/to/amazon-products-mcp

Tools

ToolDescription
list_regionsList all supported Amazon regions with their IDs, names, and currencies
search_productsSearch for products on Amazon by keyword. Returns prices, ratings, and Prime eligibility. Parameters: query (required), region (optional)
get_product_detailsGet detailed product info by ASIN including price, description, features, rating, availability, and variants. Parameters: asin (required), region (optional)

Supported Regions

IDNameDomainCurrency
aeUnited Arab Emiratesamazon.aeAED
auAustraliaamazon.com.auAUD
beBelgiumamazon.com.beEUR
brBrazilamazon.com.brBRL
caCanadaamazon.caCAD
deGermanyamazon.deEUR
egEgyptamazon.egEGP
esSpainamazon.esEUR
frFranceamazon.frEUR
ieIrelandamazon.co.ukGBP
inIndiaamazon.inINR
itItalyamazon.itEUR
jpJapanamazon.co.jpJPY
mxMexicoamazon.com.mxMXN
nlNetherlandsamazon.nlEUR
plPolandamazon.plPLN
saSaudi Arabiaamazon.saSAR
seSwedenamazon.seSEK
sgSingaporeamazon.sgSGD
trTurkeyamazon.com.trTRY
ukUnited Kingdomamazon.co.ukGBP
usUnited Statesamazon.comUSD

Key Concepts

  • ASIN -- Amazon Standard Identification Number. A 10-character alphanumeric ID (e.g. B09CDRVQZC) that uniquely identifies a product on Amazon. Used as the primary key for get_product_details.
  • Regions -- Each Amazon region maps to a specific domain (e.g. us maps to amazon.com, de maps to amazon.de). The region determines which site is scraped and which currency prices are reported in. A default region is set via AMAZON_REGION and can be overridden per request.
  • Variants -- Product variations along dimensions like size, color, or style. Each variant dimension lists its options with states: SELECTED (currently viewed), AVAILABLE (can be selected), or UNAVAILABLE (out of stock). Each available option includes an ASIN for fetching that specific variant.
  • WAF challenges -- Amazon's Web Application Firewall sometimes returns a 503 page with a JavaScript challenge instead of the real content. The browser handles this by navigating to the Amazon homepage first to acquire cookies, then retrying the target URL with a 3-second delay between attempts (up to 3 attempts).
  • CAPTCHA detection -- If Amazon presents a CAPTCHA page, the server detects it and returns an error immediately rather than timing out. This is a distinct condition from WAF challenges and cannot be bypassed automatically.
  • Anti-detection -- The headless browser overrides JavaScript properties (navigator.webdriver, navigator.plugins, window.chrome) and uses a realistic user agent and window size to reduce the chance of being identified as automation.

Architecture Overview

mermaid
graph LR    Client["MCP Client<br/>(Claude Desktop, Claude Code)"]    Server["amazon-products-mcp<br/>MCP Server (3 tools)"]    Scraper["Datasource<br/>region-specific"]    Browser["Headless Chrome<br/>(chromedp)"]    Amazon["Amazon<br/>22 regional sites"]
    Client -- "JSON-RPC over stdio" --> Server    Server --> Scraper    Scraper --> Browser    Browser -- "HTTPS" --> Amazon

The server has three internal layers:

  • cmd/amazon-products-mcp -- Entry point. Reads AMAZON_REGION from the environment, creates the shared browser instance and MCP server, and starts the stdio transport.
  • internal/server -- Registers 3 MCP tools, resolves the target region per request, and formats responses as JSON.
  • internal/scraper -- Two components: Datasource builds Amazon URLs for a given region and parses returned HTML into structured data. Browser manages a shared headless Chrome instance, handles WAF challenges/retries, and waits for page rendering to complete.

Data Flow

mermaid
sequenceDiagram    participant C as MCP Client    participant S as MCP Server    participant B as Headless Browser
    C->>S: search_products(query, region)    S->>B: Fetch(searchURL)
    Note over B: Open new tab    B->>B: Navigate to Amazon homepage    Note over B: Acquire WAF cookies    B->>B: Navigate to search URL    B->>B: Wait for DOM stability
    alt WAF 503 challenge        B->>B: Wait 3s, retry (up to 3x)    end    alt CAPTCHA detected        B-->>S: ErrCAPTCHA        S-->>C: Error: CAPTCHA page    end
    B-->>S: Rendered HTML    S->>S: Parse HTML into products    S-->>C: Product results (JSON)

Each request runs in its own browser tab for concurrency safety. The browser waits for either a specific CSS selector (#productTitle for product pages) or DOM stability (body content unchanged for 2 consecutive polls at 500ms intervals) before capturing HTML.

Source: amazon-products/README.md at commit 27dc1b2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v1.0.1LatestOct 29, 2026
  2. v1.0.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts