Skip to main content
Glama
apiguru-app

apiguru-amazon-data

Apiguru Agent Kit

Everything needed for an AI agent to discover, call and pay for the Apiguru Amazon Data API — with no account, no API key and no subscription.

The existing backend is not modified by any of this. Not one line.

Install in your agent

Client

How

Claude Code

claude mcp add --transport http apiguru https://mcp.apiguru.app/mcp or /plugin marketplace add apiguru-app/agent-kit then /plugin install apiguru@apiguru

claude.ai, Claude Desktop, ChatGPT

add connector https://mcp.apiguru.app/account and sign in

Codex CLI

codex mcp add apiguru --url https://mcp.apiguru.app/mcp

Cursor

Add to Cursor (runs npx -y apiguru-mcp)

VS Code

Install in VS Code

Gemini CLI

gemini extensions install https://github.com/apiguru-app/agent-kit

Hermes, OpenClaw, any stdio client

npx -y apiguru-mcp (npm, Node only) or uvx apiguru-mcp (PyPI)

Skill only (any agent)

npx skills add apiguru-app/agent-kit or ClawHub apiguru-amazon-data

Related MCP server: Real Time Amazon Data MCP Server

Why this exists

The API is gated behind register → verify email → get key → top up. Every step assumes a human. Agents cannot do any of it, so agent traffic bounces off the front door.

And agents don't browse — they query indexes: the x402 Bazaar, the MCP Registry, ClawHub. Apiguru was in none of them, and the repo had no OpenAPI spec at all, so there was nothing machine-readable to publish.

Telling us what is broken

Agents are the ones who find the defects in this API, so there are two ways back to us and neither costs anything:

  • GitHub issues — preferred: https://github.com/apiguru-app/agent-kit/issues. A thread can hold a reply, and a fix gets linked back to it.

  • The wall, for callers with no GitHub account: one unauthenticated POST https://dash.apiguru.app/api/v1/feedback with {"message": "...", "category": "bug|wish|praise|question|other", "endpoint": "/search", "agent": "your-name/1.0", "contact": "optional"}. No key, no signup, never billed. Read it at https://dash.apiguru.app/feedback, or GET the same URL for JSON.

  • Over MCP: the free send_feedback tool. From the skill: python scripts/probe.py feedback --message "..." --category bug.

This is not decoration. 1.1.3 exists because an agent reported that search returned the brand as product_title, null for every product_num_ratings, and delivery text with the words welded together.

What is in this repository

Path

What it is

skill/apiguru-amazon-data/

The agent skill: SKILL.md, references, and scripts/probe.py

mcp/

The MCP server published to PyPI as apiguru-mcp

npm/

The npm bridge, apiguru-mcp

plugin/ + .claude-plugin/

The Claude Code plugin and its marketplace entry

spec/

endpoints.json and the generated openapi.json / llms.txt

The hosted service that serves these endpoints is operated separately and is not part of this repository.

Licence

See LICENSE.

Available Tools

12 tools
best_sellersBest-seller rankings for a categoryA
Read-onlyIdempotent
Inspect

