Inspection report
sample-amazon-spapi-mcp-server
Official MCP server from Amazon Web Services (sample code). Tool list: code-checked6.
The answer
27
What can it change in your account?
27 of 105 tools can change data, in these areas: Orders, Listings, Inventory, Finance.
name based Read and write here are inferred from tool names and descriptions, not from a test.
| Area | Access | Write tools | Read tools |
|---|---|---|---|
| Orders | W Orders can change data | 5 | 21 |
| Ads | · Ads no tool on record | 0 | 0 |
| Listings | W Listings can change data | 7 | 9 |
| Pricing | R Pricing read only | 0 | 4 |
| Inventory | W Inventory can change data | 7 | 18 |
| Reports | R Reports read only | 0 | 15 |
| Finance | W Finance can change data | 1 | 6 |
Record
The facts on file.
Tools
All 105 tools we found.
Grouped by what they do to your data. The access column shows why we put a tool there.
write Can change data 27
| Tool | Description | Area | Access basis |
|---|---|---|---|
| spapi_aplus_create_content_document | Create a new A+ Content document with content modules. Rate limit: 10 requests/sec. NOTE: Write operation. | Listings | name based |
| spapi_aplus_submit_content_for_approval | Submit an A+ Content document for approval. Rate limit: 10 requests/sec. NOTE: Write operation. | Listings | name based |
| spapi_aplus_update_content_document | Update an existing A+ Content document. Rate limit: 10 requests/sec. NOTE: Write operation. | Listings | name based |
| spapi_app_integrations_create_notification | Send a notification to a selling partner via the App Integrations API. Used by SP-API applications to communicate with sellers. Rate limit: 1 request/sec. NOTE: Write operation. | Other | name based |
| spapi_easy_ship_create_scheduled_package | Schedule an Easy Ship package for pickup at a specific time slot. Rate limit: 1 request/sec. NOTE: Write operation. | Other | name based |
| spapi_easy_ship_update_scheduled_packages | Update time slot for a scheduled Easy Ship package. Rate limit: 1 request/sec. NOTE: Write operation. | Other | name based |
| spapi_fba_inbound_confirm_shipment_content_update_preview | Confirm a shipment content update preview. Rate limit: 2 requests/sec. NOTE: Write operation. | Inventory | name based |
| spapi_fba_inbound_create_inbound_plan | Create an inbound plan for sending inventory to Amazon FBA. Specify items, quantities, and source address. Rate limit: 2 requests/sec (burst of 2). | Inventory | name based |
| spapi_fba_inbound_generate_shipment_content_update_previews | Generate content update previews for an inbound shipment (e.g., box content changes). Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_feeds_create_feed | Submit a feed for processing. Requires a feed document ID (from create_feed_document). Common feed types: POST_FLAT_FILE_LISTINGS_DATA, POST_PRODUCT_DATA… | Listings | name based |
| spapi_feeds_create_feed_document | Create a feed document and get a pre-signed URL for uploading feed content. This is step 1 of feed submission. Rate limit: 0.5 requests/sec (burst of 15). | Other | name based |
| spapi_listings_delete_listings_item | DESTRUCTIVE: Delete a listing for a given SKU. This permanently removes the listing from the marketplace and cannot be undone. Requires confirm: true to execute. Rate limit: 5… | Listings | name based |
| spapi_listings_patch_listings_item | Partially update a listing by applying JSON patches to specific attributes. Useful for price, quantity, or single-field updates. Rate limit: 5 requests/sec (burst of 10). NOTE… | Listings | name based |
| spapi_listings_put_listings_item | Create or fully update a listing for a given SKU. Provide product attributes as JSON patches. Returns submission ID and validation issues if any. Rate limit: 5 requests/sec… | Listings | name based |
| spapi_mcf_cancel_fulfillment_order | Cancel an MCF fulfillment order. Only works if order has not shipped. DESTRUCTIVE. Rate limit: 2 requests/sec. | Orders | name based |
| spapi_mcf_create_fulfillment_order | Create a Multi-Channel Fulfillment order to ship inventory from FBA to a customer. Rate limit: 2 requests/sec. NOTE: Write operation, creates a real fulfillment order. | Orders | name based |
| spapi_merchant_fulfillment_cancel_shipment | Cancel a merchant fulfillment shipment. DESTRUCTIVE. Rate limit: 1 request/sec. | Orders, Inventory | name based |
| spapi_merchant_fulfillment_create_shipment | Create a shipment and purchase a shipping label for a seller-fulfilled order. Rate limit: 1 request/sec. NOTE: Write operation, charges your account. | Orders, Inventory | name based |
| spapi_notifications_create_destination | Create a notification destination (SQS queue or EventBridge). This is step 1 before creating subscriptions. Rate limit: 1 request/sec (burst of 5). | Other | name based |
| spapi_notifications_create_subscription | Create a notification subscription for event notifications. Requires a destination (SQS queue or EventBridge). Rate limit: 1 request/sec (burst of 5). | Other | name based |
| spapi_services_cancel_service_job_by_id | Cancel a service job. DESTRUCTIVE. Rate limit: 5 requests/sec. | Other | name based |
| spapi_shipping_cancel_shipment | DESTRUCTIVE: Cancel a previously purchased shipping label. This cannot be undone and may affect delivery commitments. Requires confirm: true to execute. Rate limit: 80… | Inventory | name based |
| spapi_shipping_purchase_shipment | Purchase a shipping label for a shipment using a selected rate. Returns tracking info and label. Rate limit: 80 requests/sec. NOTE: Write operation, charges your account. | Inventory | name based |
| spapi_solicitations_create_product_review_solicitation | Send a product review solicitation to the buyer for an order. Can only be sent between 5-30 days after delivery. Rate limit: 1 request/sec. NOTE: Write operation, sends a real… | Orders | name based |
| spapi_supply_sources_create_supply_source | Create a new supply source (fulfillment location). Rate limit: 2 requests/sec. NOTE: Write operation. | Other | name based |
| spapi_transfers_initiate_payout | Initiate a payout/transfer to your bank account (EU marketplaces). Rate limit: 1 request/sec. NOTE: Write operation, initiates a real money transfer. | Finance | name based |
| spapi_uploads_create_upload_destination | Create an upload destination (pre-signed URL) for uploading files used by other API operations (e.g., feed documents, message attachments). Rate limit: 10 requests/sec. | Other | name based |
read Reads data 78
| Tool | Description | Area | Access basis |
|---|---|---|---|
| spapi_aplus_get_content_document | Get details of an A+ Content document by content reference key. Returns modules, ASINs, and approval status. Rate limit: 10 requests/sec. | Listings | name based |
| spapi_aplus_search_content_documents | Search A+ Content documents for the selling partner. Returns content reference keys and metadata. Rate limit: 10 requests/sec. | Listings | name based |
| spapi_application_rotate_client_secret | DESTRUCTIVE: Credential rotation, Rotates the client secret for an SP-API application. This permanently invalidates the current secret after a short grace period. All systems… | Other | name based |
| spapi_awd_get_inbound_order | Get details of an AWD inbound order. Rate limit: 1 request/sec. | Orders, Inventory | name based |
| spapi_awd_list_inbound_orders | List Amazon Warehousing & Distribution (AWD) inbound orders. AWD is a long-term storage program. Rate limit: 1 request/sec. | Orders, Inventory | name based |
| spapi_awd_list_inventory | List inventory stored in AWD fulfillment centers. Shows SKU-level quantities. Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_catalog_get_item | Get detailed information for a single catalog item by ASIN, including title, description, images, dimensions, and classifications. Rate limit: 2 requests/sec (burst of 2). | Listings | name based |
| spapi_catalog_search_items | Search the Amazon catalog by keywords, identifiers, or brand. Returns items with ASINs, titles, images, and product details. Rate limit: 2 requests/sec (burst of 2). | Listings | name based |
| spapi_customer_feedback_get_return_insights | Get return reason insights for your ASINs. Shows top return reasons, defect rates, and trends. Rate limit: 1 request/sec. | Reports | name based |
| spapi_customer_feedback_get_reviews | Get product review insights and summaries for your ASINs. Includes sentiment analysis, star ratings, and top themes. Rate limit: 1 request/sec. | Reports | name based |
| spapi_data_kiosk_create_query | Submit a GraphQL analytics query to the SP-API Data Kiosk service (no local file system access). Supports sales, traffic, inventory, and brand analytics. This is a remote API… | Reports | name based |
| spapi_data_kiosk_create_query_and_download | Composite tool: Submit a GraphQL analytics query to SP-API Data Kiosk, poll until completion, and return the result document URL (no local file system access, all operations are… | Reports | name based |
| spapi_data_kiosk_get_document | Get a pre-signed URL to download Data Kiosk query results. Rate limit: 0.0167 requests/sec. | Reports | name based |
| spapi_data_kiosk_get_queries | List Data Kiosk queries with optional status/date filters. Rate limit: 0.0222 requests/sec. | Reports | name based |
| spapi_data_kiosk_get_query | Get status and result of a Data Kiosk query. Returns document ID when complete. Rate limit: 2 requests/sec. | Reports | name based |
| spapi_easy_ship_get_scheduled_package | Get details of a scheduled Easy Ship package by order ID. Rate limit: 1 request/sec. | Orders | name based |
| spapi_easy_ship_list_handover_slots | Get available handover time slots for Easy Ship orders (IN/JP). Returns slot IDs, dates, and times for package pickup. Rate limit: 1 request/sec. | Orders | name based |
| spapi_external_fulfillment_inventory_get_inventory | Get external fulfillment inventory levels by location. Shows inventory across non-Amazon channels. Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_external_fulfillment_returns_get_returns | Get return information for external fulfillment orders. Rate limit: 2 requests/sec. | Orders | name based |
| spapi_external_fulfillment_shipping_get_orders | Get external fulfillment shipping orders that need processing. Rate limit: 2 requests/sec. | Orders | name based |
| spapi_fba_inbound_eligibility_get_item_eligibility_preview | Check if an item is eligible for FBA inbound. Returns eligibility status and any ineligibility reasons. Rate limit: 1 request/sec. | Inventory | name based |
| spapi_fba_inbound_get_inbound_plan | Get details of an existing FBA inbound plan including status, items, and shipments. Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_fba_inbound_get_shipment | Get details for a specific shipment within an inbound plan. Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_fba_inbound_list_inbound_plan_items | List items within an FBA inbound plan. Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_fba_inbound_list_inbound_plans | List FBA inbound plans with optional filters for status and date. Rate limit: 2 requests/sec. | Inventory | name based |
| spapi_fba_inventory_get_summaries | Get FBA inventory summaries including fulfillable, inbound, reserved, and unfulfillable quantities. Can filter by ASIN, SKU, or date. Rate limit: 2 requests/sec (burst of 2). | Inventory | name based |
| spapi_feeds_get_feed | Get the status and details of a submitted feed. Returns processing status and result document ID when complete. Rate limit: 2 requests/sec (burst of 15). | Other | name based |
| spapi_feeds_get_feed_document | Get a pre-signed URL to download the feed processing result document. Use after feed status is DONE. Rate limit: 0.0222 requests/sec (burst of 10). | Other | name based |
| spapi_finances_list_transactions | List financial transactions for the seller account, including order charges, refunds, fees, and adjustments. Rate limit: 0.5 requests/sec (burst of 10). | Finance | name based |
| spapi_get_config | Get the current SP-API MCP server configuration including account type, marketplace, and available API groups with tool counts. Never exposes credentials. | Other | name based |
| spapi_health_check | Check the health of the SP-API MCP server connection. Verifies authentication status, token validity, and endpoint reachability. | Other | name based |
| spapi_listings_get_listings_item | Get details for a specific listing by seller ID and SKU. Returns product attributes, offers, fulfillment, and issues. Rate limit: 5 requests/sec (burst of 10). | Listings | name based |
| spapi_listings_restrictions_get_restrictions | Get listing restrictions for an ASIN in a marketplace. Shows whether you | Listings | name based |
| spapi_mcf_get_fulfillment_order | Get status and details of an existing MCF fulfillment order. Rate limit: 2 requests/sec. | Orders | name based |
| spapi_mcf_get_fulfillment_preview | Get a fulfillment preview for Multi-Channel Fulfillment (MCF). Shows available shipping options, estimated delivery dates, and fees for fulfilling an order from FBA inventory… | Orders, Inventory, Finance | name based |
| spapi_mcf_list_fulfillment_orders | List MCF fulfillment orders with optional date filter. Rate limit: 2 requests/sec. | Orders | name based |
| spapi_merchant_fulfillment_get_eligible_shipment_services | Get eligible shipping services for a seller-fulfilled (MFN) order. Returns available carriers, rates, and delivery estimates. Rate limit: 1 request/sec (burst of 1). | Orders, Inventory | name based |
| spapi_merchant_fulfillment_get_shipment | Get details and tracking for an existing merchant fulfillment shipment. Rate limit: 1 request/sec. | Orders, Inventory | name based |
| spapi_messaging_get_messaging_actions_for_order | Get available messaging actions for a given order. Returns which message types can be sent to the buyer. Rate limit: 1 request/sec. | Orders | name based |
| spapi_messaging_send_message | DESTRUCTIVE: Send a message to a buyer for a specific order. This sends a real email to the customer and cannot be unsent. Requires confirm: true to execute. Supports various… | Orders | name based |
| spapi_notifications_get_destinations | Get all notification destinations (SQS queues, EventBridge event buses) configured for the application. Rate limit: 1 request/sec (burst of 5). | Other | name based |
| spapi_notifications_get_subscriptions | Get all notification subscriptions for a given notification type. Rate limit: 1 request/sec (burst of 5). | Other | name based |
| spapi_orders_get_order | Get detailed information for a single order by order ID. Includes shipping address, payment info, and order totals. Rate limit: 0.5 requests/sec (burst of 30). | Orders | name based |
| spapi_orders_get_order_address | Get the shipping address for an order. Requires Restricted Data Token (RDT) for PII fields. Rate limit: 0.5 requests/sec. | Orders | name based |
| spapi_orders_get_order_buyer_info | Get buyer information (name, email) for an order. Requires Restricted Data Token (RDT). Rate limit: 0.5 requests/sec. | Orders | name based |
| spapi_orders_get_order_items | Get line items for a specific order including ASINs, quantities, prices, and fulfillment info. Rate limit: 0.5 requests/sec (burst of 30). | Orders | name based |
| spapi_orders_get_orders | Get a list of orders based on criteria such as date range, status, and fulfillment channel. Returns order summaries with IDs, dates, amounts, and status. Rate limit: 0.0167… | Orders | name based |
| spapi_pricing_get_competitive_pricing | Get competitive pricing information for items including Buy Box prices, offer counts, and landed price. Supports batch requests of up to 20 ASINs. Rate limit: 0.5 requests/sec… | Pricing | name based |
| spapi_pricing_get_item_offers | Get all active offers for a specific ASIN, including price, condition, shipping, and seller feedback data. Rate limit: 0.5 requests/sec. | Pricing | name based |
| spapi_pricing_get_listing_offers | Get all active offers for a specific SKU, including price, condition, shipping, and seller feedback data. Rate limit: 0.5 requests/sec. | Listings, Pricing | name based |
| spapi_product_fees_get_my_fees_estimate_for_asin | Get fee estimates for a product by ASIN. Returns referral fees, FBA fees, closing fees, etc. based on price and fulfillment channel. Rate limit: 0.5 requests/sec (burst of 1). | Finance | name based |
| spapi_product_fees_get_my_fees_estimates | Get fee estimates for multiple products in batch (up to 20). Rate limit: 0.5 requests/sec. | Finance | name based |
| spapi_product_types_get_definition | Get the full definition (JSON Schema) for a product type. Shows all required and optional attributes for listing creation. Rate limit: 5 requests/sec (burst of 10). | Listings | name based |
| spapi_product_types_search_definitions | Search for product type definitions available in a marketplace. Returns product type names and their requirements context. Rate limit: 5 requests/sec (burst of 10). | Listings | name based |
| spapi_rate_limit_status | Get current rate limit status for all tracked API domains. Shows running and queued request counts per domain. | Other | name based |
| spapi_replenishment_get_selling_partner_metrics | Get Subscribe & Save metrics for the selling partner, including subscriber counts, revenue, and forecasting data. Rate limit: 1 request/sec. | Inventory, Reports | name based |
| spapi_replenishment_list_offer_metrics | Get Subscribe & Save offer-level metrics (per-ASIN subscriber count, revenue, forecasts). Rate limit: 1 request/sec. | Pricing, Inventory, Reports | name based |
| spapi_reports_create_and_download | Composite tool: Creates a report, polls until completion, and returns the download URL. Handles the full async lifecycle automatically. Timeout: 5 minutes. Rate limit: follows… | Reports | name based |
| spapi_reports_create_report | Request a new report. This is an async operation, use spapi_reports_get_report to check status, or use spapi_reports_get_report_document_auto which handles polling automatically… | Reports | name based |
| spapi_reports_get_report | Get the status and details of a previously requested report. Returns processing status and report document ID when complete. Rate limit: 2 requests/sec (burst of 15). | Reports | name based |
| spapi_reports_get_report_document | Get a pre-signed URL to download a completed report document. Use after the report status is DONE. Rate limit: 0.0167 requests/sec. | Reports | name based |
| spapi_reports_get_reports | Get a list of reports matching filters (type, status, date range). Useful for finding previously generated reports. Rate limit: 0.0222 requests/sec (burst of 10). | Reports | name based |
| spapi_sales_get_order_metrics | Get aggregated order metrics (units ordered, revenue, average price) for a date range. Supports hourly, daily, weekly, monthly, yearly granularity. Rate limit: 0.5 requests/sec… | Orders, Reports | name based |
| spapi_seller_wallet_get_account | Get Seller Wallet account details including balance and account status. Rate limit: 2 requests/sec. | Other | name based |
| spapi_seller_wallet_list_transactions | List Seller Wallet transactions (deposits, withdrawals, transfers). Rate limit: 2 requests/sec. | Finance | name based |
| spapi_sellers_get_account | Get seller account information including business name, address, and marketplace registrations. Rate limit: 0.016 requests/sec. | Other | name based |
| spapi_sellers_get_marketplace_participations | Get a list of marketplaces and participation details for the seller account. Shows which marketplaces you | Other | name based |
| spapi_services_get_service_job_by_id | Get details for a specific service job by ID. Rate limit: 20 requests/sec. | Other | name based |
| spapi_services_get_service_jobs | Get a list of service jobs (e.g., device installation, home services) with optional filters. Rate limit: 20 requests/sec. | Other | name based |
| spapi_shipping_get_rates | Get shipping rates for a shipment. Provide package dimensions, weight, origin, and destination. Returns available carrier rates. Rate limit: 80 requests/sec. | Inventory | name based |
| spapi_shipping_get_shipment_documents | Retrieve shipping documents (labels, customs forms) for a purchased shipment. Rate limit: 80 requests/sec. | Inventory | name based |
| spapi_shipping_get_tracking | Get tracking information for a shipment by tracking ID. Returns carrier, status, and event history. Rate limit: 80 requests/sec. | Inventory | name based |
| spapi_solicitations_get_solicitation_actions_for_order | Get available solicitation actions for an order (e.g., request review). Returns whether solicitations can be sent. Rate limit: 1 request/sec. | Orders | name based |
| spapi_supply_sources_get_supply_source | Get details of a specific supply source by ID. Rate limit: 2 requests/sec. | Other | name based |
| spapi_supply_sources_get_supply_sources | List seller supply sources (fulfillment locations). Rate limit: 2 requests/sec. | Other | name based |
| spapi_tokens_create_restricted_data_token | Create a Restricted Data Token (RDT) for accessing PII-sensitive data (buyer name, address, email). Required for Orders buyerInfo and shippingAddress. Rate limit: 1 request/sec… | Orders | name based |
| spapi_transfers_get_payment_methods | Get available payment methods for payouts. Rate limit: 2 requests/sec. | Finance | name based |
| spapi_vehicles_search_vehicles | Search for vehicles by make, model, year, or other attributes. Returns vehicle compatibility data for automotive parts. Rate limit: 5 requests/sec. | Other | name based |
Method
How we checked this server.
We read the tool definitions in the source code. We did not run the server against a seller account.6
Not tested with credentials. We did not connect this server to a seller or ads account. A tool marked read can still have side effects we could not see, and a vendor can add write tools at any time. Check the list again before you grant access.
Areas come from keywords in tool names, as explained on the matrix page.
Notes
Sources for this report
- 1Source repository or product pagegithub.com
- 2Documentationgithub.com
- 3License: GitHub API repo.license (search 2026-10-30)
- 4Authentication: static scan of repo (env names / code patterns)
- 5Marketplaces: marketplace IDs found in code
- 6Our MCP inventory of Oct 30, 2026: tool list, access marks, stars and last commit. GitHub repository search (22 queries, unauthenticated) -> shallow clone -> static extraction (extract_tools.py) -> optional runtime tools/list (mcp_probe.py); vendor/official from public docs. access=read|write is a name/description heuristic unless access_basis says otherwise.