Skip to main content

Amazon MCP Server

A hosted Model Context Protocol (MCP) server that gives Claude, Cursor, Windsurf and any other MCP client four read-only Amazon tools. Run a keyword search, read one product by its ASIN, look up a seller, and page through what that seller stocks, all as structured JSON, with no Amazon developer account and nothing to host.

It reads public Amazon pages that a signed-out visitor can see, on any of the 23 regional domains.

1,000 free credits every month, no card required, which is 200 Amazon calls at the 5-credit rate.

https://mcp.hasdata.com/api/mcp?apis=amazon

Glama score tool contract MCP Tools npm PyPI License

Contents

What you need

An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 200 calls a month at the 5-credit rate. This is a remote server, so the simplest path is a URL and an x-api-key header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as @hasdata/amazon-mcp on npm and hasdata-amazon-mcp on PyPI, shown below.

Quick start

The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.

Field Value
URL https://mcp.hasdata.com/api/mcp?apis=amazon
Transport HTTP, streamable
Auth header x-api-key: HASDATA_API_KEY

Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.

Claude Code
claude mcp add --transport http amazon "https://mcp.hasdata.com/api/mcp?apis=amazon" \
  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop

Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/api/mcp?apis=amazon and sign in.

For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The @hasdata/amazon-mcp package is that launcher, and it reads the key from the environment. Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "amazon": {
      "command": "npx",
      "args": ["-y", "@hasdata/amazon-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:

{
  "mcpServers": {
    "amazon": {
      "command": "uvx",
      "args": ["hasdata-amazon-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}
Cursor

~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:

{
  "mcpServers": {
    "amazon": {
      "url": "https://mcp.hasdata.com/api/mcp?apis=amazon",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:

{
  "mcpServers": {
    "amazon": {
      "serverUrl": "https://mcp.hasdata.com/api/mcp?apis=amazon",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
VS Code

.vscode/mcp.json in the workspace:

{
  "servers": {
    "amazon": {
      "type": "http",
      "url": "https://mcp.hasdata.com/api/mcp?apis=amazon",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

Example prompts

Each of these lands on one tool, or on two in sequence when the second needs an identifier the first returns.

  • Find laptop stands under $40 on Amazon and sort them by average customer review.
  • What does ASIN B0DHJ7SBDR cost right now, and how many other sellers offer it?
  • Compare the price of this ASIN on amazon.com and amazon.de.
  • Who is the seller behind ASIN B0DHJ7SBDR, and what is their lifetime rating?
  • Page through everything seller ATQQBVXK188KS stocks and pull out the discounted items.
  • Search for wireless earbuds with delivery to 10001 and tell me which arrive fastest.

A prompt that names a product rather than an ASIN takes two calls, one search to resolve the ASIN and one product lookup to read it. A prompt that names a seller by brand rather than by seller ID takes the same shape, one product lookup to find the seller ID and one seller lookup to read the profile.

Tools

Four tools, 5 credits per successful call. Every tool accepts domain to switch marketplace, one of 23 values, www.amazon.com through the European, Asian and other regional marketplaces, and language where the marketplace offers more than one.

Get Amazon search results

hasdata_amazon_search_getSearchResults

A page of search results for a keyword.

Parameter Type Required Notes
q string yes The search term
domain string Marketplace, defaults to www.amazon.com
page number Result page, starting at 1
sortBy string featured, priceLowToHigh, priceHighToLow, avgCustomerReview, newestArrivals or bestSellers
deliveryZip string Postal code, which changes availability and delivery dates
shippingLocation string Two-letter country code for the delivery address
language string Marketplace language code

Returns productResults, an ads array of sponsored placements, and pagination with totalResults, currentPage, nextPageUrl and otherPageUrls. Each result carries position, asin, title, url, isSponsored, a price object, image, reviews with rating and totalReviews, a badges object, boughtInPastMonth and deliveryInfo.

A search result is deliberately thin. Brand, features, variants, images and the seller are not here, they come from the product tool below. Resolve the ASIN first, then read the product.

{
  "position": 1,
  "asin": "B077B9W343",
  "title": "Nulaxy Ergonomic Adjustable Laptop Stand for Desk, Dual Foldable Computer Riser...",
  "isSponsored": false,
  "price": { "symbol": "$", "currentPrice": 15.99, "beforePrice": 17.99 },
  "image": "https://m.media-amazon.com/images/I/61jtA8kHq9L.jpg",
  "reviews": { "totalReviews": 16800, "rating": 4.7 },
  "badges": { "amazonChoice": true, "amazonPrime": false, "bestSeller": false },
  "boughtInPastMonth": "10K+",
  "deliveryInfo": { "freeDelivery": "Join Prime", "fastestDelivery": "Mon, Sep 14" },
  "url": "https://www.amazon.com/dp/B077B9W343"
}

Get Amazon product details

hasdata_amazon_product_getProductDetails

One product in full, by its ASIN.

Parameter Type Required Notes
asin string yes The Amazon Standard Identification Number
domain string Marketplace, defaults to www.amazon.com
otherSellers boolean Also collect competing offers. Costs 5 credits on top of the base, 10 instead of 5
deliveryZip string Postal code, which changes availability and delivery dates
shippingLocation string Two-letter country code for the delivery address
language string Marketplace language code

Returns a product object with asin, url, title, brand, isAvailable, condition, a price object, primaryFeatures and a wider features map, featureBullets, description, variants, breadcrumbs, whatIsInTheBox, image and video collections, specification, reviewsInfo, the delivery estimates, and the current seller with sellerUrl.

The price object holds currentPrice, beforePrice when the item is discounted, discount, priceFrom and otherOfferQuantity. That last field is a count of competing offers, which the base call reports without fetching them. Ask for otherSellers only when the offers themselves are needed, because it doubles the price of the call.

{
  "asin": "B0DHJ7SBDR",
  "title": "Apple iPhone 16 Pro Max, 1TB, Desert Titanium",
  "brand": "Apple",
  "condition": "Refurbished - Excellent",
  "price": {
    "symbol": "$",
    "currentPrice": 974,
    "beforePrice": 949.99,
    "discount": "-11%",
    "otherOfferQuantity": 11
  },
  "seller": "WirelessSource",
  "deliveryIsoDate": "2026-09-11T00:00:00.000Z"
}

Get Amazon seller details

hasdata_amazon_seller_getSellerDetails

The public storefront profile of one seller.

Parameter Type Required Notes
sellerId string yes The seller ID, which a product response returns in sellerUrl
domain string Marketplace, defaults to www.amazon.com
language string Marketplace language code

Returns a seller object with sellerId, url, storefrontUrl, name, businessName, businessAddress, an about block, and four rating windows named oneMonthRatings, threeMonthRatings, twelveMonthRating and lifetimeRating. Each window carries totalVotes, averageRating and a per-star breakdown with both votes and percent.

The four windows are what make this tool worth a call. A lifetime average of 4.5 over 2,701 votes and a one-month average of 2 over 4 votes describe very different sellers, and only the pair shows a decline in progress.

{
  "sellerId": "ATQQBVXK188KS",
  "name": "Expercom - Apple Premier Partner",
  "businessName": "Expercom of Utah, Inc",
  "lifetimeRating": { "totalVotes": 2701, "averageRating": 4.5 },
  "oneMonthRatings": { "totalVotes": 4, "averageRating": 2 }
}

Get Amazon seller products

hasdata_amazon_seller_products_getSellerProducts

A page of what one seller stocks.

Parameter Type Required Notes
sellerId string yes The seller ID
domain string Marketplace, defaults to www.amazon.com
page number Result page, starting at 1
language string Marketplace language code

Returns productResults and pagination, shaped like the search tool's output. Each item carries position, asin, title, url, price, image, reviews, badges, boughtInPastMonth, deliveryInfo and colorUrls. Walk pagination to reach the rest of the catalogue rather than guessing page numbers.

Errors and failure paths

Plan for these rather than assuming a happy path.

A search with no matches returns a successful result with an empty productResults array, not an error. requestMetadata.status is still ok. Test the array length before iterating.

An ASIN that does not exist on the chosen marketplace answers with an error, not an empty product. The same ASIN often exists on one domain and not another, so a failure on www.amazon.de does not mean the ASIN is wrong.

A seller ID is marketplace-scoped too. The ID that a product on www.amazon.com returns will not resolve on another domain.

A price can be absent from a live listing. Items that are out of stock, sold only through other sellers, or gated behind a promotion come back without a usable currentPrice. Read isAvailable before you compare prices.

deliveryZip and shippingLocation change the answer, not just the delivery line. Availability, price and the seller mix all shift with the destination, so a comparison across postcodes has to hold every other parameter still.

Results that carry data also carry a requestMetadata.id worth quoting in support.

Pricing, free tier and limits

Each Amazon tool costs 5 credits per successful call. Turning on otherSellers adds 5 credits to the product call, 10 instead of 5, so leave it off unless the competing offers are the point. Response size does not change the price.

The free tier is 1,000 credits every month with no card, which is 200 Amazon calls at the base rate. It renews with the billing cycle, so a low-volume agent runs on the free tier indefinitely.

Paid plans start at $49 a month for 200,000 credits, which is 40,000 calls. The unit price falls with volume, from $1.23 per 1,000 calls on the entry plan to $0.50 on Business, $0.42 on Growth and $0.37 on the largest high-volume plans.

Your plan also sets concurrency. The free tier allows 1 request at a time, Startup 15, Business 30, Growth 50, and the high-volume plans run from 200 to 1,500. Handle the overflow case defensively in anything unattended, because an agent that fans out across ASINs will reach the ceiling before you do.

A request that comes back non-200 is not billed. A successful call that finds nothing is still a call.

Tool selection

Two rules cover most of it.

Start from what the prompt gives you. A keyword goes to the search tool, an ASIN goes straight to the product tool, and a seller ID goes to one of the two seller tools. Spending a search call to reach an ASIN you already have is the most common waste.

Then pick by depth. The search and seller-products tools return the same thin item shape, good for ranking, filtering and price sweeps across many products. The product tool is the only one that returns brand, features, variants, images and the seller, and it is the only one worth calling when the question is about a single item.

How it compares

Amazon's own Product Advertising API is the official route to this data, and it is a different instrument.

Product Advertising API This server
Eligibility An approved Associates account with qualifying sales An API key
Setup Associates signup, tag, request signing One header
Scope Items you are approved to advertise Any public listing page
Seller storefronts Not returned Two dedicated tools
Search sorting Limited set The six orders Amazon shows a shopper
Cost Free, when you qualify Paid past the free tier, 5 credits a call

The row that decides it is eligibility. The Product Advertising API is built for affiliates and its access depends on sales you have already made, which rules it out for research, monitoring and anything an agent does on your behalf. When you do qualify and only need advertisable items, the official API is the better fit.

FAQ

Is there an official Amazon MCP server?

Amazon does not publish one. This one is maintained by HasData and reads public Amazon pages.

What is an Amazon MCP server?

An MCP server exposes tools an AI client can call. This one turns Amazon search results, product pages and seller storefronts into JSON an agent can reason over, without a browser or a scraping library in your stack.

Do I need an Amazon account or API key?

No. The only credential is your HasData key.

Which marketplaces are covered?

All 23 domains the API accepts, from www.amazon.com through the European and Asian marketplaces. Pass domain to switch. Prices, availability and the seller mix differ per marketplace, so a cross-domain comparison is a real comparison rather than a currency conversion.

Why does a search result have no brand or features?

Amazon does not put them on the results page. The search tool returns what the page shows, and the product tool returns the item page. That split is the reason the two tools cost the same and return different depths.

What does otherOfferQuantity mean?

The number of other sellers offering the same item, as the product page reports it. It arrives with the base call. The offers themselves need otherSellers, which costs 5 credits more.

Can I use this together with other HasData APIs?

Yes. One key covers everything, and one endpoint serves them all through the apis parameter. Point a client at ?apis=amazon,google_serp to get both tool sets in one connection, or at mcp.hasdata.com/api/mcp for the full catalogue.

Is HasData affiliated with Amazon?

No. HasData is an independent service and is not affiliated with, endorsed by, or sponsored by Amazon. Amazon is a trademark of its respective owner. The tools work with publicly available data only, and you are responsible for using the results in line with Amazon's terms and the law that applies to you.

Compliance and personal data

Seller profiles carry a business name and a business address, which are published by Amazon on the storefront page. Treat them as business records rather than free-form data, and check your own obligations before storing them.

HasData links

Other HasData MCP servers: Google Search, Google Maps, Google Trends, Google Flights, DuckDuckGo, YouTube, TikTok, Instagram, Zillow, Airbnb, Booking.com, Indeed.

Development

The launcher is a thin stdio bridge to the remote server, so there is nothing to build.

npm install
HASDATA_API_KEY=your_key_here npm test

The tests in test/ assert the tool contract, the part that can break without a commit here. They check that ?apis=amazon returns the expected tool count, that no name changed, that every tool still declares its required parameter and carries a description, and that the key in use is actually accepted. That last check calls a tool for real and costs 5 credits, which is the price of a canary that can fail for the right reason.

One more test covers a tool this README does not document. The server also lists a reviews tool whose upstream endpoint is retired and answers with an error, so documenting it would send readers at a dead end. The test pins that state instead of ignoring it, and it fails the day the endpoint returns or the day the server drops the tool, which is when this README needs a decision.

The contract suite also runs weekly on a schedule, because the upstream tool list can change without anyone touching this repository.

Contributing

A tool table, a response sample or a documented behaviour that does not match reality is worth an issue. There is a template for exactly that. Pull requests are welcome for the same, and for anything in the launcher.

License

MIT, see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hasdata_amazon_mcp-1.0.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hasdata_amazon_mcp-1.0.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file hasdata_amazon_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: hasdata_amazon_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.2

File hashes

Hashes for hasdata_amazon_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d4d24ff0c01d9a608daa69f4de57f78997ecdef427df1b7b54205a6c4586a3cc
MD5 9d1a77a3a527d5163798051e79b9141b
BLAKE2b-256 5b1679251455b14421fb0c3e3d27d64066a1ce1d0d891a7dfeda6232c630facf

See more details on using hashes here.

File details

Details for the file hasdata_amazon_mcp-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hasdata_amazon_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 757ebd39486d83ee7f2e9398cc923e961c1ae83cde0bf3dd7e9c571e4fa63eb3
MD5 9f8af5f7f0c75e61b266f4e9900bedab
BLAKE2b-256 5edebc5ae075172b8efbb0e1b3e2dd694d9d2b0ba702c006b67c41612ce5577e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page