Best-seller rankings for a department of one marketplace, 50 per page. Every answer carries the department it resolved to and how (category_resolution: by slug, name or a fragment of a name, with a hint when a fragment such as 'shoes' landed on the whole 'Clothing, Shoes & Jewelry' department), available_categories (that marketplace's departments with slugs) and available_subcategories (the children of the node shown, with the ids subcategory_code takes). On amazon.com subcategory_code also takes any browse node id at any depth, or a name resolved under the department ("women's shoes", "mules & clogs"); category.subcategory_path gives the node's full path and category.heading the page's own title line. Price: $0.003 per call. No required parameters - calling it bare returns US appliances page 1. category accepts a slug, a display name, one of the older US department names, or a unique fragment; category_resolution.via says which, and a fragment match adds a hint naming the subcategories that carry the word, with ids. On amazon.com the whole browse tree is known: subcategory_code takes any node id or a name at any depth, subcategory_name and subcategory_path are filled without a fetch, and available_subcategories lists the node's real children (empty on a leaf). Other marketplaces name only what their navigation showed. page is capped at 5 (a 400 beyond, not a 500). rank is the position within the requested list on this page. Rows are the same for every marketplace; only the department vocabulary differs, and the answer carries it.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
pageNoResult page, 1-based, 50 rows each; Amazon's lists stop at page 5.
limitNoHow many ranked products to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.
fieldsNoComma-separated row fields to return instead of the light set, e.g. "asin,product_title,product_price". Rows list what they left out under _omitted_fields.
compactNoReturn light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).
categoryNoBest-seller department, by slug or by name as Amazon shows it for that marketplace (case-insensitive; a unique fragment works, and the answer's category_resolution says when a fragment was used -- 'shoes' is the whole 'Clothing, Shoes & Jewelry' department, and the hint then lists the Shoes subcategories with their ids). Departments and their slugs differ per marketplace: amazon.com has electronics, amazon.de has ce-de (Electronics & Photo). Every answer lists that marketplace's departments under available_categories; an unknown or ambiguous name is a free 400 listing them.appliances
subcategory_codeNoBrowse node id under `category`: one from available_subcategories of a previous answer, or on amazon.com any node id at any depth (679410011 is Women > Shoes > Mules & Clogs) or a name resolved under the department ("women's shoes", "mens boots", "mules & clogs"). A name that fits two nodes equally (Men > Shoes > Boots and Women > Shoes > Boots) is a free 400 listing both ids with their paths.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
pageNo
successNo
categoryNo
max_pageNo
page_sizeNo
request_idNo
category_resolutionNo
available_categoriesNo
available_subcategoriesNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering read-only/idempotent/open-world semantics, the description adds substantial non-obvious behavior: $0.003 per call pricing, page capped at 5 returning a 400 rather than 500, free 400s for unknown categories, and truncation behavior. This is real value beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded, but the prose is long and repetitive - the amazon.com any-depth/fragment behavior and the per-marketplace department vocabulary are each stated more than once. Several sentences could be consolidated without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, no-required-param tool with an output schema, the description covers the department-resolution vocabulary and error behavior an agent needs. It is close to complete, with only minor redundancy rather than a genuine gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond it: fragment resolution via category_resolution.via and its subcategory hint, the amazon.com any-depth node-id rule, and the ambiguous-name 400 behavior. Some of this restates the schema, so it lands at 4 rather than 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope up front ('Best-seller rankings for a department of one marketplace, 50 per page'), which cleanly distinguishes it from siblings like search, deals and product_details. An agent can identify the tool 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It conveys useful usage context - no required parameters and a bare call returns US appliances page 1 - but never states when to choose this over siblings such as search or deals, nor any explicit exclusions. Usage is implied rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dealsCurrent Amazon deals with filtersA
Read-onlyIdempotent
Inspect

Returns the current Amazon deals feed: ASIN, title, deal price, list price, discount, deal badge, start/end time and product links. Filter by department (categories), brand id (brands), rating cut-off, price bounds, minimum discount and Prime program. Every answer carries available_filters (the category and brand ids this marketplace accepts, with names), filters_applied / filters_ignored (what took effect) and next_offset (the next page, null when the feed ends). Price: $0.003 per call. Filters are by id: categories takes a department id or name, brands takes brand ids only; available_filters in every answer lists both with names, and filters_applied / filters_ignored report what Amazon honoured. A page is 30 rows; page with offset=next_offset (null when exhausted); total_count caps at 500. min_price, max_price, min_discount and max_discount are applied to the rows after the fetch, scanning up to 3 upstream pages per call, so a page can hold fewer than 30 rows and total_count does not reflect them. An empty answer carries a hint saying why. Deal prices expire: check deal_ends_at. The older price_range and discount_range parameters are still accepted, as buckets (1-5 = under 25 / 25-50 / 50-100 / 100-200 / 200 and up; 1-4 = 10 / 25 / 50 / 70 percent off or more) or as bands such as 25-50 and 70+.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
limitNoHow many deals to return from this page (0 = all of them). A full page is 30 rows and roughly 35 KB with every field, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.
brandsNoComma-separated brand ids, e.g. 46655 for Samsung on US. Take them from brand_id on any deals row or from available_filters.brands (the brands present in the current result). Names resolve only when this marketplace has already shown that brand; for a brand by name use /search with brand=<name> and today_deals=true instead.
fieldsNoComma-separated row fields to return instead of the light set, e.g. "asin,product_title,product_price". Rows list what they left out under _omitted_fields.
offsetNoRow to start at. A page is 30 rows; pass the previous answer's next_offset for the next page.
compactNoReturn light rows: identity, prices, discount, badge, end time, links, brand_id and department_ids, dropping the image arrays. false returns every field the REST API sends.
max_priceNoHighest deal price to return, in the marketplace currency.
min_priceNoLowest deal price to return, in the marketplace currency. Applied to the fetched rows; see notes.
categoriesNoDepartment to restrict to: its id from available_filters.categories, or its name as Amazon shows it for that marketplace (case-insensitive; a unique fragment such as "electronics" works). US departments: Amazon Devices & Accessories, Appliances, Arts Crafts & Sewing, Audible Books & Originals, Automotive, Baby Products, Beauty & Personal Care, Books, CDs & Vinyl, Cell Phones & Accessories, Clothing Shoes & Jewelry, Collectibles & Fine Art, Electronics, Everything Else, Grocery & Gourmet Food, Handmade Products, Health & Household, Home & Kitchen, Industrial & Scientific, Kindle Store, Movies & TV, Musical Instruments, Office Products, Patio Lawn & Garden, Pet Supplies, Software, Sports & Outdoors, Tools & Home Improvement, Toys & Games, Video Games. Other marketplaces use their own localised names -- read them from available_filters.categories of any deals answer for that geo. An unknown name is a free 400 listing the valid names.
max_discountNoLargest discount percentage to return.
min_discountNoSmallest discount percentage to return, e.g. 50 for half price or better.
prime_exclusiveNoOnly deals in Amazon's Prime Exclusive program.
prime_early_accessNoOnly Prime Early Access deals. A marketplace lists the programs it is running under available_filters.prime_programs; when Early Access is not running the answer is empty with a hint saying so.
min_product_star_ratingNoAmazon's deals feed offers one rating cut-off: 4 = four stars and up. ALL or omitted = no cut-off. Other values are rejected with a free 400.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dealsNo
successNo
request_idNo
amazon_request_countNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld/idempotent annotations: discloses per-call pricing ($0.003), the post-fetch semantics of min_price/max_price/min_discount/max_discount (rows filtered after fetch, up to 3 upstream pages scanned, pages may hold fewer than 30 rows, total_count not reflecting them), the 30-row page and 500-row total_count cap, price expiry via deal_ends_at, and that available_filters/filters_applied/filters_ignored ride along in every answer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the return shape, then filters, answer metadata, cost, id semantics, pagination and the post-fetch caveat. Every sentence carries real information, though the single-paragraph form is dense and the legacy-parameter sentence runs long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter, open-world, paginated feed with an output schema, the description covers everything an agent needs: cost, pagination contract, filter-id mechanics, post-fetch filtering caveats, expiry and empty-result behaviour. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning on top: categories accepts an id or a localised name/fragment (with the free 400 listing valid names), brands accepts ids only, and it documents the legacy price_range/discount_range bucket and band encodings that do not appear in the schema at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Returns the current Amazon deals feed') and enumerates the exact row fields delivered (ASIN, title, deal price, list price, discount, badge, times, links). This is clearly distinguishable from siblings like best_sellers and search, which are separate feeds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing guidance: brand-by-name must go through /search with brand=<name> and today_deals=true instead, categories must come from available_filters, and empty answers carry a hint explaining why. It does not spell out broader when-not conditions (e.g. vs best_sellers), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_capabilitiesList endpoints, prices and marketplaces (free)A
Read-onlyIdempotent
Inspect

List every Apiguru endpoint with its price, required parameters and supported marketplaces, plus your current access mode, cache and session budget. Free: answers locally with no network request and no charge. Call this before paid tools if you need to plan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context by stating it is free, answers locally with no network request, and avoids any charge, which goes beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and every sentence adds value. It efficiently conveys what the tool lists, that it is free and local, and when to call it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, no return-format explanation is needed, and the zero-parameter schema leaves no input ambiguity. The description covers purpose, cost behavior, local execution, and usage timing, making it fully sufficient for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description carries no parameter burden; the baseline of 4 applies. The description does not need to explain input semantics since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists every Apiguru endpoint with price, required parameters, and supported marketplaces, making its purpose unmistakable. It also distinguishes itself from the sibling tools by being a free, meta-level capability listing rather than a data retrieval tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling this tool before paid tools when planning is needed, giving clear usage context. It does not enumerate when-not-to-use cases or name alternative tools, but the guidance is sufficiently clear for an agent to choose it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offers_stockLive offers and inventory for up to 10 ASINsA
Read-onlyIdempotent
Inspect

Returns the current offer list per ASIN (seller, price, condition, buy-box winner) and, optionally, the actual purchasable stock quantity. Price: $0.0045 per item (max 10). Billed per upstream Amazon request, which is more than one per ASIN when check_inventory is true. offers_count=winner returns only the offer flagged is_buybox_winner (offers_total keeps the full count); it used to scope only the inventory check and return every offer. /scrape is a legacy alias for the same handler.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
asinsYesComma-separated ASIN list, maximum 10. Each must be 10 uppercase alphanumeric characters; malformed entries are rejected with 400.
conditionNoComma-separated condition filter: ALL, NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE (case-insensitive). Omit for every offer. An unknown value is a free 400 listing the allowed ones; it used to be silently treated as ALL.
offers_countNo'all' for every offer (default), 'winner' for the buy-box offer only, or a specific alphanumeric Offer ID. Every offer carries is_buybox_winner; with 'winner' the per-ASIN data holds that one offer and offers_total says how many exist. An ASIN with no featured offer answers an empty list with an explanatory error. The response echoes filters_applied.all
check_inventoryNoResolve the true purchasable stock quantity. Slower and bills more upstream requests, so leave off unless you need the number.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsNo
request_idNo
country_codeNo
response_timeNo
filters_appliedNo
amazon_request_countNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the readOnly/idempotent annotations: per-item pricing ($0.0045, max 10), billing granularity tied to upstream requests, the empty-list-with-error case for ASINs lacking a featured offer, the filters_applied echo, and the /scrape legacy alias. This is exactly the operational detail an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose well, but the parenthetical historical notes ('it used to scope only the inventory check', 'it used to be silently treated as ALL') add length without helping selection or invocation. The dense run-on sentences make the cost and behavior points harder to parse than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return format need not be described, and the description still covers pricing, billing, filtering semantics, defaults, and edge cases. An agent has everything required to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: offers_count=winner returns only the flagged offer while offers_total preserves the full count, and it notes the historical behavior change. This clarifies semantics the enum value alone would not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Returns the current offer list per ASIN') and enumerates the returned fields (seller, price, condition, buy-box winner) plus the optional inventory quantity. This clearly separates it from siblings like product_details, deals, and best_sellers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the cost/billing tradeoff of enabling check_inventory ('billed per upstream Amazon request, which is more than one per ASIN') and the effect of offers_count=winner, which tells the agent when the extra spend is justified. It stops short of naming sibling tools or explicit when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

product_detailsFull product detail for a single ASINA
Read-onlyIdempotent
Inspect

Fetches the complete product record for one ASIN on one marketplace: title, price, star rating, rating count, images, description, feature bullets, variations and category. Price: $0.003 per call. 404 means the ASIN is absent from that marketplace and IS billed. 503 means our fetch failed and is NOT billed - retry. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
asinYesSingle Amazon ASIN, 10 uppercase alphanumeric characters. Exactly one - comma-separated lists are rejected; use product_details_batch for many.
fieldsNoComma-separated top-level fields to return instead of the compact set, e.g. "tech_specs,product_information". Any response lists what it left out under _omitted_fields.
compactNoReturn the compact record (about 4 KB: identity, price, rating, availability, bullets, category, offer, buy box). false returns the full record (about 75 KB, includes from_manufacturer, tech_specs, product_information, product_reviews).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
successNo
request_idNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly=true, idempotent=true, destructive=false, openWorld=true), yet the description adds substantial non-covered context: per-call cost of $0.003, that 404 IS billed while 503 is NOT, retry advice, null-field semantics, and the caveat that bullets/specs may describe the product family rather than the exact variant. This is exactly the behavioral detail annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with what is fetched, then cost, then error semantics, then data caveats. No filler and every sentence carries distinct, actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value enumeration is not required, and the description still supplies the billing model, error-code handling, and null/variant caveats an agent needs to call and interpret this correctly. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so geo, asin, fields, and compact are already fully documented in the schema (including the batch-rejection note and the _omitted_fields behavior). The description adds no parameter-level detail beyond reinforcing the single-ASIN constraint, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("fetches the complete product record for one ASIN on one marketplace") and enumerates the returned fields, so the agent knows exactly what it gets. It stops short of naming the sibling it contrasts with (product_details_batch), which the schema mentions instead, so differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use / when-not-to-use guidance versus siblings like search or product_details_batch, but the scoping phrase "one ASIN on one marketplace" implies the single-item case. Error-path guidance (404 vs 503, retry) is present, which is operationally useful but not alternative-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

