Model Context Protocol (MCP) server for the Amazon Selling Partner API (SP-API): listings, orders, reports, feeds, and pricing. Works with any marketplace/region.
Server has 15 well-named tools with clear verb-noun patterns (get_, list_, upsert_, set_, delete_, update_, request_, download_, submit_). All tools have descriptions (avg ~120 chars, within baseline 34-392 range). Input schemas are present and typed for all tools. However, several parameter descriptions are minimal or missing (e.g., 'reportId' and 'feedId' lack descriptions entirely), and output schemas are not documented. Error handling is basic, no recovery guidance or actionable error messages visible in source. Destructive operations (delete_listing) include confirmation pattern, which is good. Tool composition is sound: each tool has one responsibility, and chaining IDs are returned (e.g., get_listing returns sku for use in update_price). Missing: output schema documentation, comprehensive parameter descriptions, and error recovery patterns.
DESTRUCTIVE: permanently deletes the listing for a SKU. Requires confirm=true. Tip: if the listing has an active offer, set quantity to 0 first, then delete.
Downloads and decompresses a report document by its reportDocumentId, returning the text.
Returns a feed's processing status. When DONE, use resultFeedDocumentId with download_report-style retrieval.
Full details for one SKU: summaries (ASIN/status), attributes, offers, issues, and fulfillment availability.
Returns the line items for a specific order.
Lists orders. Defaults to orders created in the last 30 days. Note: full buyer/address data requires the restricted PII role.
Missing parameter descriptions for reportId, feedId, and orderId. LLMs cannot infer what these parameters control without explicit text.
Output schemas not documented. Tools return data but LLMs have no formal specification of response structure, field types, or pagination tokens.
No error recovery guidance. Tools lack descriptions of failure modes, retryability, or actionable next steps when calls fail.
Pagination not explicitly documented. list_listings and get_orders likely paginate but no maxResults/nextToken behavior is described in tool descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 71 | 2026-07-28+ | v2 |
Fetches the product type definition metadata (includes a link to the JSON schema with required attributes and enums).
Returns a report's processing status. When DONE, use the reportDocumentId with download_report.
Returns the seller's marketplace participations (store name, marketplace, currency, participation status).
Real-time list of catalogued SKUs for the seller (searchListingsItems). Paginates through all pages.
Creates a report request and returns a reportId. Example types: GET_MERCHANT_LISTINGS_ALL_DATA, GET_FLAT_FILE_OPEN_LISTINGS_DATA, GET_FBA_INVENTORY_PLANNING_DATA.
Sets the fulfillment quantity for a SKU (merchant-fulfilled / DEFAULT channel).
Submits a feed in one call: creates a feed document, uploads the content, and creates the feed. Common for flat-file / JSON_LISTINGS_FEED bulk operations. Returns the feedId to poll with get_feed. This WRITES to your account.
Convenience: sets the selling price (and optional MRP) for a SKU via a purchasable_offer PATCH, without a full upsert.
Creates or updates a listing via PUT. Provide productType, sku, and the full attributes object. Use requirements=LISTING for a complete/offer listing or LISTING_PRODUCT_ONLY for a product-only draft.
Missing natural-identifier support. Tools require productType (e.g. 'SHIRT') but no guidance on how to discover valid product types or handle user-friendly names.