The single-tool surface keeps it cheap to leave enabled, and the interesting part is not the search but the pass that follows it — a model reading the listings against your stated requirements. Because the prompt sits in plain sight in the source, tuning what "good for programming" means to it is a text edit rather than a feature request. Two things to plan for: the keys go in a source file, not an env var, so keep that file out of any commit; and the price handling assumes rupees.
A FastMCP server that searches Amazon products and then runs the results through a Hugging Face model to rank them against the features you described. It is built around one tool and one shape of question: I want this kind of thing, with these characteristics, between these two prices.
- A product search with a feature description and a minimum and maximum price, returning recommendations rather than a raw result list — `getdata`
- Feature-based matching, so "8GB RAM, SSD storage, good for programming" narrows the results instead of being treated as search keywords
- Alternative front ends in the same repository if you want to use it outside an MCP client: an interactive Python client, a command-line client taking `--features`, `--min-price` and `--max-price`, and a small web interface with a REST endpoint
- Prices handled in rupees, which is the market the recommendation prompt was written for
Two keys, and they go in the source rather than the environment: a Hugging Face API token and a RapidAPI key, both edited into `server/buy.py`. Install from a clone with `uv sync` or `pip install -r requirements.txt`, then point your client at `main.py`. There is no published package. The recommendation prompt lives in the `decision_agent` function in the same file, so changing how it ranks means editing it there.
Build from source — clone the repository and build it, then point your client at the binary