product_details_batchProduct detail for up to 20 ASINs in one callA
Read-onlyIdempotent
Inspect

Batch variant of product_details. Accepts a comma-separated ASIN list, deduplicates it, and fetches all of them concurrently. Far cheaper and faster than N single calls. Price: $0.0024 per item (max 20). Billed per ASIN processed, including ones that come back not-found. More than 20 ASINs returns 413. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
asinsYesComma-separated ASIN list, maximum 20 after de-duplication. Each must be 10 uppercase alphanumeric characters.
fieldsNoComma-separated top-level fields to return instead of the compact set, e.g. "tech_specs,product_information". Any response lists what it left out under _omitted_fields.
compactNoReturn the compact record (about 4 KB: identity, price, rating, availability, bullets, category, offer, buy box). false returns the full record (about 75 KB, includes from_manufacturer, tech_specs, product_information, product_reviews).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsNo
request_idNo
country_codeNo
response_timeNo
amazon_request_countNo
billable_requests_countNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description goes well beyond them with pricing ($0.0024/item), billing behavior on misses, dedup behavior, the 413 threshold, and two data-quality caveats (family-level bullets on variant listings, null = not shown by Amazon). This is exactly the kind of extra context the bar rewards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with identity and the batch advantage, then cost, then limits, then data caveats. Every sentence conveys a distinct operational fact; nothing is redundant with the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value detail is not required, and the description still pre-empts the two most likely misinterpretations of the response (variant-level bullets, null fields). It omits any mention of the geo parameter's effect on results, a minor gap given a 4-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the schema carries the syntax. The description nevertheless adds non-obvious semantics about the asins parameter: it is de-duplicated before processing and billed per ASIN including not-found ones. That is genuine value beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('fetch all of them concurrently') and explicitly frames itself as the 'batch variant of product_details', which names the sibling it must be distinguished from. An agent can immediately tell this apart from the single-ASIN product_details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear selection logic: 'Far cheaper and faster than N single calls', plus the hard limit 'More than 20 ASINs returns 413'. There is no explicit when-not-to-use (e.g. for a single ASIN, use product_details), but the context is strong enough to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

