Skip to main content
Glama
aravindtri

Amazon Price Tracker MCP

by aravindtri

Amazon Price Tracker MCP

MCP server for tracking Amazon product prices via camelcamelcamel.com. Uses headless Chromium (Playwright) to bypass Cloudflare protection — no visible windows, runs as a background daemon.

Tools

Tool

Description

get_product_price

Get price history for an Amazon product. Input: URL, short link, or ASIN

resolve_short_link

Resolve a.co / amzn.to short links to full Amazon URLs

extract_asin

Extract the ASIN from any Amazon URL format

Related MCP server: browserless-mcp

Quick Install

git clone https://github.com/aravindtri/amazon-price-tracker-mcp.git
cd amazon-price-tracker-mcp
npm install
npx playwright install chromium
npm run build

MCP Client Configuration

VS Code Copilot

Add to C:\Users\%USERNAME%\AppData\Roaming\Code\User\mcp.json:

{
  "servers": {
    "amazon-price-tracker": {
      "type": "stdio",
      "command": "node",
      "args": ["C:\\Workspace\\AmazonPriceTrackerMCP\\dist\\index.js"]
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "amazon-price-tracker": {
      "command": "node",
      "args": ["C:/Workspace/AmazonPriceTrackerMCP/dist/index.js"]
    }
  }
}

Usage

Input: https://www.amazon.com/dp/B08N5WRWNW
Input: https://a.co/d/0aNbqzsI  
Input: B08N5WRWNW

Returns product name, category, manufacturer, model, and price summary:

  • Current, lowest ever, highest ever, average prices

  • Separate tracking for Amazon, 3rd Party New, and 3rd Party Used

How It Works

  1. Extracts ASIN from Amazon URLs (supports /dp/, /gp/product/, short links)

  2. Resolves short links by following redirects in headless Chrome

  3. Loads camelcamelcamel.com/product/{ASIN} in headless Chromium

  4. Cloudflare challenge auto-resolves (real Chrome engine)

  5. Parses the rendered HTML for price data using cheerio

  6. Browser stays alive for 5 minutes idle, then auto-closes

No API key required. No manual cookie setup.

Available Tools

3 tools
extract_asinA

Extract the ASIN from any Amazon URL format. Works with full URLs, short links, and camelcamelcamel URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAmazon product URL to extract ASIN from

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It describes its input scope (URL formats) but does not disclose behavior like whether it fails on non-Amazon URLs, whether it returns null/error on missing ASIN, or error handling behavior. For a simple extraction tool this is acceptable but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Everything stated is informative and front-loaded with the primary purpose. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter extraction tool with full schema coverage, the description is reasonably complete. It conveys the purpose and accepted input formats. However, it doesn't mention the return format (just the ASIN) or failure behavior, though the absence of an output schema means these are minor gaps for a low-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there's only one parameter that is self-descriptive ('Amazon product URL'). The description adds the format flexibility (short links, camelcamelcamel) which elaborates on accepted URL variants beyond the schema's single-line description, but doesn't add much beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Extract the ASIN from any Amazon URL format.' It also lists coverage of formats (full URLs, short links, camelcamelcamel URLs), which helps distinguish it somewhat from siblings like resolve_short_link. However, it doesn't explicitly differentiate from get_product_price or clarify the relationship with resolve_short_link.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('any Amazon URL format') and implicitly contrasts with resolve_short_link by covering short links. However, there's no explicit when-to-use vs. alternatives guidance, no exclusions, and no mention of when one would prefer resolve_short_link over this tool for short links.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_priceA

Get Amazon product price history and current pricing from camelcamelcamel.com. Input: Amazon URL (amazon.com/dp/ASIN), short share link (a.co/d/xxx), camelcamelcamel URL, or a bare 10-char ASIN. Returns: current price, all-time lowest/highest, average price, and product details.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesAmazon product URL, short link (a.co/xxx), camelcamelcamel URL, or ASIN (e.g. B08N5WRWNW)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the disclosure burden. It clearly states what it fetches (price history, current pricing, product details) and even lists the output fields (current price, all-time lowest/highest, average, product details). It doesn't disclose potential concerns like rate limiting, scraping fragility, network dependency, or whether the short-link resolution happens implicitly, but for a read-only data-fetch tool the disclosure is reasonably adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact — roughly three sentences covering purpose, accepted inputs, and return value. It's appropriately front-loaded with the core purpose. A minor inefficiency: it lists return fields both in prose and implicitly, but this is acceptable. No wasted sentences or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, no-output-schema tool, this description is quite complete. It specifies all accepted input forms, the exact source (camelcamelcamel.com), and the full set of returned data points (price, extremes, average, details). Given the relative simplicity of the tool (one param, no nested objects, no output schema), the description covers the key decisions an agent needs to make. It could add nuance about data freshness or edge cases, but for this complexity level it's well-rounded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the 'input' parameter well. The description adds genuine value by enumerating the four accepted input formats (full URL, short share link, camelcamelcamel URL, bare ASIN with example B08N5WRWNW) — this is a significant enrichment beyond the schema's brief 'Amazon product URL, short link, camelcamelcamel URL, or ASIN' line, providing the agent with concrete usable formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs and resources ('Get Amazon product price history and current pricing from camelcamelcamel.com') and details exactly what's returned: current price, all-time lowest/highest, average price, and product details. It clearly distinguishes from siblings (resolve_short_link and extract_asin) by focusing on pricing data from camelcamelcamel rather than link resolution or ASIN extraction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description enumerates the four accepted input formats (Amazon URL, short share link, camelcamelcamel URL, bare ASIN), which gives clear context on when the tool applies. However, it doesn't explicitly tell the agent when NOT to use it versus the sibling tools (resolve_short_link, extract_asin). The input type list partially distinguishes it from siblings but doesn't name alternatives directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedextract_asin
    • First observedget_product_price
    • First observedresolve_short_link

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation2/5

The primary tool get_product_price accepts all input formats directly, including short links and URLs, making the auxiliary tools unnecessary in many cases. resolve_short_link and extract_asin both extract ASINs from links, with only slight differences in input flexibility, so agents may struggle to choose the right tool for a given URL. This overlapping functionality creates ambiguity in tool selection.

Naming Consistency5/5

All three tools follow a consistent verb_noun pattern with lowercase snake_case: get_product_price, resolve_short_link, extract_asin. This makes the API predictable and easy to navigate.

Tool Count4/5

Three tools is a minimal but reasonable number for a price-tracking server. However, since get_product_price already handles all input formats, the two preprocessing tools appear somewhat redundant, making the count slightly higher than necessary.

Completeness4/5

The server covers the core operation of retrieving price history and current pricing for a given product. It lacks batch lookup or search features, but for its narrow purpose of single-product tracking, it provides a complete workflow.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for web fetching and automation using Chromium headless browser. Enables fetching pages as markdown, taking screenshots, automating interactions, and extracting data via CSS selectors.
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for scraping product prices, offers, reviews, and details from Amazon, Google Shopping, Bol.com, and Coolblue via natural language commands, with spend-cap protections.
    9 npm
    1
    MIT