Shippo integrationShippo logo

Shippo integration for AI agents.

Shippo integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Shippo tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Shippo actions, managed and audited.

Your user connects Shippo once; your agent can then use Shippo to create addresses, parcels, shipments, rates, labels, tracking records, refunds, batches, manifests, carrier accounts, and webhooks — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Shippo access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Shippo tools.

70 tools are generated from the published Shippo catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 70 tools. All published catalog entries are included in this page's server-rendered HTML.

Add shipments to a batch
Adds batch shipments to an existing batch.
Batches
Create a new address
Creates a new address object. You can use address objects to create new shipments, calculate rates, and to create orders.
Addresses
Create a batch
Creates a new batch object for purchasing shipping labels for many shipments at once. Batches are created asynchronously. This means that the API response won't include your batch shipments yet. You need to retrieve the batch later to verify that all batch shipments are valid.
Batches
Create a new carrier account
Creates a new carrier account or connects an existing carrier account to the Shippo account.
Carrier Accounts
Create a new customs declaration
Creates a new customs declaration object
Customs Declarations
Create a new customs item
Creates a new customs item object.
Customs Items
Generate a live rates request
Initiates a live rates request. Include either the object ID for an existing address record or a fully formed address object when entering an address value. You can also enter the object ID of an existing user parcel template or a fully formed user parcel template object as the parcel value.
Rates at Checkout
Create a new manifest
Creates a new manifest object.
Manifests
Create a new order
Creates a new order object.
Orders
Create a new parcel
Creates a new parcel object.
Parcels
Create a pickup
Creates a pickup object. This request is for a carrier to come to a specified location to take a package for shipping.
Pickups
Create a refund
Creates a new refund object.
Refunds
Create a new service group
Creates a new service group.
Service Groups
Create a new shipment
Creates a new shipment object.
Shipments
Create a Shippo Account
Creates a new <a href="https://docs.goshippo.com/docs/platformaccounts/platform_using_accounts/">Shippo Managed Account</a>.
Shippo Accounts
Register a tracking webhook
Registers a webhook that will send HTTP notifications to you when the status of your tracked package changes. For more details on creating a webhook, see our guides on <a href="https://docs.goshippo.com/docs/tracking/webhooks/">Webhooks</a> and <a href="https://docs.goshippo.com/docs/tracking/tracking/">Tracking</a>.
Tracking Status
Create a shipping label
Creates a new transaction object and purchases the shipping label using a rate object that has previously been created. <br> OR <br> Creates a new transaction object and purchases the shipping label instantly using shipment details, an existing carrier account, and an existing service level token.
Transactions
Create a new user parcel template
Creates a new user parcel template. <br>You can choose to create a parcel template using a preset carrier template as a starting point, or you can create an entirely custom one. To use a preset carrier template, pass in a unique template token from <a href="/shippoapi/public-api/parcel-templates">this list</a> plus the weight fields (**weight** and **weight_unit**). Otherwise, omit the template field and pass the other fields, for the weight, length, height, and depth, as well as their units."
User Parcel Templates
Create a new webhook
Creates a new webhook to send notifications to a URL when a specific event occurs.
Webhooks
Clear current default parcel template
Clears the currently configured default parcel template for live rates.
Rates at Checkout
Delete a service group
Deletes an existing service group using an object ID.
Service Groups
Delete a user parcel template
Deletes a user parcel template using an object ID.
User Parcel Templates
Delete a specific webhook
Deletes a specific webhook using the webhook object ID.
Webhooks
Retrieve an address
Returns an existing address using an object ID.
Addresses
Retrieve a batch
Returns a batch using an object ID. <br> Batch shipments are displayed 100 at a time. You can iterate through each `page` using the `?page= query` parameter. You can also filter based on batch shipment status, for example, by passing a query param like `?object_results=creation_failed`. <br> For more details on filtering results, see our guide on <a href="https://docs.goshippo.com/docs/api_concepts/filtering/" target="blank"> filtering</a>.
Batches
Retrieve a carrier account
Returns an existing carrier account using an object ID.
Carrier Accounts
Retrieve a carrier parcel templates
Fetches the parcel template information for a specific carrier parcel template, identified by the token.
Carrier Parcel Templates
Get Carrier Registration status
Returns the registration status for the given account for the given carrier
Carrier Accounts
Retrieve a customs declaration
Returns an existing customs declaration using an object ID
Customs Declarations
Retrieve a customs item
Returns an existing customs item using an object ID
Customs Items
Show current default parcel template
Retrieve and display the currently configured default parcel template for live rates.
Rates at Checkout
Retrieve a manifest
Returns an existing manifest using an object ID.
Manifests
Retrieve an order
Retrieves an existing order using an object ID.
Orders
Retrieve an existing parcel
Returns parcel details using an existing parcel object ID (this will not return parcel details associated with un-purchased shipment/rate parcel object IDs).
Parcels
Retrieve a rate
Returns an existing rate using a rate object ID. Rates older than 390 days are not returned.
Rates
Retrieve a refund
Returns an existing rate using a rate object ID.
Refunds
Retrieve a shipment
Returns an existing shipment using an object ID. Shipment objects older than 390 days are not returned.
Shipments
Retrieve a Shippo Account
Returns a Shippo Managed Account using an object ID.
Shippo Accounts
Get a tracking status
Returns the tracking status of a shipment using a carrier name and a tracking number.
Tracking Status
Retrieve a shipping label
Returns an existing transaction using an object ID.
Transactions
Retrieves a user parcel template
Returns the parcel template information for a specific user parcel template, identified by the object ID.
User Parcel Templates
Retrieve a specific webhook
Returns the details of a specific webhook using the webhook object ID.
Webhooks
Connect an existing carrier account using OAuth 2.0
Used by client applications to setup or reconnect an existing carrier account with carriers that support OAuth 2.0
Carrier Accounts
List all addresses
Returns a list of all address objects that have been created in this account.
Addresses
List all carrier accounts
Returns a list of all carrier accounts connected to your Shippo account. These carrier accounts include both Shippo carrier accounts and your own carrier accounts that you have connected to your Shippo account. Additionally, you can get information about the service levels associated with each carrier account by passing in the `?service_levels=true` query parameter. <br> Using it appends the property `service_levels` to each carrier account. <br> By default, if the query parameter is omitted, the `service_levels` property will not be included in the response.
Carrier Accounts
List all carrier parcel templates
List all carrier parcel template objects. <br> Use the following query string params to filter the results as needed. <br> <ul> <li>`include=all` (the default). Includes templates from all carriers </li> <li>`include=user`. Includes templates only from carriers which the user has added (whether or not they're currently enabled) </li> <li>`include=enabled`. includes templates only for carriers which the user has added and enabled </li> <li>`carrier=*token*`. filter by specific carrier, e.g. fedex, usps </li> </ul>
Carrier Parcel Templates
List all customs declarations
Returns a list of all customs declaration objects
Customs Declarations
List all customs items
Returns a list all customs items objects.
Customs Items
List all manifests
Returns a list of all manifest objects.
Manifests
List all orders
Returns a list of all order objects.
Orders
List all parcels
Returns a list of all parcel objects.
Parcels
List all refunds
Returns a list all refund objects.
Refunds
List all service groups
Returns a list of service group objects.
Service Groups
Retrieve shipment rates
Returns a paginated list of rates associated with a shipment. Rates for shipments older than 390 days are not returned.
Rates
Retrieve shipment rates in currency
Returns all available shipping rates for a shipment object. When you create a new valid shipment object, Shippo automatically calculates all available rates. Depending on your shipment data, there may be none, one or multiple rates. By default, the calculated rates will return the price in two currencies under the `amount` and `amount_local` keys, respectively. The `amount` key will contain the price of a rate expressed in the currency that is used in the country from where the parcel originates, and the `amount_local` key will contain the price expressed in the currency that is used in the country the parcel is shipped to. You can request rates with prices expressed in a different currency by adding the currency code to the end of the resource URL. The full list of supported currencies along with their codes can be viewed on <a href="http://openexchangerates.org/api/currencies.json">open exchange rates</a>. Note: re-requesting the rates with a different currency code will re-queue the shipment (i.e. set the Shipment's `status` to `QUEUED`) and the converted currency rates will only be available when the Shipment's `status` is set to `SUCCESS`. Rates for shipments older than 390 days are not returned.
Rates
List all shipments
Returns a list of all shipment objects.<br><br> In order to filter results, you must use the below path parameters. Provided dates should be ISO 8601 UTC dates (timezone offsets are currently not supported).<br><br> Optional path parameters:<br> `object_created_gt`- object(s) created greater than a provided date time<br> `object_created_gte` - object(s) created greater than or equal to a provided date time<br> `object_created_lt` - object(s) created less than a provided date time<br> `object_created_lte` - object(s) created less than or equal to a provided date time<br> Date format examples:<br> `2017-01-01`<br> `2017-01-01T03:30:30` or `2017-01-01T03:30:30.5`<br> `2017-01-01T03:30:30Z`<br><br> Example URL:<br> `https://api.goshippo.com/shipments/?object_created_gte=2017-01-01T00:00:30&object_created_lt=2017-04-01T00:00:30`<br><br> Note: Shipment objects older than 390 days are not returned.
Shipments
List all Shippo Accounts
Returns a list of Shippo Managed Accounts objects.
Shippo Accounts
List all shipping labels
Returns a list of all transaction objects.
Transactions
List all user parcel templates
Returns a list all of all user parcel template objects.
User Parcel Templates
List all webhooks
Returns a list of all webhooks you have created.
Webhooks
Purchase a batch
Purchases an existing batch with a status of `VALID`. Once you send a POST request to the purchase endpoint the batch status will change to `PURCHASING`. When all the shipments are purchased, the status will change to `PURCHASED` and you will receive a `batch_purchased` webhook indicating that the batch has been purchased
Batches
Add a Shippo carrier account
Adds a Shippo carrier account
Carrier Accounts
Remove shipments from a batch
Removes shipments from an existing batch shipment.
Batches
Update a carrier account
Updates an existing carrier account object. The account_id and carrier can't be updated. This is because they form the unique identifier together.
Carrier Accounts
Update default parcel template
Update the currently configured default parcel template for live rates. The object_id in the request payload should identify the user parcel template to be the new default.
Rates at Checkout
Update an existing service group
Updates an existing service group object. <br>The object_id cannot be updated as it is the unique identifier for the object.
Service Groups
Update a Shippo Account
Updates a Shippo Managed Account using an object ID.
Shippo Accounts
Update an existing user parcel template
Updates an existing user parcel template.
User Parcel Templates
Update an existing webhook
Updates an existing webhook using the webhook object ID.
Webhooks
Validate an address
Validates an existing address using an object ID
Addresses
FAQ

Shippo integration, answered

How do AI agents use Shippo through Open Connector?
Your user connects Shippo once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Shippo tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Shippo MCP server?
Yes. Open Connector can serve Shippo as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Shippo actions with credentials injected server-side.
Where do Shippo credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Shippo — keep the keys.

Open source, self-hostable, with Shippo credentials that never leave your infrastructure. Run it from source today.