product_reviewsCustomer reviews for a single ASINA
Read-onlyIdempotent
Inspect

Returns the review block for one ASIN: overall star rating, total rating count, Amazon's 'customers say' AI summary, and the individual review list. Price: $0.003 per call. Same 404-billed / 503-not-billed semantics as product_details. Takes no filters: it returns the rating, rating count, the 'customers say' summary and the reviews Amazon shows on the product page itself. There is no paging, star filter or sort -- Amazon's review pages require a signed-in customer, and the API does not sign in. For per-star counts read the rating histogram on product_details.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
asinYesSingle Amazon ASIN, 10 uppercase alphanumeric characters.
max_reviewsNoCap on individual reviews returned (0 = all). The rating summary and customers_say are always returned; _reviews_total says how many exist.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
successNo
request_idNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only/idempotent safety profile, but the description adds substantial context beyond them: per-call price ($0.003), 404-billed vs 503-not-billed semantics, and the signed-in-customer auth limitation that explains the absence of filtering. This is rich disclosure that structured fields cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return payload and every sentence earns its place (pricing, error semantics, scope, alternative). Slight redundancy in restating the returned fields a second time, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-param read tool with a full output schema, the description supplies everything else an agent needs: cost, error-billing behavior, auth constraints, and the routing alternative. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema cannot express: that there are deliberately no filter/paging/sort parameters and why. It does not re-explain geo or max_reviews, which the schema already documents well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('returns the review block for one ASIN') and enumerates exactly what comes back: star rating, rating count, 'customers say' summary, and review list. It also implicitly differentiates from siblings by pointing to product_details for per-star histogram data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly scopes usage ('one ASIN', 'takes no filters') and enumerates the alternatives that do not exist (no paging, star filter, or sort), explaining why. It routes the agent to product_details for per-star counts, giving a concrete when-to-use-other-tool rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seller_productsProducts listed by a sellerA
Read-onlyIdempotent
Inspect

