MCP server for amazon.in — cheapest in-stock, best-value picks, and price history links. No paid APIs.
amazon-in-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server that lets your LLM shop on Amazon.in.
Cheapest in-stock listing. Best-value pick. Price history. No paid APIs.
---
What it does
Three tools your LLM can call against amazon.in:
| Tool | What it returns |
|---|---|
| search_amazon_in(query, max_results=5, page=1) | Ranked listings + two convenience picks: **cheapest in stock** and **best value** (rating × log10(reviews) / √price). page fetches deeper result pages. |
| get_product(asin_or_url) | Full product detail — price, MRP, discount, rating, reviews, stock, bullets, brand, seller, delivery |
| price_history_link(asin_or_url) | A Keepa.com chart URL for the amazon.in domain. No network call. |
No API keys. No accounts. Runs locally over stdio. Direct HTML scraping with rotating user agents and retry on bot-check pages.
---
Quick start
**1. Install** (Claude Code):
**2. Restart your MCP client** (Claude Code, Cursor, Claude Desktop, etc.)
**3. Ask:**
> *"Find me a good 1TB external SSD on amazon.in under ₹10,000. Best value pick."*
Your LLM will call search_amazon_in, rank by value, and hand back a real product with current price and a Keepa link for price history.
---
What it looks like
A real call to search_amazon_in("wireless mouse", max_results=3) returns:
get_product adds bullets[], brand, seller, discount_percent, availability.
---
Configure your MCP client
Claude Code
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Cursor / Windsurf / others
Same JSON config as Claude Desktop. Drop it into the client's MCP settings file.
---
Configuration
All optional. Set these in the env block of your MCP client config; defaults preserve the original behavior.
| Env var | Default | Purpose |
|---|---|---|
| AMAZON_IN_AFFILIATE_TAG | artech-21 | Amazon Associates tag on emitted URLs. none / off / "" disables. See funding. |
| AMAZON_IN_CACHE_TTL_MS | 90000 | Lifetime of the in-memory page cache (ms). 0 disables caching. |
| AMAZON_IN_PROXY | _unset_ | HTTP/HTTPS proxy URL for all requests, e.g. http://user:pass@host:8080. |
Example — route through a proxy and shorten the cache to 30 s:
---
Automatic routing (no need to say "use the Amazon MCP")
Once installed, the server tells your client to reach for these tools on its own. It ships MCP **server instructions** (returned in the initialize handshake) that instruct the model to use search_amazon_in / get_product by default for any amazon.in shopping, price, availability, or reviews question — including when you just paste an amazon.in link or an ASIN. The tool descriptions carry the same trigger keywords as a fallback for clients that read tool descriptions but not server instructions.
So you can ask "find me a mechanical keyboard under 3000" or paste a product link and the client routes to this server without you naming it. Note this is model-level guidance surfaced by the host (Claude Code, Claude Desktop, Cursor, …), not a hard protocol guarantee — a client that ignores server instructions and tool descriptions won't be forced to route.
---
Image search
The server intentionally doesn't accept image input — keeps it provider-agnostic. Instead, paste the image into your LLM client, ask it to describe the product, and it'll call search_amazon_in with the right keywords automatically. Works the same in every MCP-capable client.