mcpField
A
Amazon Products

Amazon Products

Local
github.com/jbeshirBusiness & Marketing1Updated 3d ago

About Amazon Products

Amazon Products is an MCP server for searching Amazon and retrieving product details across 22 regional sites. It uses headless Chrome to render pages and return structured product information.

Key features

  1. 01Search products by keyword
  2. 02Retrieve details by ASIN
  3. 03List supported regions
  4. 04Return prices, ratings, and availability
  5. 05Show product variants

Use cases

  1. 01Comparing products across Amazon regions
  2. 02Checking a product's price and availability
  3. 03Inspecting ratings and product variants

MCP support

The server exposes region listing, product search, and product-detail tools to MCP clients over stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
mcpbamazon-products-mcp.mcpb

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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-products
docker run -e AMAZON_REGION=us amazon-products-mcp
Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.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

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

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.