Products listed by a seller: a storefront search. Takes the same filters as search -- query, page, sort_by, category_id, min_price / max_price, product_condition, brand, today_deals, deal_type -- and answers with filters_applied, filters_ignored and available_filters like search does. Price: $0.003 per call. Unlike seller_profile_batch, seller_id format is not pattern-validated here. metadata.total_pages says how far page goes (48 rows a page). Invalid sort_by, price, product_condition or deal_type is a free 400 that lists the allowed values.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
pageNoResult page, 1-based. metadata.total_pages says how far it goes.
brandNoBrand name as Amazon spells it (case-insensitive), e.g. Samsung.
limitNoHow many the seller's products to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.
queryNoOptional keywords to search within this seller's storefront.
fieldsNoComma-separated row fields to return instead of the light set, e.g. "asin,product_title,product_price". Rows list what they left out under _omitted_fields.
compactNoReturn light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).
sort_byNoResult ordering.RELEVANCE
deal_typeNoA specific promotion refinement: today_deals, all_discounts, coupons or buy_more_save_more. available_filters.deal_type lists the ones this marketplace has.
max_priceNoHighest price, in the marketplace currency.
min_priceNoLowest price, in the marketplace currency; decimals such as 19.99 are fine.
seller_idYesRestrict results to one seller's offers (Amazon seller id).
category_idNoAmazon browse node id to restrict to, e.g. 172282 (Electronics on US). Take one from a best_sellers answer's available_subcategories, a product's category_path, or node= in an Amazon URL. Ids differ per marketplace.
today_dealsNoOnly items in Today's Deals, using that marketplace's own refinement. Where a marketplace has none (amazon.fr on 2026-09-08) it is reported under filters_ignored.
product_conditionNoNEW, USED or RENEWED (case-insensitive). Applied with the marketplace's own condition node; where a marketplace does not offer one, the answer's filters_ignored says so and available_filters lists what it does offer.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
successNo
request_idNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only/idempotent annotations it discloses cost ($0.003 per call), pagination granularity (48 rows/page via metadata.total_pages), truncation behavior (_truncated) and the light-vs-full row size tradeoff. It also documents a distinctive behavioral trait: invalid sort_by/price/product_condition/deal_type yields a free 400 listing allowed values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then dense factual clauses on filters, cost, pagination and error behavior. Every sentence carries information, though the filter/response sentence runs long and could be split for scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter open-world search with an output schema, it covers cost, paging, truncation, field projection and error handling. Return-value structure is left to the output schema, which is the correct division of labor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds cross-parameter semantics the schema lacks: how filters map to filters_applied/filters_ignored/available_filters, and that unvalidated seller_id format differs from seller_profile_batch. It does not restate most per-field syntax, so it is modestly above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Products listed by a seller: a storefront search'), which immediately separates it from generic `search` and from `seller_profile_batch`. An agent can tell what it returns and what it is scoped to 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Positions the tool against siblings by noting it 'takes the same filters as search' but is scoped to one seller, and contrasts it with seller_profile_batch on seller_id validation. It does not explicitly say when to prefer it over `search` or `best_sellers`, so routing is clear but not fully spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seller_profile_batchSeller profiles for up to 10 seller IDsA
Read-onlyIdempotent
Inspect

