Shipengine for AI agents
ShipEngine is a shipping API that connects to multiple carriers to compare rates, generate labels, and validate addresses. Ecommerce platforms and fulfillment teams use it to automate shipping. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Shipengine.
Compare rates before booking
Pull bulk rates across connected carriers to pick the cheapest or fastest option before creating a label.
Cancel a shipment with confirmation
Cancel a shipment after confirming with the requester, since a cancelled label can't be reused.
Tag a shipment for tracking
Add a tag to a shipment so it can be filtered and tracked alongside similar orders.
66 Shipengine actions, graded by risk.
Every Shipengine action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
36Look things up. Allowed by default.
- shipengine.list_tags2List Tags (v2)
- shipengine.list_labels2List Labels (Extended)
- shipengine.list_pickupsList Scheduled Pickups
- shipengine.list_batches2List Batches (v2)
- shipengine.list_packagesList Packages
- shipengine.list_webhooksList Webhooks
- shipengine.get_bulk_ratesGet Bulk Rates
- shipengine.get_batch_by_idGet Batch by ID
- shipengine.list_manifests2List Manifests (Advanced)
- shipengine.list_shipments2List Shipments (v2)
- shipengine.list_warehousesList Warehouses
- shipengine.get_batch_errorsGet Batch Errors
- shipengine.get_package_by_idGet Package by ID
- shipengine.get_tracking_infoGet Tracking Information
- shipengine.get_webhook_by_idGet Webhook by ID
- shipengine.list_ltl_carriersList LTL Carriers
write
22Create and change things. Allow, or ask the user first.
- shipengine.create_tagCreate Tag
- shipengine.create_tag2Create Tag 2
- shipengine.add_to_batchAdd to Batch
- shipengine.create_webhookCreate Webhook
- shipengine.update_packageUpdate Package Type
- shipengine.update_webhookUpdate Webhook
- shipengine.update_shipmentUpdate Shipment
- shipengine.create_warehouseCreate Warehouse
- shipengine.update_warehouseUpdate Warehouse
- shipengine.add_tag_to_shipmentAdd Tag to Shipment
- shipengine.create_package_typeCreate Package Type
- shipengine.create_account_imageCreate Account Image
- shipengine.update_ltl_connectionUpdate LTL Connection
- shipengine.update_shipments_tagsUpdate Shipments Tags
- shipengine.update_account_image_by_idUpdate Account Image By ID
- shipengine.stop_trackingStop Tracking Package
destructive
8Delete, cancel or archive. Ask first, or deny outright.
- shipengine.delete_batchDelete Batch
- shipengine.delete_packageDelete Package
- shipengine.delete_webhookDelete Webhook
- shipengine.cancel_shipmentCancel Shipment
- shipengine.delete_warehouseDelete Warehouse
- shipengine.remove_from_batchRemove From Batch
- shipengine.remove_tag_from_shipmentRemove Tag from Shipment
- shipengine.delete_account_image_by_idDelete Account Image by ID
Shipengine in three steps.
- 01Your users connect ShipengineThey add their Shipengine api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create Tag” can wait for the user, and “delete Batch” can be denied outright.
- 03Any agent can actYour agent calls Shipengine through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('shipengine', { read: 'allow', write: 'ask', // create_tag destructive: 'deny', // delete_batch }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Shipengine connects.
Users add their Shipengine api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
The same Shipengine connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Shipengine from any agent.
Shipengine and Arc0, answered.
Can I use Shipengine with Claude, ChatGPT or Cursor?
Yes. Connect Shipengine to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Shipengine actions you allow.
How do users connect Shipengine?
Users add their Shipengine api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
Which Shipengine actions can my agent take?
66 in total: 36 read, 22 write and 8 destructive, such as “create Tag”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Shipengine?
Yes. Actions like “delete Batch” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Shipengine too?
Yes. The same Shipengine connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Shipengine into your agent.
Your users connect Shipengine once, under your brand. Your agent gets 66 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan