Summary
Amazon Shipping API v2 (SP-API) for businesses that ship with Amazon as the carrier: compare rates, track parcels, fetch labels and documents again, find lockers and pickup counters, and read collection forms. Buying, one-click purchase and cancellation are included but switched off. Private SP-API app with the Amazon Logistics role.
Guided setup
Connect Amazon Shipping to ChatGPT in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Amazon Shipping in the guided setup, then add your MCP URL to ChatGPT. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
AnythingMCP's plugin in ChatGPT's directory answers questions from your company databases on AnythingMCP Cloud (PostgreSQL, MySQL, SQL Server, Oracle, SAP HANA, SQLite, MongoDB, read-only): open the listing (opens in a new tab) and click Install plugin. Every other connector is added to ChatGPT as a custom MCP server with your AnythingMCP MCP URL.
Try asking
Example prompts for Amazon Shipping
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Amazon Shipping, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Amazon Shipping + ChatGPT
Amazon Shipping API v2 (SP-API) for businesses that ship with Amazon as the carrier: compare rates, track parcels, fetch labels and documents again, find lockers and pickup counters, and read collection forms. Buying, one-click purchase and cancellation are included but switched off. Private SP-API app with the Amazon Logistics role.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
SPAPI_CLIENT_ID, SPAPI_CLIENT_SECRET, SPAPI_REFRESH_TOKEN, SPAPI_ENDPOINT, AMAZON_SHIPPING_BUSINESS_ID
Step 1 — Get credentials
Setting up takes about 20 minutes. You need the plus Amazon reviews.
- You need an Amazon Shipping account. Sellers on Amazon use their Seller Central account; other shippers create an account at https://solutionproviderportal.amazon.com (no seller account needed) and complete the developer identity verification.
- Complete the Developer Profile: for Data Access choose Private Developer: I build application(s) that integrate my own company with Amazon Services APIs, for Roles choose Amazon Logistics. Amazon answers within about 5 business days.
- Create an SP-API app client named
AmazonShipping_YourCompany, with the Shipping business entity and the Amazon Logistics role, and answer No to delegating restricted (PII) data access. - Under LWA credentials choose View and copy the client identifier (
amzn1.application-oa2-client.…) intoSPAPI_CLIENT_IDand the client secret intoSPAPI_CLIENT_SECRET. - Authorize the app for your own account (Authorize app) and copy the refresh token (
Atzr|…) intoSPAPI_REFRESH_TOKEN. - Pick the region in
SPAPI_ENDPOINTand your Amazon Shipping country inAMAZON_SHIPPING_BUSINESS_ID. United States: North America. United Kingdom, France, Italy, Spain, India, United Arab Emirates, Saudi Arabia, Egypt: Europe. Japan: Far East.
The connector exchanges the refresh token at https://api.amazon.com/auth/o2/token for one-hour access tokens and sends them in the x-amz-access-token header; the x-amzn-shipping-business-id header carries the country. The variables have the same names as in the Amazon Seller Central connector, but the app must have the Amazon Logistics role: the credentials of a selling app without it answer 403.
Before the first real label: Amazon asks every new integration to produce a test label and have it signed off (Amazon Shipping Test Label Guide) and then confirms the first shipping date. Keep the purchase tools switched off until that is done.
Where to start: amazon_shipping_get_rates with the ship-from address, the destination and one package returns the services and prices; amazon_shipping_get_tracking follows a parcel by tracking id and carrier id.
Rates: amazon_shipping_get_rates needs for each package a packageClientReferenceId of your own, dimensions, weight, the insured value and at least one item. channel_details.channelType is EXTERNAL for orders from your own shop and AMAZON (with the Amazon order id) for Amazon orders. The answer carries a requestToken and one rateId per service; both are needed to buy and expire after 10 minutes. When a rate says requiresAdditionalInputs, read the schema with amazon_shipping_get_additional_inputs.
Tracking and documents: amazon_shipping_get_tracking returns the summary status and the event history; amazon_shipping_get_shipment_documents returns the label of a bought package again (base64) and needs the shipment id and your packageClientReferenceId. amazon_shipping_get_access_points finds lockers and counters near a postal code.
Collection forms: amazon_shipping_get_unmanifested_shipments shows what still waits for a manifest, amazon_shipping_get_collection_form_history and amazon_shipping_get_collection_form read earlier forms, and amazon_shipping_get_carrier_accounts lists linked carrier accounts. amazon_shipping_generate_collection_form closes out the open shipments of a carrier and is installed switched off.
Buying (switched off): amazon_shipping_purchase_shipment buys a rate, amazon_shipping_one_click_shipment buys by service id without a rate request, amazon_shipping_direct_purchase_shipment buys for an Amazon order with the service Amazon picks, and amazon_shipping_cancel_shipment cancels a bought shipment before handover. Each purchase is charged to the Amazon Shipping account. Pass an idempotency key and reuse it when retrying, so a timeout does not buy twice.
Formats: amounts are objects with value and unit (the currency); weights use GRAM, KILOGRAM, OUNCE or POUND and dimensions INCH or CENTIMETER; times are ISO 8601. Answers are wrapped in payload; failures come as errors, a list of code, message and details.
Limits: 80 calls per second with a burst of 100 on most operations; the response header x-amzn-RateLimit-Limit shows the limit applied. A 429 means wait and retry.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click Add, then Add custom MCP server.
- Enter a name, e.g. Name:
Amazon Shipping. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
amazon_shipping_get_rates | Get the Amazon Shipping service offerings and prices for a shipment. Returns payload.requestToken (needed to purchase, valid for 10… |
amazon_shipping_get_additional_inputs | Read the JSON schema of the extra information a rate needs before it can be bought. Call it when a rate of amazon_shipping_get_rates has… |
amazon_shipping_get_tracking | Track a parcel shipped with Amazon Shipping. Returns payload.summary.status (PreTransit, InTransit, OutForDelivery, Delivered… |
amazon_shipping_get_shipment_documents | Fetch the label and other documents of a package of a bought shipment again. Returns payload.shipmentId and… |
amazon_shipping_get_access_points | Find Amazon lockers and pickup counters near a postal code, to offer them as a delivery address. Returns payload.accessPointsMap, a map… |
amazon_shipping_get_unmanifested_shipments | List the carriers and pickup locations that still have bought shipments without a collection form (manifest). Returns… |
amazon_shipping_get_collection_form_history | List the collection forms (manifests) generated earlier. Returns collectionFormsHistoryRecordList with per form the collectionFormId… |
amazon_shipping_get_collection_form | Fetch a collection form (manifest) that was generated earlier, to print it again. Returns collectionsFormDocument with the file as… |
amazon_shipping_get_carrier_accounts | List the carrier accounts linked to your Amazon Shipping account. Returns activeAccounts with accountId and carrierId per account.… |
amazon_shipping_purchase_shipment | Buy a shipment from a rate of amazon_shipping_get_rates. Amazon charges the shipment to your account, so the tool is installed switched… |
amazon_shipping_direct_purchase_shipment | Buy a shipment for an Amazon order in one call, letting Amazon pick the best fitting service (no rate request first). Amazon charges the… |
amazon_shipping_one_click_shipment | Buy a shipment in one call by naming the service ids to choose from, without a rate request first. Amazon charges the shipment to your… |
amazon_shipping_cancel_shipment | Cancel a shipment that was bought but not yet handed to the carrier. It cannot be undone: the label becomes invalid. Returns an empty… |
amazon_shipping_generate_collection_form | Generate the collection form (manifest) for all bought shipments of a carrier at a ship-from address that have none yet. The shipments are… |
Example prompts
- "Compare Amazon Shipping rates for a 2 kg parcel from Manchester M1 1AE to London SW1A 1AA."
- "Track Amazon Shipping parcel QA0123456789 and tell me the last scan."
- "Find Amazon lockers near postcode EC1A 1BB."
- "Fetch the label of the shipment I bought this morning again."
- "Which shipments are not on a collection form yet?"
FAQ
Where do the credentials come from? From a private SP-API app with the Amazon Logistics role, created in Seller Central or, without a seller account, in the Amazon Solution Provider Portal. Copy the LWA client ID and secret, authorize the app for your own account to get the refresh token, and choose your region and Amazon Shipping country.
Which countries does it cover? The countries where Amazon Shipping runs: the United States, the United Kingdom, France, Italy, Spain, India, the United Arab Emirates, Saudi Arabia, Egypt and Japan. It is for parcels shipped with Amazon as the carrier, also for orders that do not come from Amazon.
Can it buy labels or cancel shipments? amazon_shipping_purchase_shipment, amazon_shipping_direct_purchase_shipment, amazon_shipping_one_click_shipment, amazon_shipping_cancel_shipment and amazon_shipping_generate_collection_form install switched off. Switch them on on the connector page only if the AI should use them.
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
Was this guide helpful?