Tool Reference
Fulfillment Tools
Multi-Channel Fulfillment shipping estimates, order creation, tracking, and return authorization.
Related paths
Hosted Amazon Seller Central MCP overview for Claude, ChatGPT, and custom agents.
Amazon Ads MCP serverPrimary Ads MCP page for campaigns, search terms, budget pacing, TACOS, retained history, and guarded Ads writes.
Amazon MCP server for ClaudeClaude-specific page for Amazon Seller Central, Amazon Ads, inventory, orders, catalog, ranking, finance, and fulfillment data.
Amazon seller data for AI agentsHow ads, inventory, orders, catalog, ranking, finance, and fulfillment data are structured for agents.
Claude connection walkthroughStep-by-step path from Seller Central OAuth to a Claude connector or MCP config.
ChatGPT Seller Central setupChatGPT-specific setup and examples for Amazon seller data through MCP.
Tools (19)
write
read
get_shipping_preview
readGet Multi-Channel Fulfillment (MCF) shipping options and estimated delivery dates before creating an order. Shows available shipping speeds, fees, and fulfillability. Max 50 items per preview.
When to use
Check MCF availability, costs, and delivery estimates before placing an MCF order. Always preview before creating.
Parameters2
| Name | Type | Description |
|---|---|---|
items* | array | Items to get shipping preview for (1-50). Each item has sku (string) and quantity (integer, min 1). |
destination* | object | Shipping destination address with name, line1, line2 (optional), city, state, zip, and country_code (default US). |
* required
Tips
- Always run a shipping preview before create_mcf_order to verify availability and costs.
- The response shows multiple shipping speeds (Standard, Expedited, Priority) with estimated fees for each.
- Check isFulfillable to confirm each speed can actually be fulfilled before ordering.
- Unfulfillable items will include reasons explaining why MCF cannot fulfill them.
Related tools
get_mcf_orders
readList Multi-Channel Fulfillment (MCF) orders. Shows order status, destination, shipping speed, and dates. Pass an order_id to get shipment, tracking, and Amazon shipment IDs for one order. Defaults to last 30 days.
When to use
Check the status and tracking of existing MCF orders, or list all recent MCF orders.
Parameters2
| Name | Type | Description |
|---|---|---|
order_id | string | Optional seller fulfillment order ID to inspect shipment and tracking details for one order. |
start_date | string (30 days ago) | Start date for order lookup (YYYY-MM-DD). Defaults to 30 days ago. |
Tips
- Use this to track MCF order statuses after placing orders with create_mcf_order.
- Order statuses include New, Received, Planning, Processing, Shipped, Complete, and others.
- The order detail response includes Amazon shipment IDs that manage_returns can use when an item was split across multiple shipments.
Related tools
write
create_mcf_order
writeSubmit a Multi-Channel Fulfillment (MCF) order request. Amazon accepts the request first, then fulfillment status is tracked with get_mcf_orders. Max 50 items per order.
When to use
Submit a request for Amazon to ship FBA inventory to a non-Amazon customer address, such as fulfilling orders from your own website or other sales channels.
Parameters8
| Name | Type | Description |
|---|---|---|
order_id* | string | Your unique order reference ID (1-40 characters). |
display_id* | string | Customer-facing order ID (1-40 characters). |
items* | array | Items to fulfill (1-50 per order). Each item has sku (string) and quantity (integer, min 1). |
destination* | object | Shipping destination address with name, line1, line2 (optional), city, state, zip, and country_code (default US). |
shipping_speed | enum (Standard) | Shipping speed: Standard, Expedited, or Priority. |
comment | string (MCF order via agentcentral) | Order comment (max 750 characters). |
confirm | boolean (false) | Validation preview by default. Set true to actually submit the order to Amazon (ships physical inventory). |
idempotency_key | string | Required when confirm=true (8-128 chars). Reusing the same key prevents duplicate MCF order submissions. |
* required
Tips
- Always run get_shipping_preview first to verify availability and costs.
- Leave confirm unset (or false) to validate the order without shipping; set confirm=true with an idempotency_key to submit it.
- Reuse the same idempotency_key on retries so a network failure cannot create a duplicate shipment.
- The order_id must be unique across all your MCF orders.
- Use get_mcf_orders to track the order status after Amazon accepts the request.
- Standard shipping is the most cost-effective option for non-urgent orders.
Watch out
- Amazon accepts the order request before fulfillment lifecycle status is observable in get_mcf_orders. The request can still ship physical inventory.
Related tools
manage_returns
writeCreate a return authorization for a Multi-Channel Fulfillment (MCF) order. Initiates the return process for fulfilled items. Max 20 items per return.
When to use
Initiate a return for items from an MCF order that need to be returned to Amazon fulfillment centers.
Parameters2
| Name | Type | Description |
|---|---|---|
order_id* | string | The seller fulfillment order ID to return items from (1-40 characters). |
items* | array | Items to return (1-20 per request). Each item has sku, item_id (the sellerFulfillmentOrderItemId from the original order), reason_code (an exact Amazon return code such as CR-DEFECTIVE), optional amazon_shipment_id for split shipments, and optional comment (max 1000 chars). |
* required
Tips
- The item_id must match the sellerFulfillmentOrderItemId from the original MCF order.
- The reason_code must be a real Amazon return code for that SKU and order; the tool validates it live before creating the return.
- Use get_mcf_orders to look up the order details, including item IDs and Amazon shipment IDs for split shipments.
- The response includes the return authorization ID, Amazon RMA, label URL, and return-to address for the physical return.
Watch out
- This creates a real return authorization. The customer will receive a return shipping address.
Related tools
create_fba_inbound_plan
writeCreate an Amazon FBA inbound plan draft (warehouse-to-FBA) from a source address and item quantities. Preview by default; the draft commits no packing, placement, transportation, shipment, or charge.
When to use
Start a new warehouse-to-FBA inbound workflow from explicit user-provided items and a warehouse address.
Parameters5
| Name | Type | Description |
|---|---|---|
source_address* | object | Warehouse address: name, address_line_1, city, postal_code, country_code, phone_number, plus optional company/state/email fields. |
items* | array | Items to inbound (1-2000). Each has msku, quantity, prep_owner, label_owner, and optional expiration and manufacturing_lot_code. |
plan_name | string | Optional plan name (max 28 chars; agentcentral appends a short correlation suffix). |
confirm | boolean (false) | Preview by default; true creates the Amazon draft. |
idempotency_key | string | Required when confirm=true; the same key recovers an ambiguous outcome instead of duplicating the plan. |
* required
Tips
- The destination marketplace is always the API key’s scoped marketplace.
- For repeat shipments, offer defaults read from a recent plan (get_fba_inbound_plan: summary for the ship-from address, view=boxes for per-case dimensions and weights) instead of asking the user to re-enter values they keep in Seller Central templates, which are not API-readable.
- Duplicate MSKU+expiration rows are rejected; different expiration dates require separate plans per Amazon’s rules.
- In the US marketplace, prep_owner/label_owner AMAZON are rejected: Amazon ended US prep and label services on 2026-01-01.
- On a network failure after submit, rerun with the SAME idempotency_key: recovery scans recent plans for the correlation suffix and verifies marketplace, address, and the exact item hash before adopting a match.
Watch out
- Requires a key with inbound writes enabled — use the Inventory + inbound shipping template or enable the inbound tools on the key.
prepare_fba_inbound_options
writeRun exactly one Amazon option-generation step for an inbound plan: packing options, placement options, transportation options (with pallet and freight inputs), delivery window options, or self-ship appointment slots. Generation computes options; it never selects one.
When to use
Ask Amazon to compute the next set of options in the inbound workflow before reading them with get_fba_inbound_options.
Parameters9
| Name | Type | Description |
|---|---|---|
option_type* | enum | packing, placement, transportation, delivery_window, or appointment. |
inbound_plan_id* | string | The Amazon inbound plan ID. |
shipment_id | string | Required for delivery_window and appointment generation. |
placement_option_id | string | Required for transportation generation: the candidate placement option. |
shipment_configurations | array | Required for transportation generation: one entry per shipment with ready_to_ship_date, optional contact_information, freight_information (class, declared value), and pallets (dimensions, weight, quantity, stackability). |
desired_start_date | string | Appointment generation: desired slot window start (YYYY-MM-DD). |
desired_end_date | string | Appointment generation: desired slot window end (YYYY-MM-DD). |
confirm | boolean (false) | Preview by default; true runs the generation at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Transportation generation must cover exactly the shipments in the placement option; pallet and freight inputs drive the LTL/FTL quotes Amazon returns.
- Generate transportation for candidate placements before confirming placement so the user can see placement fees and transportation quotes together.
- Pack-later shipments (no cartons at Amazon yet) require pallet inputs; small parcel needs known cartons first.
confirm_fba_packing_option
writeConfirm exactly one Amazon packing option for an inbound plan, fixing the packing groups used for carton information.
When to use
Select the packing structure after reviewing packing options with the user.
Parameters4
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
packing_option_id* | string | Packing option from get_fba_inbound_options option_type=packing. |
confirm | boolean (false) | Preview by default; true confirms at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Expired or already-accepted options are rejected before any Amazon call; regenerate packing options if the offer lapsed.
- The response records the packing group IDs used by set_fba_packing_information.
set_fba_packing_information
writeSubmit carton (box) contents, dimensions, weights, and quantities: by packing group (pack-now, before placement confirmation) or by shipment (pack-later, after placement confirmation).
When to use
Provide known-carton details after confirming a packing option, or post-placement carton details in the pack-later pallet workflow.
Parameters4
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
groupings* | array | One entry per packing group (pack-now) or per shipment (pack-later), each with boxes: contents source, dimensions, weight, quantity, and items. |
confirm | boolean (false) | Preview by default; true submits to Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Carton totals must equal the Amazon item totals per grouping; the preview shows the exact comparison.
- Pack-now (packing_group_id) and pack-later (shipment_id) groupings cannot be mixed in one request.
- Pallet and freight configuration belongs to transportation generation, not this call.
Watch out
- BOX_CONTENT_PROVIDED boxes require items; BARCODE_2D and MANUAL_PROCESS boxes must omit them (manual processing incurs Amazon charges).
confirm_fba_placement_option
writeIrreversibly confirm one Amazon placement option: the shipment split, destination fulfillment centers, and placement fees/discounts. Requires the preview’s placement_fingerprint and an explicit irreversibility acknowledgement.
When to use
Lock in the user’s chosen shipment split after presenting Amazon’s placement options and fees.
Parameters6
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
placement_option_id* | string | Placement option from get_fba_inbound_options option_type=placement. |
placement_fingerprint | string | Required on submit: the fingerprint from this tool’s preview over the exact option, split, destinations, fees, expiration, and item hash. |
irreversible_acknowledgement | boolean (false) | Must be true on submit: placement confirmation cannot be reversed. |
confirm | boolean (false) | Preview by default; true confirms at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- If anything about the option changed since the preview (fees, split, destinations, expiration, items), the fingerprint mismatch blocks the submit; run a fresh preview.
- Confirmation produces the FBA... shipment confirmation IDs used by labels and BOLs.
Watch out
- Placement confirmation is IRREVERSIBLE. There is no API to undo it; cancelling the plan voids the whole workflow.
confirm_fba_delivery_window
writeConfirm one delivery window option for an own-carrier (non-partnered) shipment. A delivery window is the arrival date range Amazon expects; it is not a fulfillment-center appointment.
When to use
Confirm the required delivery window before confirming own-carrier transportation that carries the CONFIRMED_DELIVERY_WINDOW precondition.
Parameters6
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
shipment_id* | string | The v2024 shipment ID. |
delivery_window_option_id* | string | Delivery window option from get_fba_inbound_options option_type=delivery_window. |
valid_until | string | Required on submit: the option’s valid_until timestamp from a fresh read; stale or changed offers are rejected. |
confirm | boolean (false) | Preview by default; true confirms at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- A shipment can require both a delivery window and a separate fulfillment-center appointment; they are different facts.
confirm_fba_transportation_options
writeConfirm one Amazon transportation option per shipment. Partnered-carrier options can charge the seller; submit requires the preview’s transportation_fingerprint plus charge_acknowledgement=true when any quote carries a cost.
When to use
Commit the user’s chosen carrier/mode per shipment after presenting quotes, expirations, and void deadlines.
Parameters6
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
selections* | array | Exactly one entry per shipment in the confirmed placement: shipment_id, transportation_option_id, and optional contact_information. |
transportation_fingerprint | string | Required on submit: the fingerprint from this tool’s preview over every selection’s option, carrier, mode, quote, expiration, void deadline, window, and preconditions. |
charge_acknowledgement | boolean (false) | Required (true) on submit when any selected option carries a quote cost. |
confirm | boolean (false) | Preview by default; true confirms at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Amazon documents a 24-hour void window for partnered SPD and one hour for partnered LTL/FTL; always use the returned voidableUntil value, which the preview shows per shipment.
- Selections whose options carry CONFIRMED_DELIVERY_WINDOW must confirm their delivery window first.
- Quoted totals are reported per currency and never combined across currencies.
Watch out
- Confirming transportation prevents generating or selecting replacement transportation for the plan.
- Amazon acceptance confirms the selection; it does not mean the shipment was picked up or delivered.
schedule_fba_self_ship_appointment
writeSchedule one Amazon-offered self-ship appointment slot for an inbound shipment. Only exists in marketplaces where Amazon supports API-native self-ship appointments on this workflow (MX, EG, SA, AE, IN).
When to use
Book the fulfillment-center appointment for an own-carrier shipment in a supported marketplace after generating slots.
Parameters6
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
shipment_id* | string | The v2024 shipment ID. |
slot_id* | string | Slot from get_fba_inbound_options option_type=appointment. |
reason_comment | enum | Amazon reason code when rescheduling. |
confirm | boolean (false) | Preview by default; true schedules at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Amazon returns the appointment details synchronously; there is no operation to poll.
- In other marketplaces the appointment must be booked externally (for example Carrier Central) using the Amazon reference ID from get_fba_inbound_plan.
cancel_fba_self_ship_appointment
writeCancel an API-scheduled self-ship appointment for an inbound shipment, with a live pre-read of the current appointment state and an explicit acknowledgement.
When to use
Cancel or free up a booked self-ship appointment in an appointment-capable marketplace.
Parameters6
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
shipment_id* | string | The v2024 shipment ID. |
reason_comment | enum (OTHER) | Amazon cancellation reason code. |
cancellation_acknowledgement | boolean (false) | Must be true on submit. |
confirm | boolean (false) | Preview by default; true cancels at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- The preview shows the currently scheduled appointment(s) from a live read before anything is cancelled.
update_fba_inbound_tracking
writeSubmit own-carrier tracking after handoff: box-ID/tracking-ID pairs for small parcel (SPD), or freight PRO number(s) plus an optional BOL number for LTL/FTL. The tracking type must match the shipment’s confirmed transportation mode.
When to use
Record carrier tracking for a USE_YOUR_OWN_CARRIER shipment once it has been tendered.
Parameters6
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
shipment_id* | string | The v2024 shipment ID. |
spd_tracking | array | Small parcel: one { box_id, tracking_id } per Amazon box ID. |
freight_tracking | object | Freight: freight_bill_numbers (PRO numbers) and optional bill_of_lading_number. |
confirm | boolean (false) | Preview by default; true submits to Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Amazon box IDs exist after transportation confirmation; read them from get_fba_inbound_plan view=boxes.
- Amazon validates tracking asynchronously; the validation status appears on the shipment detail.
- Amazon-partnered shipments do not accept own-carrier tracking; Amazon manages their tracking.
cancel_fba_inbound_plan
writeCancel (void) an FBA inbound plan and its unshipped shipments. The preview shows the current workflow stage, confirmed transportation, Amazon-provided voidableUntil deadlines, and whether the refund/void state is known.
When to use
Abort an inbound workflow the user no longer wants, after reviewing the current stage and any confirmed charges.
Parameters4
| Name | Type | Description |
|---|---|---|
inbound_plan_id* | string | The Amazon inbound plan ID. |
cancellation_acknowledgement | boolean (false) | Must be true on submit: the plan and its shipments will be voided. |
confirm | boolean (false) | Preview by default; true cancels at Amazon. |
idempotency_key | string | Required when confirm=true. |
* required
Tips
- Whether a partnered-carrier charge is refunded is governed by Amazon’s void handling and the returned voidableUntil; agentcentral never promises a refund from locally calculated time.
- Plans already VOIDED or SHIPPED are rejected before any Amazon call.
Watch out
- If Amazon did not return voidableUntil for a confirmed transportation selection, the refund/void state is reported as unknown.
live api
get_fba_inbound_plan
live apiLive FBA inbound plan state from the Amazon Fulfillment Inbound API (v2024-03-20): plan listing, plan summary with a deterministic workflow stage, items, boxes, pallets, and shipment detail with both Amazon shipment identifiers.
When to use
List or resume in-flight inbound plans, inspect a plan’s items/boxes/pallets, or read a shipment’s destination, confirmation ID, transportation, delivery window, appointment, and tracking state.
Parameters6
| Name | Type | Description |
|---|---|---|
view | enum (summary) | summary, items, boxes, pallets, or shipments. |
inbound_plan_id | string | Required for every view except the plan listing. |
shipment_id | string | With view=shipments returns full shipment detail; with items/boxes/pallets scopes to that shipment. |
plan_status | enum | Filter the plan listing: ACTIVE, VOIDED, or SHIPPED. |
page_size | integer (10) | Plan-list page size (1-30). |
pagination_token | string | Token from a previous plan-list response. |
Tips
- Shipment detail returns both identifiers: the v2024 shipment_id used by workflow calls and the FBA... shipment_confirmation_id printed on labels and BOLs.
- workflow_stage is a deterministic label derived from plan status and which Amazon artifacts exist (packing options, placement options, shipments).
- For a repeat shipment, read the most recent plan first: the single-plan summary returns the full ship-from address in create_fba_inbound_plan input shape, and view=boxes returns per-case dimensions, weights, and units. Amazon does not expose Seller Central saved address books or packing templates through any API, so prior plans are the reusable source.
- Use get_inbound_shipments and get_shipment_receiving_status for materialized receiving progress after shipping.
get_fba_inbound_options
live apiRead Amazon-generated inbound options without selecting one: packing options, placement options with per-split fees and discounts, transportation options with carrier/mode/quote/expiration/void deadline across all pages, delivery window options, and self-ship appointment slots where supported.
When to use
Present Amazon’s packing, placement, transportation, delivery-window, or appointment options to the user after generating them with prepare_fba_inbound_options.
Parameters5
| Name | Type | Description |
|---|---|---|
option_type* | enum | packing, placement, transportation, delivery_window, or appointment. |
inbound_plan_id* | string | The Amazon inbound plan ID. |
shipment_id | string | Required for delivery_window and appointment; scopes transportation to one shipment. |
placement_option_id | string | For transportation: list options generated for this placement option. |
packing_group_id | string | For packing: also list the items in this packing group. |
* required
Tips
- Transportation listings paginate every page before returning, so an absent carrier or mode is a real Amazon fact, not a partial page.
- Quotes carry Amazon-provided expiration and voidableUntil timestamps; confirmations reject stale options.
- In marketplaces without API-native self-ship appointments, option_type=appointment returns external_booking_required=true with the Amazon reference ID instead of slots.
Watch out
- agentcentral reports Amazon’s options, fees, and quotes; it does not rank placements or recommend a carrier.
get_fba_inbound_operation_status
live apiStatus of an asynchronous Fulfillment Inbound operation: SUCCESS, FAILED, or IN_PROGRESS, with Amazon’s blocking (ERROR) and non-blocking (WARNING) problems.
When to use
Resume an inbound write that returned processing, or inspect why an Amazon operation failed.
Parameters1
| Name | Type | Description |
|---|---|---|
operation_id* | string | Amazon operation ID returned by an inbound write tool. |
* required
Tips
- When an operation reaches a terminal state, the matching write submission ledger entry is closed automatically.
- Never re-submit the originating write while an operation is IN_PROGRESS.
Related tools
get_fba_inbound_documents
live apiShort-lived authenticated download links for inbound shipping documents: marketplace item labels, carton labels, pallet labels, bill of lading (BOL), and delivery challan (India). Links stream the document from Amazon and expire after 15 minutes.
When to use
Fetch printable labels, the BOL for a freight shipment, or the delivery challan for an India shipment after placement/transportation confirmation.
Parameters9
| Name | Type | Description |
|---|---|---|
document_type* | enum | item_labels, carton_labels, pallet_labels, bill_of_lading, or delivery_challan. |
inbound_plan_id | string | Required for shipment-scoped documents. |
shipment_id | string | Required for shipment-scoped documents (v2024 shipment ID; the FBA confirmation ID is read live). |
msku_quantities | array | item_labels: MSKUs and label counts (max 50 per link). |
item_label_type | enum (STANDARD_FORMAT) | item_labels print format: STANDARD_FORMAT or THERMAL_PRINTING. |
page_type | enum (PackageLabel_Plain_Paper) | carton/pallet labels: Amazon label page type. |
carton_label_type | enum (UNIQUE) | carton_labels: BARCODE_2D or UNIQUE. |
number_of_packages | integer | carton_labels: how many carton labels to print. |
number_of_pallets | integer | pallet_labels: how many pallet labels to print (Amazon guidance is 4 per pallet). |
* required
Tips
- Carton/pallet labels and BOLs require the shipment’s FBA... confirmation ID, which exists after placement confirmation.
- Document bytes are never returned inline; the link streams a fresh copy from Amazon and stops working after expiry.
Watch out
- BOLs are only available for freight (LTL/FTL) shipments once Amazon has generated them.