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.
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
Your user grants Shippo access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
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
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.