Amazon MCP Server
Provides read-only tools to search Amazon products by keyword, retrieve product details by ASIN, look up seller profiles, and page through a seller's inventory across 23 regional Amazon marketplaces.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Amazon MCP ServerSearch Amazon for wireless noise cancelling headphones"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Contents
Related MCP server: Amazon MCP Server
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 |
|
Transport | HTTP, streamable |
Auth header |
|
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
claude mcp add --transport http amazon "https://mcp.hasdata.com/api/mcp?apis=amazon" \
--header "x-api-key: HASDATA_API_KEY"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/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" }
}
}
}~/.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" }
}
}
}.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 |
| string | yes | The search term |
| string | Marketplace, defaults to | |
| number | Result page, starting at 1 | |
| string |
| |
| string | Postal code, which changes availability and delivery dates | |
| string | Two-letter country code for the delivery address | |
| 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 |
| string | yes | The Amazon Standard Identification Number |
| string | Marketplace, defaults to | |
| boolean | Also collect competing offers. Costs 5 credits on top of the base, 10 instead of 5 | |
| string | Postal code, which changes availability and delivery dates | |
| string | Two-letter country code for the delivery address | |
| 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 |
| string | yes | The seller ID, which a product response returns in |
| string | Marketplace, defaults to | |
| 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 |
| string | yes | The seller ID |
| string | Marketplace, defaults to | |
| number | Result page, starting at 1 | |
| 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
Amazon Scraper API, the REST endpoints behind these tools
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 testThe 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.
Available Tools
5 toolshasdata_amazon_product_getProductDetailsamazon_product: GET /AInspect
Get Amazon Product Details
Fetches a single Amazon product page by ASIN on a chosen Amazon domain (amazon.com, .co.uk, .de, .jp, etc.). Returns title, brand, current/list/deal price, currency, availability, Buy Box seller, Prime eligibility, bullet points, A+ description, rating and review count, images, category breadcrumbs, variants/sibling ASINs, and the other-sellers offers block (when otherSellers=true), plus delivery-zone-aware pricing when a shipping zip/location is set. Use for product research agents, price/stock monitoring, catalog enrichment, listing QA, Buy Box tracking, and cross-locale competitive analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | The Amazon Standard Identification Number (ASIN) of the product. | |
| domain | No | Amazon domain to use. Default is www.amazon.com. | |
| language | No | Optional Amazon language code. Supported values depend on the selected domain. | |
| deliveryZip | No | Postal code of the delivery location. | |
| otherSellers | No | Also collect the offers of other sellers competing for this item. This takes an extra request to Amazon and costs 5 credits on top of the base. Default is false. | |
| shippingLocation | No | The two-letter country code to define the country of the delivery address. Provide one exact documented value (238 allowed), e.g. `AU`, `CA`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals that otherSellers triggers an extra request and 5-credit cost, that shipping parameters enable delivery-zone-aware pricing, and enumerates the returned data fields. This goes beyond a simple fetch statement and sets accurate expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than minimal, but each sentence earns its place: purpose, return fields, conditional behavior, and use cases. The dense field list is justified because no output schema is present, making the enumeration valuable rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description fully compensates by enumerating the core returned data, covering conditional behaviors like otherSellers and shipping-location pricing, and listing relevant use cases. Nothing essential for an agent to decide when and how to call this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing a baseline of 3. The description adds meaningful semantics beyond the schema by explaining the otherSellers cost/extra-request tradeoff, how deliveryZip/shippingLocation affect pricing, and domain/language dependencies. This supplements the parameter definitions without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: 'Fetches a single Amazon product page by ASIN on a chosen Amazon domain.' This clearly distinguishes product details from sibling tools focused on reviews, search, and seller data, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Lists concrete use cases including product research, price/stock monitoring, listing QA, Buy Box tracking, and cross-locale analysis. This gives clear context for when to use the tool, though it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_amazon_reviews_getProductReviewsamazon_reviews: GET /AInspect
Get Amazon Product Reviews
Paginated fetch of customer reviews for an Amazon ASIN with filters for star rating (1-5, positive, critical), reviewer type (all vs verified purchase), media-only reviews, current-variant vs all-formats, keyword search, and sort (helpful/recent). Returns per-review title, body, star rating, author name and profile, review date, country, verified-purchase flag, helpful-vote count, variant/format attributes, and attached media URLs, plus aggregate rating histogram. Use for voice-of-customer analysis, sentiment and theme extraction, feature-request mining, competitor review benchmarking, and feeding review-summarization or Q&A agents.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | The Amazon Standard Identification Number (ASIN) of the product. | |
| page | No | The page number to retrieve. | |
| stars | No | The star ratings to filter reviews. | |
| domain | No | Amazon domain to use. Default is www.amazon.com. | |
| format | No | The format type to filter reviews. Include reviews of any product format/variant or specifically to the current format/variant. | |
| sortBy | No | The criterion to sort reviews. | |
| language | No | Optional Amazon language code. Supported values depend on the selected domain. | |
| mediaType | No | The media type to filter reviews. | |
| searchTerm | No | A term to search within the reviews. | |
| reviewerType | No | The type of reviewers to filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses pagination ('Paginated fetch'), the filtering dimensions, and enumerates the returned per-review fields plus aggregate rating histogram. It does not mention rate limits, authentication needs, or error behavior, but for a read-only GET tool the disclosed behavior is substantial and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and front-loaded: the first sentence states the action, the next sentence lists filters, then outputs, then use cases. The use-case enumeration is slightly longer than strictly necessary but earns its place for agent selection. No redundancy or tautology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 10 parameters, the description compensates well by enumerating both the filter capabilities and the exact return fields, including the aggregate histogram. It lacks explicit default values for page, sortBy, or mediaType and does not describe response pagination metadata, but these are minor gaps given the rich input/output description present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying the semantics of several enum-based filters: 'star rating (1-5, positive, critical)' maps to stars, 'current-variant vs all-formats' clarifies format, and 'media-only reviews' clarifies mediaType. This helps an agent choose parameter values without needing to infer from enum names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Get Amazon Product Reviews') and immediately expands to 'Paginated fetch of customer reviews for an Amazon ASIN,' clearly distinguishing it from the sibling tools that handle product details, search, and seller data. The scope is unmistakable even without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by listing concrete use cases: voice-of-customer analysis, sentiment extraction, feature-request mining, competitor benchmarking, and review summarization. It does not explicitly exclude alternatives like getProductDetails or search_getSearchResults, but the distinct resource type makes the intended use obvious, so it earns a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_amazon_search_getSearchResultsamazon_search: GET /AInspect
Get Amazon Search Results
Runs a keyword search on a chosen Amazon domain with pagination, delivery zip/location scoping, and sort order (featured, price low-to-high, price high-to-low, avg-customer-review, newest). Returns the organic results list with ASIN, title, thumbnail, product URL, price and list price, currency, star rating, review count, Prime/sponsored flags, and position, plus related search suggestions and filter facets. Use for SERP monitoring, keyword/share-of-shelf tracking, competitor discovery, ASIN harvesting to feed downstream product/reviews endpoints, and building product-research or price-comparison agents.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search term for which to get the search results. | |
| page | No | Page number for pagination (e.g., 1 for the first page, 2 for the second page, etc.). | |
| domain | No | Amazon domain to use. Default is www.amazon.com. | |
| sortBy | No | Parameter used for sorting results | |
| language | No | Optional Amazon language code. Supported values depend on the selected domain. | |
| deliveryZip | No | Postal code of the delivery location. | |
| shippingLocation | No | The two-letter country code to define the country of the delivery address. Provide one exact documented value (238 allowed), e.g. `AU`, `CA`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and largely succeeds: it discloses that results are organic, that sponsored/Prime flags and position are included, and that related search suggestions and filter facets are returned. It omits error/rate-limit caveats and slightly mislabels sort values, but the behavioral details are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into three purposeful sentences: action, return payload, and use cases. The opening phrase 'Get Amazon Search Results' is slightly redundant with the tool name, but the rest is dense and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no annotations, and no output schema, the description covers the operation, scoping options, return fields, and downstream applications well. It is not fully complete because pagination mechanics and exact sort-value naming are left ambiguous, and sibling-tool routing is only implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds human-readable meaning for sort order and delivery zip/location scoping beyond the schema, though it does not fully reconcile its sort wording with the schema enum (e.g., 'newest' vs 'newestArrivals' and the omitted 'bestSellers').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Runs a keyword search') and identifies the resource (a chosen Amazon domain), then details the returned data. This makes it unmistakably distinct from the sibling product-details, reviews, and seller tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Concrete use cases are listed: SERP monitoring, share-of-shelf tracking, competitor discovery, ASIN harvesting to feed downstream product/reviews endpoints, and product-research/price-comparison agents. It gives clear context for when to use this tool, though it does not explicitly say when to prefer a sibling tool instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_amazon_seller_getSellerDetailsamazon_seller: GET /AInspect
Get Amazon Seller Details
Fetches the public storefront profile for an Amazon seller by sellerId on the chosen domain/language. Returns business name, seller logo, About-this-seller text, overall feedback rating and lifetime/12-month/90-day/30-day rating breakdown, feedback count, business address and contact details, customer service info, and any listed policies. Use for seller due-diligence and vetting, counterfeit/brand-protection workflows, MAP-violation investigations, building seller leaderboards, and enriching marketplace seller directories.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Amazon domain to use. Default is www.amazon.com. | |
| language | No | Optional Amazon language code. Supported values depend on the selected domain. | |
| sellerId | Yes | The unique Amazon seller ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It clearly indicates a non-destructive read of public data ('Fetches the public storefront profile') and enumerates return content. It does not discuss rate limits, failure modes, or authentication, but 'public' and 'fetches' make the core behavior transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is front-loaded with the core operation, followed by useful return-content and use-case context. The heading line 'Get Amazon Seller Details' duplicates the tool name, and the use-case list is slightly long, but there is no true filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only look-up with 3 parameters and no output schema, the description is complete: it identifies what is returned, the required identifier, the domain/language context, and the use cases that justify selecting the tool. No critical selection or invocation information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents sellerId, domain, and language. The description adds only that the fetch is 'by sellerId on the chosen domain/language,' which maps to the parameters but does not add new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation — fetches the public storefront profile for an Amazon seller by sellerId on a domain/language — and names the resource (seller profile) and scope. It is clearly distinct from sibling tools focused on product details, reviews, search results, or seller product listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use cases (seller due-diligence, vetting, counterfeit/brand-protection, MAP-violation investigations, leaderboards, seller-directory enrichment), so an agent knows the intended context. It does not explicitly say when NOT to use it or name an alternative tool, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_amazon_seller_products_getSellerProductsamazon_seller_products: GET /AInspect
Get Amazon Seller Products
Paginated listing of the storefront catalog offered by a given Amazon sellerId on the chosen domain. Returns each product row with ASIN, title, image, product URL, price and list price, currency, star rating, review count, and Prime flag. Use to map a competitor's or 3P seller's full assortment, detect new SKU launches, build brand-protection watchlists, drive price-intelligence pipelines, and seed per-ASIN deep-dives against the product and reviews endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (e.g., 1 for the first page, 2 for the second page, etc.). | |
| domain | No | Amazon domain to use. Default is www.amazon.com. | |
| language | No | Optional Amazon language code. Supported values depend on the selected domain. | |
| sellerId | Yes | The unique Amazon seller ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states the listing is paginated and lists the exact fields returned per product row. It does not mention rate limits, page size, or explicit read-only status, but for a GET listing endpoint the disclosed behavior is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise and front-loaded with the core operation. The opening phrase 'Get Amazon Seller Products' is redundant with the tool name, but the following sentence quickly explains the paginated catalog behavior. The use-case list is slightly long but still relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description usefully enumerates the expected return fields and notes pagination. It does not mention page size, sorting, or language-domain dependency behavior, but those are partially covered by the input schema and are not critical for this moderate-complexity listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains page, domain, language, and sellerId. The description adds contextual framing around sellerId and domain but no additional parameter-level syntax or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines a specific operation: a paginated listing of a seller's storefront catalog for a given sellerId and domain. It also enumerates the returned fields, making it easy to distinguish from the sibling tools such as getSellerDetails, getProductDetails, and getSearchResults.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete use cases such as mapping a competitor's assortment, detecting new SKU launches, and building brand-protection watchlists. It also hints at downstream deep-dives against product and reviews endpoints, but it does not explicitly state when not to use this tool or name alternative tools as direct conditionals.
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. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
hasdata_amazon_product_getProductDetails - First observed
hasdata_amazon_reviews_getProductReviews - First observed
hasdata_amazon_search_getSearchResults - First observed
hasdata_amazon_seller_getSellerDetails - First observed
hasdata_amazon_seller_products_getSellerProducts
TDQS
Scored across 5 tools
Each tool targets a distinctly different Amazon data surface: product details, reviews, search results, seller profile, and seller catalog. There is no overlap between them, and the workflows chain naturally from search to ASINs to products/reviews to sellers.
All tool names follow the same pattern: hasdata_amazon_<domain>_get<Resource>. Even the nested seller_products path still resolves to a consistent getSellerProducts verb-noun structure, making the set highly predictable for an agent.
Five tools is a well-scoped count for an Amazon product-research data-access server. Each tool provides a meaningful, non-redundant capability and together they cover the major public data surfaces an agent would need.
The core research loop is well covered: search for products, fetch product details, read reviews, and inspect sellers and their catalogs. Minor gaps like category/browse-node exploration and bestseller lists are absent, but agents can work around those with search and seller-product queries.
Maintenance
Related MCP Connectors
Amazon product API & MCP server: search, prices, reviews, sellers, deals, and ASIN lookup by Canopy.
Get recommended by Amazon's AI. Hosted MCP server for Amazon listing compliance & generation.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Google Shopping products, prices, sellers, and deals as structured data via a hosted MCP server.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Amazon's Product Advertising API to search for and retrieve product information from Amazon marketplaces. Supports multiple Amazon regions and marketplaces with configurable host, region, and partner credentials.MIT
- AlicenseNot gradedqualityDmaintenanceEnables users to search for products, retrieve details, and manage their shopping cart on Amazon through the MCP framework. It also supports viewing order history and provides a demonstration of ordering capabilities within AI interfaces.850MIT
- FlicenseBqualityDmaintenanceProvides tools to access real-time Amazon data, including product details, reviews, offers, influencer profiles, and deals, through a FastMCP-based server.18-
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to normalized Amazon marketplace data, including product details, search, offers, reviews, sellers, categories, deals, best sellers, identifiers, stock, and sales estimates across 13 marketplaces.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasData/amazon-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server