Returns the storefront profile for each seller id: business name, rating, feedback counts, address and marketplace presence. Price: $0.0036 per item (max 10). Seller ID validation is all-or-nothing: one malformed id rejects the entire request with 400. Every row in results is an object with status: ok (the profile), not_found (Amazon has no page for that id on this marketplace; billed, like a 404) or unavailable (Amazon served nothing usable on any route; NOT billed on the keyed path, retryable: true). A row is never null. billable_requests_count counts ok + not_found rows; on the pay-per-call rail the per-item quote is settled up front, so retry unavailable ids in a separate call rather than expecting a partial refund.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
seller_idsYesComma-separated seller IDs, maximum 10. Each must be 13-15 alphanumeric characters or the whole call 400s.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
resultsNo
request_idNo
unavailableNo
country_codeNo
response_timeNo
amazon_request_countNo
billable_requests_countNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the read-only/idempotent annotations: discloses per-item pricing ($0.0036, max 10), all-or-nothing ID validation with a 400, the three-valued `status` semantics, which statuses are billed, that rows are never null, and how billable_requests_count is computed. This is exactly the billing/error context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what is returned and then layers billing and status semantics; every clause carries information. Slightly dense with a long final sentence about the pay-per-call rail, but no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, validated batch tool with two params and an output schema, the description supplies the pricing, validation failure mode, row-status contract, and retry strategy an agent needs. Nothing material is missing, and it does not waste space re-explaining the output schema's fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both params including the 13-15 char pattern and max-10 constraint. The description restates the all-or-nothing validation rule but adds no syntax or format detail beyond the schema, so baseline 3 applies; `geo` is never discussed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource+scope: returns storefront profiles for up to 10 seller ids, and enumerates the fields returned (business name, rating, feedback counts, address, marketplace presence). An agent can distinguish this batch profile lookup from seller_products and seller_reviews without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operational guidance: retry `unavailable` ids in a separate call rather than expecting a refund, and explains when `not_found` vs `unavailable` occur. It does not name alternative sibling tools (e.g. seller_reviews for review data), so it stops short of explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seller_reviewsFeedback reviews for a sellerA
Read-onlyIdempotent
Inspect

