Amazon Products

io.github.jbeshir由 GitHub 账号 jbeshir 发布v1.0.1更新于 Oct 30, 2026

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

概览

AI 生成的概览

通过无头 Chrome 浏览器在 22 个亚马逊区域站点搜索商品并获取商品详情,返回价格、评分和变体信息。

可以做什么
  • 列出支持的亚马逊区域及其 ID、名称和货币
  • 按关键词在指定区域搜索商品,返回价格、评分和 Prime 资格
  • 按 ASIN 获取商品详情,包括价格、描述、特性、评分、库存和变体
适用场景
适合在调研商品时让助手查询亚马逊商品列表、比较不同国家站点的价格,或查看库存与变体情况。
运行要求
以 stdio 方式在本机运行,仅支持桌面端。需要安装 Google Chrome 或 Chromium(服务器以无头模式启动它);Linux 上建议使用非 snap 版本,可用 CHROME_EXEC_PATH 指定可执行文件路径。可选环境变量 AMAZON_REGION 设置默认区域(默认 us)。README 也提供内置 Chrome 的 Docker 镜像。需要能访问亚马逊的网络。
安装前请注意
它通过伪装自动化特征的无头浏览器抓取亚马逊页面,可能与亚马逊的服务条款冲突。亚马逊可能返回 WAF 挑战或 CAPTCHA 页面,遇到 CAPTCHA 会直接报错。它只读取商品信息,不会下单购买。请求会发送到亚马逊各区域站点。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Amazon Products,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:amazon-products/README.md,提交 27dc1b2

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v1.0.1最新Oct 29, 2026
  2. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分