Purpose
amazon-in-mcp is an MCP (Model Context Protocol) server that lets you query product information from amazon.in (Amazon India) directly in MCP-capable large language model clients. Its goal is to hand shopping query capabilities to the LLM: find the lowest price, find the best value for money, and view product details and price history. The project does not rely on any paid API and requires no API key or account.
Main capabilities
The server provides three tools that can be called by the LLM (targeting amazon.in):
- Search tool (search_amazon_in): you can specify keywords and the maximum number of results, and it returns a product list. Example call search_amazon_in("wireless mouse", max_results=3) returns product information.
- Product details tool (get_product): on top of the search results, it adds fields such as product bullets, brand, seller, discount_percent, and availability.
- Best value ranking: among products that are sufficiently in stock and have at least 10 reviews, the score is calculated by the formula score = rating × log10(reviews + 10) / sqrt(price), and the highest-scoring product is the "best value". cheapest_in_stock instead directly takes the one with the lowest price_inr among in-stock products, which suits situations where you simply want the lowest price.
- Price history link: the returned amazon.in product links come with a Keepa price history link (by default including the author's Amazon affiliate tag artech-21).
- Optional Keepa API support: users can provide their own Keepa API key to obtain real price history data.
- Filtering assistance: supports filter parameters such as min_rating, min_reviews, and under_price.
- No API key or account required, runs locally via stdio, scrapes HTML directly, uses rotating user agents, and retries when encountering bot-check pages.
How to use
- Install (using Claude Code as an example; for the specific installation command, please refer to the project repository instructions).
- Restart your MCP client (Claude Code, Cursor, Claude Desktop, etc.).
- Ask questions in natural language, for example: "Find me a good 1TB external SSD on amazon.in under ₹10,000. Best value pick." or "find me a mechanical keyboard under 3000", or paste an amazon.in link or ASIN directly. The LLM will call search_amazon_in, sort by value for money, and return real products, current prices, and Keepa price history links.
- Configure the MCP client: edit ~/Library/Application Support/Claude/claude_desktop_config.json (an example path for Claude Desktop); other clients use the same JSON configuration, placed in their MCP settings file.
- Optional environment variables: set them in the env block of the MCP client configuration; default values preserve the original behavior. For example, you can set a proxy via AMAZON_IN_PROXY, shorten the cache to 30 seconds, etc. Example—using a proxy and shortening the cache: configure the corresponding variables in env.
- Automatic routing: after installation, the server returns MCP server instructions during the initialize handshake, instructing the model to use search_amazon_in / get_product by default for any amazon.in shopping, price, stock, or review question, including when the user only pastes an amazon.in link or ASIN. The tool descriptions also carry the same trigger keywords as a fallback for clients that do not read the server instructions.
- Image input: the server intentionally does not accept image input, to remain neutral across different providers. You can paste an image into the LLM client, have it describe the product, and then automatically call search_amazon_in with suitable keywords.
- Interactive testing is possible via the MCP Inspector (for the specific command, see the project repository).
Applicable scenarios
- Quickly query information such as price, stock, rating, and seller for amazon.in products in an LLM client.
- Find the lowest-priced in-stock product or one that balances rating, number of reviews, and price"Best value for money" products.
- Check product price history (Keepa link).
- Suitable for personal research and assistant use.
Limitations and Notes
- It scrapes publicly accessible amazon.in pages, without bypassing authentication, paywalls, or CAPTCHAs; when Amazon returns a bot check page, the tool stops and reports an error.
- Under heavy use, an estimated about 1–5% of requests will fail due to bot checks. You can wait 30–60 seconds and retry, run it on a different network, or set AMAZON_IN_PROXY.
- The page DOM selectors are best-effort and may break when Amazon updates its layout, requiring community help to fix. The project welcomes PRs.
- Author's note: the returned amazon.in links include its Amazon affiliate tag artech-21 by default; after a purchase is made through a click, the author receives a small commission, and the price you pay remains unchanged; this is the only way the project stays free, MIT-licensed, and continuously maintained. It can be overridden or disabled at any time via the AMAZON_IN_AFFILIATE_TAG environment variable (for example, by setting it to your own tag).
- You need to ensure on your own that your use complies with Amazon's Terms of Service and local laws. The project provides no guarantee of uptime, accuracy, or fitness for purpose.
- The automatic routing in the server instructions and tool descriptions is model-level guidance, presented by the host client, and is not a hard protocol guarantee; clients that ignore the server instructions and tool descriptions will not be forcibly routed.
- The project is licensed under the MIT License, and the author is Aditya Raj Singh.