Returns paginated seller feedback, optionally filtered to a star-rating window. Price: $0.003 per call. from_rating and to_rating are optional; omit both for unfiltered feedback. A page holds 5 reviews and the answer carries current_page and has_next_page; Amazon exposes no total, so page until has_next_page is false (up to page 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoMarketplace country code.US
pageNoResult page, 1-based, 5 reviews a page; has_next_page in the answer says whether another exists.
limitNoHow many seller reviews to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims.
fieldsNoComma-separated row fields to return instead of the light set, e.g. "asin,product_title,product_price". Rows list what they left out under _omitted_fields.
compactNoReturn light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size).
seller_idYesAmazon seller ID. Required.
to_ratingNoHighest star rating to include, 1-5.
from_ratingNoLowest star rating to include, 1-5.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
successNo
request_idNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds important behavioral context: per-call pricing, page size, current_page/has_next_page, no total count, and the upper page limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three efficient sentences, front-loaded with the core return behavior, then pricing and pagination details. Every sentence contributes useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich annotations, full schema descriptions, and an output schema, the description covers the remaining agent-relevant concerns: cost, filtering behavior, pagination mechanics, and the page cap. Nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 meaning for from_rating/to_rating by noting they are optional and that omitting both yields unfiltered feedback, plus it adds the undocumented page 100 limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns paginated seller feedback, optionally filtered to a star-rating window. This distinguishes it from sibling product_reviews because it targets seller feedback rather than product reviews.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains when to omit rating filters for unfiltered feedback and how to page until has_next_page is false, including the page 100 cap. It gives clear usage context but does not explicitly compare against alternatives such as product_reviews.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_feedbackReport a bug or request a feature (free)AInspect

