---
title: "ShipBob MCP server for AI agents - actionlake"
description: "Give Claude 88 ShipBob actions through one MCP server: orders, products, inventory. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/shipbob
updated: 2026-10-23
---

Connectors · Commerce

# ShipBob MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ShipBob and the rest of your systems. It gives your agent 88 ShipBob actions (51 reads, 28 writes and 9 that wait for a confirmation) and holds the ShipBob credential itself, so the agent never does. It paces ShipBob's limits and records every call.

[Connect ShipBob free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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/mcp`

the first call

```
do {
  action: "shipbob.products.list",
  intent: "check which ShipBob account is connected"
}
# Get Products · read · 1 upstream call
```

- 88 actions in one signed file
- 51 read look, never change
- 28 write create and update
- 9 wait for a yes destructive, confirmed first

Set up

## Connect ShipBob in three steps.

1. 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`
2. 02
   ### Connect ShipBob.
   Bearer token. 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_token` ShipBob Personal Access Token: in the ShipBob dashboard (as the account's root user) go to Integrations > API Tokens…
   - `host` Where your ShipBob lives: your host
   ```
   account { op: "connections.requirements", service: "shipbob" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "shipbob.products.list" }
   # get products · read · 1 upstream call
   check { action: "shipbob.products.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

ShipBob at a glance

**Sign-in**

Bearer token. 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_token`

**Setup fields**

`host`

**Limits we pace to**

150 calls a minute, per connection

**API covered**

ShipBob Developer API 2026-07 (OpenAPI 3.0)`api.shipbob.com`

**Built from**

ShipBob's documentation, read 23 October 2026[marketplaceapi.shipbob.com](https://marketplaceapi.shipbob.com/docs/2026-07.json)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

51 of 51 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line ShipBob up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in ShipBob.

88 actions in 10 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **51** read look, never change
- **28** write create and update
- **9** destructive wait for a confirmation

1. ### Orders
   29
   15 read · 10 write · 4 destructive
   Get Orders · Get Order · Create Order · Get All Shipments for Order
2. ### Products
   17
   8 read · 8 write · 1 destructive
   Get Products · Get Product · Create Product · Update Product
3. ### Inventory
   13
   10 read · 2 write · 1 destructive
   Get All Inventory Levels · Get All Inventories · Get Inventory Levels · Get Inventory
4. ### Receiving
   13
   7 read · 5 write · 1 destructive
   Get Fulfillment Centers · Get Multiple Warehouse Receiving Orders · Get Warehouse Receiving Order Boxes · Get Unidentified Receiving Orders
5. ### Returns
   5
   2 read · 2 write · 1 destructive
   Get Return Orders · Get Return Order · Create Return Order · Edit Return Order
6. ### Billing
   4
   4 read · 0 write · 0 destructive
   Get Invoices · Get Transactions by Invoice ID · Get Transaction Fees · Search Transactions
7. ### Webhooks
   3
   1 read · 1 write · 1 destructive
   Get Subscriptions · Create Subscription · Delete Subscription
8. ### Tracking
   2
   2 read · 0 write · 0 destructive
   Get Tracking by Shipment Ids · Get Tracking by Tracking Ids

**2 more areas · 2 actions**

- Account **1**
- Locations **1**

Top actions

## The ShipBob API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 29 of ShipBob's 29 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `shipbob.products.list` Get Products | Get Products. | read | `commerce.product.list` 112 connectors |
| `shipbob.orders.list` Get Orders | Get Orders. | read | `commerce.order.list` 82 connectors |
| `shipbob.fulfillment_centers.list` Get Fulfillment Centers | Get Fulfillment Centers. | read | `commerce.warehouse.list` 32 connectors |
| `shipbob.channels.list` Get Channels | Get Channels. | read | `commerce.store.list` 17 connectors |
| `shipbob.products.get` Get Product | Get Product. | read | `commerce.product.get` 112 connectors |
| `shipbob.orders.get` Get Order | Get Order. | read | `commerce.order.get` 87 connectors |
| `shipbob.products.create` Create Product | Create Product. | write | `commerce.product.create` 92 connectors |
| `shipbob.orders.create` Create Order | Create Order. | write | `commerce.order.create` 67 connectors |
| `shipbob.products.update` Update Product | Update Product. | write | `commerce.product.update` 93 connectors |
| `shipbob.products.delete` Delete Product Bundle | Delete Product Bundle. | destructive | `commerce.product.delete` 80 connectors |
| `shipbob.order_shipments.list` Get All Shipments for Order | Get All Shipments for Order. | read | `commerce.shipment.list` 22 connectors |
| `shipbob.product_variants.list` Get Product Variants | Get Product Variants. | read | `commerce.product_variant.list` 16 connectors |

Try it

## Prompts to paste into Claude.

Each one names the ShipBob actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which ShipBob orders from the last seven days are still unfulfilled?
   calls `shipbob.orders.list`
2. Write write
   Create Product in ShipBob. Show me exactly what you will send before you save it.
   calls `shipbob.products.create`

Governance for ShipBob

## Destructive actions wait for a yes.

9 ShipBob actions are destructive. These are all of them:

- Delete Product Bundle `shipbob.products.delete`
- Cancel Order `shipbob.orders.cancel`
- Delete Subscription `shipbob.webhooks.delete`
- Cancel Shipment `shipbob.shipments.cancel`
- Cancel Return order `shipbob.returns.cancel`
- Delete Lot Exclusion `shipbob.lot_exclusions.delete`
- Cancel Shipment by Order ID and Shipment ID `shipbob.order_shipments.cancel`
- Batch Cancel Shipments `shipbob.shipments.batch_cancel`
- Cancel Warehouse Receiving Order `shipbob.receiving_orders.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.

do shipbob.products.delete confirm_policy: **human**

Delete Product Bundle?

**intent:** the user asked me to delete Product Bundle

run suspended · waiting for a named person · key _shipbob-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "shipbob-agent",
  allowed_actions: ["shipbob.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "shipbob.products.delete", approver: "lead@example.com" },
    { match: "shipbob.orders.cancel", approver: "lead@example.com" },
    { match: "shipbob.webhooks.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to ShipBob only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What ShipBob costs on actionlake.

Every ShipBob action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call ShipBob 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.

- 1 upstream call per action all 88 ShipBob actions
- 88 actions page each page of a long list is one call
- 51 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every ShipBob action.

88 actions by area: the id your agent calls, what it does, and its effect.

**Orders 29**

- `shipbob.cancelled_orders.list` Get Completely Cancelled Orders read
- `shipbob.order_shipments.cancel` Cancel Shipment by Order ID and Shipment ID destructive
- `shipbob.order_shipments.get` Get Shipment by Order ID and Shipment ID read
- `shipbob.order_shipments.list` Get All Shipments for Order read
- `shipbob.order_shipments.list_logs` Get Shipment Logs by Order ID and Shipment ID read
- `shipbob.order_shipments.list_timeline` Get Shipment Status Timeline by Order ID and Shipment ID read
- `shipbob.orders.cancel` Cancel Order destructive
- `shipbob.orders.create` Create Order write
- `shipbob.orders.estimate_delivery_date` Estimate Delivery Date read
- `shipbob.orders.estimate_fulfillment_cost` Estimate Fulfillment Cost For Order read
- `shipbob.orders.get` Get Order read
- `shipbob.orders.get_store_data` Get Order Store Data read
- `shipbob.orders.list` Get Orders read
- `shipbob.shipments.assign_fulfillment_center` Assign Fulfillment Center write
- `shipbob.shipments.batch_cancel` Batch Cancel Shipments destructive
- `shipbob.shipments.bulk_place_on_hold` Bulk Place Shipments On Hold write
- `shipbob.shipments.bulk_release_hold` Bulk Release Shipments From Hold write
- `shipbob.shipments.bulk_update_instructions` Bulk Update Instructions write
- `shipbob.shipments.bulk_update_shipping_service` Bulk Update Shipping Service write
- `shipbob.shipments.cancel` Cancel Shipment destructive
- `shipbob.shipments.get` Get Shipment read
- `shipbob.shipments.list_line_items` Get Shipment Line Items read
- `shipbob.shipments.list_logs` Get Shipment Logs read
- `shipbob.shipments.list_timeline` Get Shipment Timeline read
- `shipbob.shipments.mark_tracking_uploaded` Mark Tracking Uploaded write
- `shipbob.shipments.update_address` Update Shipment Address write
- `shipbob.shipments.update_line_items` Update Shipment Line Items write
- `shipbob.shipments.update_line_items_by_sku` Update Shipment Line Items by SKU write
- `shipbob.shipping_methods.list` Get Shipping Methods read

**Products 17**

- `shipbob.allergens.list` Get Allergens read
- `shipbob.packaging_requirements.list` Get Packaging Requirement read
- `shipbob.product_variants.create` Add Product Variants write
- `shipbob.product_variants.list` Get Product Variants read
- `shipbob.product_variants.update` Update Product Variants write
- `shipbob.products.create` Create Product write
- `shipbob.products.delete` Delete Product Bundle destructive
- `shipbob.products.get` Get Product read
- `shipbob.products.list` Get Products read
- `shipbob.products.move_variants` Move Variants Between Products write
- `shipbob.products.move_variants_to_new_product` Move Variants to New Product write
- `shipbob.products.update` Update Product write
- `shipbob.taxonomies.get` Get Taxonomy by ID read
- `shipbob.taxonomies.get_parent` Get Taxonomy Parent read
- `shipbob.taxonomies.list` Get Taxonomies read
- `shipbob.variants.convert_to_bundle` Convert Variant to Bundle write
- `shipbob.variants.merge` Merge Variants write

**Inventory 13**

- `shipbob.inventory.get` Get Inventory read
- `shipbob.inventory.list` Get All Inventories read
- `shipbob.inventory_history.query` Query Inventory History Events read
- `shipbob.inventory_levels.get` Get Inventory Levels read
- `shipbob.inventory_levels.get_by_location` Get Inventory Levels Grouped By Fulfillment Center read
- `shipbob.inventory_levels.get_by_lot` Get Inventory Levels Grouped By Lot read
- `shipbob.inventory_levels.list` Get All Inventory Levels read
- `shipbob.inventory_levels.list_by_location` Get All Inventory Levels Grouped By Fulfillment Center read
- `shipbob.inventory_levels.list_by_lot` Get All Inventory Levels Grouped By Lot read
- `shipbob.lot_exclusions.create` Create Lot Exclusion write
- `shipbob.lot_exclusions.delete` Delete Lot Exclusion destructive
- `shipbob.lot_exclusions.list` Get Lot Exclusions read
- `shipbob.lot_exclusions.restore` Restore Lot Exclusion write

**Receiving 13**

- `shipbob.fulfillment_centers.list` Get Fulfillment Centers read
- `shipbob.receiving_orders.cancel` Cancel Warehouse Receiving Order destructive
- `shipbob.receiving_orders.create` Create Warehouse Receiving Order write
- `shipbob.receiving_orders.get` Get Warehouse Receiving Order read
- `shipbob.receiving_orders.get_distributions` Get Inventory Distributions by WRO ID read
- `shipbob.receiving_orders.list` Get Multiple Warehouse Receiving Orders read
- `shipbob.receiving_orders.list_boxes` Get Warehouse Receiving Order Boxes read
- `shipbob.receiving_orders.set_external_sync` Set ExternalSync flag for Wros write
- `shipbob.receiving_orders.update` Update Warehouse Receiving Order write
- `shipbob.receiving_orders.update_tracking` Update box tracking for a Warehouse Receiving Order write
- `shipbob.unidentified_receiving_orders.associate_wro` Associate Unidentified Receiving Order with WRO write
- `shipbob.unidentified_receiving_orders.get` Get Unidentified Receiving Order read
- `shipbob.unidentified_receiving_orders.list` Get Unidentified Receiving Orders read

**Returns 5**

- `shipbob.returns.cancel` Cancel Return order destructive
- `shipbob.returns.create` Create Return Order write
- `shipbob.returns.get` Get Return Order read
- `shipbob.returns.list` Get Return Orders read
- `shipbob.returns.update` Edit Return Order write

**Billing 4**

- `shipbob.invoices.list` Get Invoices read
- `shipbob.invoices.list_transactions` Get Transactions by Invoice ID read
- `shipbob.transaction_fees.list` Get Transaction Fees read
- `shipbob.transactions.query` Search Transactions read

**Webhooks 3**

- `shipbob.webhooks.create` Create Subscription write
- `shipbob.webhooks.delete` Delete Subscription destructive
- `shipbob.webhooks.list` Get Subscriptions read

**Tracking 2**

- `shipbob.tracking.list_by_shipment_ids` Get Tracking by Shipment Ids read
- `shipbob.tracking.list_by_tracking_ids` Get Tracking by Tracking Ids read

**Account 1**

- `shipbob.channels.list` Get Channels read

**Locations 1**

- `shipbob.locations.list` Get Locations read

Questions

## The ShipBob MCP server, answered.

**Is there a ShipBob MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 88 ShipBob actions across orders, products, inventory and receiving, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ShipBob.

**What do I need to connect ShipBob?**

ShipBob Personal Access Token: in the ShipBob dashboard (as the account's root user) go to Integrations > API Tokens…. Plus your host. The free call account { op: "connections.requirements", service: "shipbob" } lists exactly what to paste.

**Can an AI agent delete or change things in ShipBob?**

Only if its key allows it, and only with an explicit confirmation. 9 ShipBob actions are destructive, including delete Product Bundle, cancel Order and delete Subscription. 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 ShipBob API limit?**

actionlake paces every call to the limits in the ShipBob service file: 150 calls a minute per connection. Repeated reads are answered from cache (51 ShipBob actions can be), which never reaches ShipBob.

**What does a ShipBob action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (88 ShipBob actions page). Cache hits, searches, dry runs and calls ShipBob 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 ShipBob API does it cover?**

The ShipBob Developer API 2026-07 (OpenAPI 3.0) at api.shipbob.com by default, or the base URL set when you connect. It is built from ShipBob's documentation as read on 23 October 2026. 88 actions in 10 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my ShipBob 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 ShipBob 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.

## More connectors like ShipBob

Shares the most action names with

- [ShipHero 17](https://actionlake.com/connectors/shiphero)
- [Mintsoft 16](https://actionlake.com/connectors/mintsoft)
- [AfterShip 15](https://actionlake.com/connectors/aftership)
- [Walmart Marketplace 15](https://actionlake.com/connectors/walmart-marketplace)
- [Squarespace Commerce 14](https://actionlake.com/connectors/squarespace-commerce)
- [Easyship 11](https://actionlake.com/connectors/easyship)

Joins with, on shared entities

- [Lightspeed Retail X-Series 4](https://actionlake.com/connectors/lightspeed-retail-x-series)
- [SAP Business One 3](https://actionlake.com/connectors/sap-business-one)
- [Odoo 3](https://actionlake.com/connectors/odoo)
- [ERPNext (Frappe) 3](https://actionlake.com/connectors/erpnext-frappe)
- [Square 3](https://actionlake.com/connectors/square)
- [Cin7 Core 3](https://actionlake.com/connectors/cin7-core)

Browse

- [All Commerce connectors](https://actionlake.com/connectors/category/commerce)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by ShipBob; the name is the vendor's own. Counts are from the ShipBob service file, version 1.0.0.

## Give your agent ShipBob today.

[Connect ShipBob free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/shipbob
More: https://actionlake.com/llms.txt
