Connectors · Commerce
ShipStation MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ShipStation and the rest of your systems. It gives your agent 172 ShipStation actions (76 reads, 75 writes and 21 that wait for a confirmation) and holds the ShipStation credential itself, so the agent never does. It paces ShipStation's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "shipstation.products.list", intent: "check which ShipStation account is connected"}# List products · read · 1 upstream call- 172actionsin one signed file
- 76readlook, never change
- 75writecreate and update
- 21wait for a yesdestructive, confirmed first
Set up
Connect ShipStation in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect ShipStation.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyShipStation API v2 key: in ShipStation go to Settings > Account > API Settings, choose API v2 and generate a key…
account { op: "connections.requirements", service: "shipstation" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "shipstation.products.list" }# list products · read · 1 upstream callcheck { action: "shipstation.warehouses.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
ShipStation at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_key- Limits we pace to
- 200 calls a minute, per connection
- API covered
- ShipStation API v2 (2.0.0)
api.shipstation.com - Built from
- ShipStation's documentation, read 22 October 2026docs.shipstation.comdocs.shipstation.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 67 of 76 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 4, so ask can line ShipStation up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in ShipStation.
172 actions in 52 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 76readlook, never change
- 75writecreate and update
- 21destructivewait for a confirmation
Shipments
143 read · 10 write · 1 destructive
Create shipments · List shipments · Get shipment by ID · Update a shipment
Labels
124 read · 6 write · 2 destructive
Purchase label · List labels · Get label by ID · Void a label by ID
Batches
113 read · 7 write · 1 destructive
Create a batch · List batches · Process batch ID labels · Add to a batch
Purchase orders
72 read · 5 write · 0 destructive
Create a new purchase order · List purchase orders · Receive purchase order products · Get purchase order details
Warehouses
62 read · 3 write · 1 destructive
List warehouses · Create warehouse · Get warehouse by ID · Update warehouse by ID
Account images
52 read · 2 write · 1 destructive
Create an account image · List account images · Get account image by ID · Update account image by ID
Freight shipments
53 read · 1 write · 1 destructive
Book a freight shipment · List freight shipments · Get freight shipment by ID · Get freight shipment tracking
Inventory locations
52 read · 2 write · 1 destructive
Create a new inventory location · List all inventory locations · Get inventory location by ID · Update an inventory location
44 more areas · 107 actions
- Inventory warehouses 5
- Package types 5
- Products 5
- Tags 5
- Totes 5
- Webhooks 5
- Carriers 4
- Checkout rate options 4
- Freight provider accounts 4
- Label documents 4
- Pickups 4
- Rates 4
- Suppliers 4
- Checkout rate configs 3
- Mailing 3
- Manifests 3
- Shipment documents 3
- Shipment tags 3
- Tracking 3
- Carrier connections 2
- Carrier settings 2
- Fulfillments 2
- Inventory 2
- Rate shoppers 2
- Service points 2
- Account settings 1
- Addresses 1
- Batch errors 1
- Carrier options 1
- Carrier packages 1
- Carrier services 1
- Checkout rate quotes 1
- Checkout rates 1
- Combined label documents 1
- Delivery predictions 1
- Freight quotes 1
- Freight shipment documents 1
- Freight tracking 1
- Manifest requests 1
- Shipment labels 1
- Shipment rates 1
- Tokens 1
- Tote quantities 1
- Users 1
Top actions
The ShipStation API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 27 of ShipStation's 27 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
shipstation.products.listList products | List products. | read | commerce.product.list112 connectors |
shipstation.warehouses.listList warehouses | List warehouses. | read | commerce.warehouse.list32 connectors |
shipstation.users.listList users | List users. | read | identity.user.list474 connectors |
shipstation.products.getGet product | Get product. | read | commerce.product.get112 connectors |
shipstation.warehouses.createCreate warehouse | Create warehouse. | write | commerce.warehouse.create20 connectors |
shipstation.suppliers.listList suppliers | List suppliers. | read | asset.supplier.list41 connectors |
shipstation.warehouses.deleteDelete warehouse by ID | Delete warehouse by ID. | destructive | commerce.warehouse.delete16 connectors |
shipstation.shipments.createCreate shipments | Create shipments. | write | commerce.shipment.create28 connectors |
shipstation.shipments.listList shipments | List shipments. | read | commerce.shipment.list22 connectors |
shipstation.suppliers.createCreate a new supplier | Create a new supplier. | write | asset.supplier.create31 connectors |
shipstation.inventory.listList SKU inventory levels | List SKU inventory levels. | read | commerce.inventory_level.list11 connectors |
shipstation.webhooks.createCreate a webhook | Create a webhook. | write | automation.webhook.create209 connectors |
Try it
Prompts to paste into Claude.
Each one names the ShipStation actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which ShipStation products have no price or are out of stock?
calls
shipstation.products.list - Writewrite
Create warehouse in ShipStation. Show me exactly what you will send before you save it.
calls
shipstation.warehouses.create
Governance for ShipStation
Destructive actions wait for a yes.
21 ShipStation actions are destructive. These are all of them:
- Delete warehouse by ID
shipstation.warehouses.delete - Delete webhook by ID
shipstation.webhooks.delete - Cancel a shipment
shipstation.shipments.cancel - Void a label by ID
shipstation.labels.void - Add funds to carrier
shipstation.carriers.add_funds - Delete tag
shipstation.tags.delete - Delete tote
shipstation.totes.delete - Delete batch by ID
shipstation.batches.delete - Disconnect carrier by ID
shipstation.carriers.disconnect - Delete a custom package by ID
shipstation.package_types.delete - Delete account image by ID
shipstation.account_images.delete - Delete a label document
shipstation.label_documents.delete - Delete a shipment document
shipstation.shipment_documents.delete - Delete an inventory location
shipstation.inventory_locations.delete - Delete an inventory warehouse
shipstation.inventory_warehouses.delete - Delete a delivery option
shipstation.checkout_rate_options.delete - Disconnect a carrier
shipstation.carrier_connections.disconnect - Disconnect a freight provider account
shipstation.freight_provider_accounts.disconnect - Delete a scheduled pickup
shipstation.pickups.cancel - Cancel a label refund request
shipstation.labels.cancel_refund - Cancel a freight shipment
shipstation.freight_shipments.cancel
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete warehouse by ID?
intent: the user asked me to delete warehouse by ID
account { op: "keys.create", name: "shipstation-agent", allowed_actions: ["shipstation.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "shipstation.warehouses.delete", approver: "[email protected]" }, { match: "shipstation.webhooks.delete", approver: "[email protected]" }, { match: "shipstation.shipments.cancel", approver: "[email protected]" } ]}Cost
What ShipStation costs on actionlake.
Every ShipStation action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call ShipStation refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 172 ShipStation actions
- 172actions pageeach page of a long list is one call
- 67reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every ShipStation action.
172 actions by area: the id your agent calls, what it does, and its effect.
Shipments14
shipstation.shipments.assign_userAssign user to shipmentswriteshipstation.shipments.cancelCancel a shipmentdestructiveshipstation.shipments.createCreate shipmentswriteshipstation.shipments.getGet shipment by IDreadshipstation.shipments.get_by_external_idGet shipment by external idreadshipstation.shipments.holdHold a shipmentwriteshipstation.shipments.hold_manyHold shipmentswriteshipstation.shipments.listList shipmentsreadshipstation.shipments.mergeMerge shipmentswriteshipstation.shipments.restoreRestore a shipmentwriteshipstation.shipments.restore_manyRestore shipmentswriteshipstation.shipments.splitSplit a shipmentwriteshipstation.shipments.updateUpdate a shipmentwriteshipstation.shipments.update_internal_notesUpdate internal notes for a shipmentwrite
Labels12
shipstation.labels.cancel_refundCancel a label refund requestdestructiveshipstation.labels.createPurchase labelwriteshipstation.labels.create_from_ratePurchase label with rate idwriteshipstation.labels.create_from_rate_shopperPurchase label with rate shopperwriteshipstation.labels.create_from_shipmentPurchase label with shipment idwriteshipstation.labels.create_from_shipping_rulePurchase label with shipping rulewriteshipstation.labels.create_returnCreate a return labelwriteshipstation.labels.getGet label by IDreadshipstation.labels.get_by_external_shipment_idGet label by external shipment IDreadshipstation.labels.listList labelsreadshipstation.labels.trackGet label tracking informationreadshipstation.labels.voidVoid a label by IDdestructive
Batches11
shipstation.batches.add_itemsAdd to a batchwriteshipstation.batches.assign_userAssign user to a batchwriteshipstation.batches.createCreate a batchwriteshipstation.batches.deleteDelete batch by IDdestructiveshipstation.batches.getGet batch by IDreadshipstation.batches.get_by_external_idGet batch by external idreadshipstation.batches.listList batchesreadshipstation.batches.process_labelsProcess batch ID labelswriteshipstation.batches.remove_itemsRemove from batchwriteshipstation.batches.unassign_userUnassign user from a batchwriteshipstation.batches.updateUpdate batch status to 'archived' by IDwrite
Purchase orders7
shipstation.purchase_orders.createCreate a new purchase orderwriteshipstation.purchase_orders.getGet purchase order detailsreadshipstation.purchase_orders.listList purchase ordersreadshipstation.purchase_orders.receiveReceive purchase order productswriteshipstation.purchase_orders.updateUpdate a purchase orderwriteshipstation.purchase_orders.update_shipping_detailsUpdate purchase order shipping detailswriteshipstation.purchase_orders.update_statusUpdate purchase order statuswrite
Warehouses6
shipstation.warehouses.createCreate warehousewriteshipstation.warehouses.deleteDelete warehouse by IDdestructiveshipstation.warehouses.getGet warehouse by IDreadshipstation.warehouses.listList warehousesreadshipstation.warehouses.updateUpdate warehouse by IDwriteshipstation.warehouses.update_settingsUpdate warehouse settingswrite
Account images5
shipstation.account_images.createCreate an account imagewriteshipstation.account_images.deleteDelete account image by IDdestructiveshipstation.account_images.getGet account image by IDreadshipstation.account_images.listList account imagesreadshipstation.account_images.updateUpdate account image by IDwrite
Freight shipments5
shipstation.freight_shipments.bookBook a freight shipmentwriteshipstation.freight_shipments.cancelCancel a freight shipmentdestructiveshipstation.freight_shipments.getGet freight shipment by IDreadshipstation.freight_shipments.get_trackingGet freight shipment trackingreadshipstation.freight_shipments.listList freight shipmentsread
Inventory locations5
shipstation.inventory_locations.createCreate a new inventory locationwriteshipstation.inventory_locations.deleteDelete an inventory locationdestructiveshipstation.inventory_locations.getGet inventory location by IDreadshipstation.inventory_locations.listList all inventory locationsreadshipstation.inventory_locations.updateUpdate an inventory locationwrite
Inventory warehouses5
shipstation.inventory_warehouses.createCreate a new inventory warehousewriteshipstation.inventory_warehouses.deleteDelete an inventory warehousedestructiveshipstation.inventory_warehouses.getGet a specific inventory warehouse and related properties using its warehouse IDreadshipstation.inventory_warehouses.listList all inventory warehousesreadshipstation.inventory_warehouses.updateUpdate an inventory warehouse namewrite
Package types5
shipstation.package_types.createCreate custom package typewriteshipstation.package_types.deleteDelete a custom package by IDdestructiveshipstation.package_types.getGet custom package type by IDreadshipstation.package_types.listList custom package typesreadshipstation.package_types.updateUpdate custom package type by IDwrite
Products5
shipstation.products.createCreate productswriteshipstation.products.deactivateDeactivate productswriteshipstation.products.getGet productreadshipstation.products.listList productsreadshipstation.products.updateUpdate productwrite
Tags5
shipstation.tags.createCreate a new tagwriteshipstation.tags.create_by_nameCreate a new tagwriteshipstation.tags.deleteDelete tagdestructiveshipstation.tags.listGet tagsreadshipstation.tags.renameUpdate tag namewrite
Totes5
shipstation.totes.create_batchCreate totes in batchwriteshipstation.totes.deleteDelete totedestructiveshipstation.totes.getGet tote by IDreadshipstation.totes.listList totesreadshipstation.totes.updateUpdate totewrite
Webhooks5
shipstation.webhooks.createCreate a webhookwriteshipstation.webhooks.deleteDelete webhook by IDdestructiveshipstation.webhooks.getGet webhook by IDreadshipstation.webhooks.listList webhooksreadshipstation.webhooks.updateUpdate a webhookwrite
Carriers4
shipstation.carriers.add_fundsAdd funds to carrierdestructiveshipstation.carriers.disconnectDisconnect carrier by IDdestructiveshipstation.carriers.getGet carrier by IDreadshipstation.carriers.listList carriersread
Checkout rate options4
shipstation.checkout_rate_options.createAdd a delivery optionwriteshipstation.checkout_rate_options.deleteDelete a delivery optiondestructiveshipstation.checkout_rate_options.getGet a delivery optionreadshipstation.checkout_rate_options.updateUpdate a delivery optionwrite
Freight provider accounts4
shipstation.freight_provider_accounts.connectConnect a freight provider accountwriteshipstation.freight_provider_accounts.disconnectDisconnect a freight provider accountdestructiveshipstation.freight_provider_accounts.listList freight provider accountsreadshipstation.freight_provider_accounts.update_credentialsUpdate freight provider account credentialswrite
Label documents4
shipstation.label_documents.deleteDelete a label documentdestructiveshipstation.label_documents.listList documents for a labelreadshipstation.label_documents.registerRegister a document for a labelwriteshipstation.label_documents.sendSend label documentswrite
Pickups4
shipstation.pickups.cancelDelete a scheduled pickupdestructiveshipstation.pickups.getGet pickup by IDreadshipstation.pickups.listList scheduled pickupsreadshipstation.pickups.scheduleSchedule a pickupwrite
Rates4
shipstation.rates.calculateGet shipping ratesreadshipstation.rates.compare_bulkGet bulk ratesreadshipstation.rates.estimateEstimate ratesreadshipstation.rates.getGet rate by IDread
Suppliers4
shipstation.suppliers.createCreate a new supplierwriteshipstation.suppliers.getGet supplier detailsreadshipstation.suppliers.listList suppliersreadshipstation.suppliers.updateUpdate a supplierwrite
Checkout rate configs3
shipstation.checkout_rate_configs.createCreate a checkout rates configurationwriteshipstation.checkout_rate_configs.getGet a checkout rates configurationreadshipstation.checkout_rate_configs.listList checkout rates configurationsread
Mailing3
shipstation.mailing.create_envelopeCreate envelopewriteshipstation.mailing.create_mail_labelsCreate mailing labelswriteshipstation.mailing.create_netstampsCreate netstampswrite
Manifests3
shipstation.manifests.createCreate manifestwriteshipstation.manifests.getGet manifest by IDreadshipstation.manifests.listList manifestsread
Shipment documents3
shipstation.shipment_documents.deleteDelete a shipment documentdestructiveshipstation.shipment_documents.listList documents for a shipmentreadshipstation.shipment_documents.registerRegister a document for a shipmentwrite
Shipment tags3
shipstation.shipment_tags.addAdd tag to shipmentwriteshipstation.shipment_tags.listGet shipment tagsreadshipstation.shipment_tags.removeRemove tag from shipmentwrite
Tracking3
shipstation.tracking.getGet tracking informationreadshipstation.tracking.startStart tracking a packagewriteshipstation.tracking.stopStop tracking a packagewrite
Carrier connections2
shipstation.carrier_connections.connectConnect a carrier accountwriteshipstation.carrier_connections.disconnectDisconnect a carrierdestructive
Carrier settings2
shipstation.carrier_settings.getGet carrier settingsreadshipstation.carrier_settings.updateUpdate carrier settingswrite
Fulfillments2
shipstation.fulfillments.createCreate fulfillmentswriteshipstation.fulfillments.listList fulfillmentsread
Inventory2
shipstation.inventory.adjustUpdate SKU stock levels and related propertieswriteshipstation.inventory.listList SKU inventory levelsread
Rate shoppers2
shipstation.rate_shoppers.getGet rate shopper by IDreadshipstation.rate_shoppers.listList rate shoppersread
Service points2
shipstation.service_points.getGet service point by IDreadshipstation.service_points.listList service pointsread
Account settings1
shipstation.account_settings.getList account settingsread
Addresses1
shipstation.addresses.validateValidate an addressread
Batch errors1
shipstation.batch_errors.listGet batch errorsread
Carrier options1
shipstation.carrier_options.listGet carrier optionsread
Carrier packages1
shipstation.carrier_packages.listList carrier package typesread
Carrier services1
shipstation.carrier_services.listList carrier servicesread
Checkout rate quotes1
shipstation.checkout_rate_quotes.getGet a checkout rate quoteread
Checkout rates1
shipstation.checkout_rates.calculateCalculate checkout ratesread
Combined label documents1
shipstation.combined_label_documents.createCreated combined label documentwrite
Delivery predictions1
shipstation.delivery_predictions.getPredict delivery datesread
Freight quotes1
shipstation.freight_quotes.getGet freight quotesread
Freight shipment documents1
shipstation.freight_shipment_documents.listList freight shipment documentsread
Freight tracking1
shipstation.freight_tracking.getGet freight tracking by numberread
Manifest requests1
shipstation.manifest_requests.getGet manifest request by IDread
Shipment labels1
shipstation.shipment_labels.listList shipments and their document statusesread
Shipment rates1
shipstation.shipment_rates.listGet shipment ratesread
Tokens1
shipstation.tokens.create_ephemeralGet ephemeral tokenwrite
Tote quantities1
shipstation.tote_quantities.listGet tote quantitiesread
Users1
shipstation.users.listList usersread
Questions
The ShipStation MCP server, answered.
Is there a ShipStation MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 172 ShipStation actions across shipments, labels, batches and purchase orders, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ShipStation.
What do I need to connect ShipStation?
ShipStation API v2 key: in ShipStation go to Settings > Account > API Settings, choose API v2 and generate a key…. The free call account { op: "connections.requirements", service: "shipstation" } lists exactly what to paste.
Can an AI agent delete or change things in ShipStation?
Only if its key allows it, and only with an explicit confirmation. 21 ShipStation actions are destructive, including delete warehouse by ID, delete webhook by ID and cancel a shipment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my ShipStation API limit?
actionlake paces every call to the limits in the ShipStation service file: 200 calls a minute per connection. Repeated reads are answered from cache (67 ShipStation actions can be), which never reaches ShipStation.
What does a ShipStation action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (172 ShipStation actions page). Cache hits, searches, dry runs and calls ShipStation refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which ShipStation API does it cover?
The ShipStation API v2 (2.0.0) at api.shipstation.com. It is built from ShipStation's documentation as read on 22 October 2026. 172 actions in 52 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my ShipStation data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your ShipStation credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent ShipStation today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.