Report a bug, ask for a field, or say what would make this API more useful. Free: never billed, no API key needed.

    Prefer GitHub if you have an account -- an issue at
    https://github.com/apiguru-app/agent-kit/issues gets a reply on the
    thread, this wall does not. Use this tool when you have no GitHub
    account or nothing to attach one to.

    message:  what happened or what you want. Be specific: the tool, the
              parameters, the field, what you expected, what you got, and
              the request_id from the answer. One issue per entry -- a
              five-point list cannot be closed point by point.
    category: bug | wish | praise | question | other
    endpoint: which tool or path it is about, e.g. "search".
    agent:    what you are, e.g. "acme-pricing-bot/2.1". Optional.
    contact:  a GitHub handle or email if you want a reply. Shown
              publicly on the wall. Optional.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
agentNo
contactNo
messageYes
categoryNoother
endpointNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, open-world, non-idempotent but non-destructive call. The description adds real value beyond that: no billing, no API key, contact details are shown publicly on the wall, and replies do not come back on this channel. It stops short of stating what a submission returns or whether repeated submissions create duplicate entries, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then routing advice, then a clean per-field block — a sensible order with no filler sentences. It runs somewhat long and the embedded advice about 'one issue per entry / five-point list' blurs the line between guidance and field definition, but nothing is truly wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. The description covers the remaining obligations: purpose, routing rule, privacy of contact, cost/auth profile, and per-parameter meaning. For a 5-parameter, 0%-coverage schema this is complete enough to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the entire burden and does so: every one of the five parameters is explained with intent and examples (category values bug|wish|praise|question|other, endpoint e.g. 'search', agent e.g. 'acme-pricing-bot/2.1', contact as GitHub handle/email, message content guidance). It also flags agent and contact as optional, matching the required-only 'message' in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific action (report a bug, request a field, give feedback) and the resource (this API itself), which is a sharp contrast to every sibling tool (best_sellers, search, product_details) that queries catalog data. An agent can immediately tell this is the only write/feedback channel in the toolset. The 'free / no API key' clause further frames it as a zero-cost fallback path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the preferred alternative (GitHub issue on apiguru-app/agent-kit, which gets a threaded reply) and the precise condition for selecting this tool instead ('when you have no GitHub account or nothing to attach one to'). This is exactly the when/when-not/alternative structure that earns a top score.

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.

  1. 12 tool updatesv0.1.0
    • First observedbest_sellers
    • First observeddeals
    • First observedlist_capabilities
    • First observedoffers_stock
    • First observedproduct_details
    • First observedproduct_details_batch
    • First observedproduct_reviews
    • First observedsearch
    • First observedseller_products
    • First observedseller_profile_batch
    • First observedseller_reviews
    • First observedsend_feedback

TDQS

A4.3/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target clearly distinct resources (products by keyword, single ASIN details, seller reviews, product reviews, offers, deals, best-sellers). The main overlaps are search vs seller_products (same filter surface, differing only in seller scope) and search's today_deals/deal_type filters vs the dedicated deals tool; descriptions flag these differences but an agent could still misselect.

Naming Consistency4/5

Names are uniformly snake_case (product_details, seller_reviews, best_sellers, seller_profile_batch), which is predictable. Minor deviations: 'search' and 'deals' are bare verbs/nouns without a noun or verb complement, so the verb_noun pattern is not perfectly uniform.

Tool Count5/5

12 tools is well within the ideal 3-15 band for an Amazon data API, and each earns its place: batch variants, the offers/reviews/seller splits, and the two free meta tools (list_capabilities, send_feedback) all serve distinct needs.

Completeness4/5

The surface covers product search, detailed records, reviews (product and seller), offers/stock, seller profiles and listings, best-sellers and deals, plus a capability-discovery tool. Gaps are minor: no explicit marketplace-list tool (folded into list_capabilities) and no related/recommendation or category-tree browsing beyond best_sellers departments, but core workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Real-time Amazon Sponsored Products (SP) ad placements, keyword tracking, and comprehensive review data for AI Agents. Enables LLMs to autonomously conduct competitor ad audits, consumer sentiment analysis (VOC), and product optimization.
    19
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Real Amazon (US, UK, DE, CA, AU) & Walmart shopping data for AI assistants: ranked product shortlists, current prices, live stock, real ratings, and price/BSR history from a 17M+ product warehouse. Free hosted endpoint, no signup — 30 queries a day.
    3
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to research and shop on Amazon using their own logged-in browser session, supporting product search, details, reviews, cart, wishlist, and order tracking without API keys.
    MIT