How to connect Shippo to Hermes Agent
Connect Shippo to Hermes Agent, the AI assistant (not the Evri carrier): 95 tools from chat via hosted OAuth. No API token to manage, no MCP server to run.


Generate shipping labels, track packages, and manage fulfillment. Once connected, Hermes Agent can read and act on Shippo from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent Shippo access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Shippo setup: pair once in the browser and your always-on Hermes agent can act on Shippo for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.
Copy this prompt into Hermes to install the plugin and pair your account.
Set up ClawLink for Hermes and tell me when it's ready.
1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin
3. I'll approve it in my browser, then reply "approved".
4. When I say approved, finish setup:
hermes clawlink finish
5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.Setup
It takes three steps to connect Hermes to Shippo.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect Shippo
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with Shippo?"
The whole pairing handshake. Run these once, then approve Shippo in the dashboard:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin # approve the link in your browser
hermes clawlink finish
hermes clawlink testThere is no test-versus-live token choice here: the connection is hosted OAuth against your Shippo account, so what you can reach follows the account, not a token you picked.
Using a different agent?
The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:
npx -y @useclawlink/cli loginlogin opens the same browser approval and stores a credential locally. Once Shippo is connected in the dashboard, that agent calls the same 95 Shippo tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Shippo MCP for Hermes
Looking for a Shippo MCP server for Hermes Agent? ClawLink connects Shippo to Hermes Agent and exposes 95 Shippo tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Shippo integration works the same way.
First, the name. Hermes Agent is the AI assistant; Hermes the courier, now Evri, is a shipping company, and search engines answer the connect query with the courier unless the page says otherwise. With that clear: Shippo's normal setup is a test or live API token from the dashboard, and the search answers teach four DIY routes for agents, a partner OAuth app, a backend proxy, Platform Accounts, or Shippo's own MCP server. All of that is the work this page removes. You authorize with hosted OAuth once, pair Hermes with two commands, and 95 Shippo tools, including creating live rates, are callable from chat.
What the Hermes Agent Shippo integration can do
95 Shippo tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 95.
30 of 95 Shippo tools for Hermes
| Tool | What it does |
|---|---|
Create live rate shippo_create_live_rate | Generate live shipping rates from multiple carriers for a given shipment |
Get address shippo_get_address | Retrieve a previously created address from Shippo |
Get carrier account shippo_get_carrier_account | Retrieve a carrier account by its ID |
Get carrier parcel template shippo_get_carrier_parcel_template | Retrieve a specific carrier parcel template by its token |
Get carrier registration status shippo_get_carrier_registration_status | Retrieve carrier registration status from Shippo |
Get customs declaration shippo_get_customs_declaration | Retrieve a customs declaration by its ID |
Get customs item shippo_get_customs_item | Retrieve a customs item from Shippo |
Get default parcel template shippo_get_default_parcel_template | Retrieve the current default parcel template for live rates at checkout |
Get merchant shippo_get_merchant | Retrieve a merchant from the Shippo Platform API |
Get merchant address shippo_get_merchant_address | Retrieve a merchant address from Shippo Platform API |
Get merchant batch shippo_get_merchant_batch | Retrieve a batch for a merchant from the Shippo Platform API |
Get merchant carrier account shippo_get_merchant_carrier_account | Retrieve a carrier account for a merchant using the Shippo Platform API |
Get merchant carrier registration status shippo_get_merchant_carrier_registration_status | Retrieve carrier registration status for a specific merchant using Shippo's Platform API |
Get merchant customs declaration shippo_get_merchant_customs_declaration | Retrieve a specific customs declaration for a merchant using Shippo's Platform API |
Get merchant customs item shippo_get_merchant_customs_item | Retrieve a customs item for a merchant using the Shippo Platform API |
Get merchant manifest shippo_get_merchant_manifest | Retrieve a manifest for a merchant from the Shippo Platform API |
Get merchant order shippo_get_merchant_order | Retrieve an order for a merchant from the Shippo Platform API |
Get merchant parcel shippo_get_merchant_parcel | Retrieve a parcel for a merchant from the Shippo Platform API |
Get merchant rate shippo_get_merchant_rate | Retrieve a specific shipping rate for a merchant using the Shippo Platform API |
Get merchant refund shippo_get_merchant_refund | Retrieve a merchant refund from Shippo Platform API |
Get merchant shipment shippo_get_merchant_shipment | Retrieve a shipment for a merchant from the Shippo Platform API |
Get merchant track shippo_get_merchant_track | Retrieve tracking status for a merchant from Shippo Platform API |
Get merchant transaction shippo_get_merchant_transaction | Retrieve a shipping label transaction for a merchant from the Shippo Platform API |
Get order shippo_get_order | Retrieve an order from Shippo |
Get parcel shippo_get_parcel | Retrieve a parcel by its ID |
Get rate shippo_get_rate | Retrieve a specific shipping rate by its ID |
Get refund shippo_get_refund | Retrieve a refund by its ID from Shippo |
Get shipment shippo_get_shipment | Retrieve a shipment by its ID |
Get shippo account shippo_get_shippo_account | Retrieve a Shippo Account from the Shippo Platform API |
Get track shippo_get_track | Retrieve tracking status for a shipment from Shippo |
Try it: find the Shippo tool you need
Browse the 30 Shippo tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Call shippo_create_live_rate for <from address> to <to address> with parcel <id> and show me the cheapest three options with delivery estimates.
Pull shippo_get_track for <tracking number> and summarise the latest events in plain language, flagging anything that looks stuck.
Get the customs declaration <id> with shippo_get_customs_declaration and list the items missing a harmonized code or value.
Get shipment <id> with shippo_get_shipment and its rate with shippo_get_rate, then tell me which carrier and service were selected.
How the Shippo tools behave
Details that decide whether a Shippo prompt is a quick answer or a money-moving mistake.
- Live rates are the one create on the front page.
shippo_create_live_rateis a real quote call, and the natural first write to try before anything that spends funds. - Merchant-prefixed getters mirror the plain ones. There is
shippo_get_shipmentandshippo_get_merchant_shipment; both read, so let the agent match the tool to how the id was obtained. - Tracking is a tool.
shippo_get_trackturns a tracking number into a status summary without opening the Shippo UI. - Customs has its own surface. Declarations and items are separate tools, so a customs check is two calls, not one.
- Writes cost money. Creating a live rate is a quote; anything beyond it, a transaction or label, spends funds, so keep those prompts explicit and approved.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Shippo working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a Shippo app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Shippo through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Shippo. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| Agent usability | You still need to expose the right Shippo actions to the runtime in a format your agent can reliably use. | 95 tools for Shippo are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Shippo to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Shippo in the browser, and the 95 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use Shippo
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.
Connection succeeds but no tools appear
Reconnect Shippo from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.
"Tool schema not loaded yet" error when calling Shippo tools
Shippo tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Shippo call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.
Shippo returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.
Shippo returns 403 or "insufficient permissions"
The engines teach raw-API causes: a test-vs-live token mismatch, restricted carrier permissions, and a malformed Authorization: ShippoToken header. The hosted-flow equivalents: a carrier account that is not registered or activated on the connected Shippo account, an id that the connected account cannot see, or a placeholder value from documentation. There is no token to swap, so the fix is the account: check carrier registration status and the id before anything else.
Ask the agent to diagnose it:
Tell me which Shippo tool failed and quote the exact error. Then check the connected account's carrier registration status with shippo_get_carrier_registration_status and tell me what it reports. Do not retry the failed call yet.Shippo hits 429 or rate limits during a sweep
Shippo rate-limits per endpoint and publishes its own limits table, and an agent enumerating shipments, rates, and transactions one call at a time is exactly the traffic shape that meets them. The response is not to retry harder but to narrow the work: one shipment, one order, or a date-bounded set, and the agent telling you what it intends to enumerate before it starts.
Ask the agent to diagnose it:
Tell me how many Shippo calls you made in the last minute and what you were enumerating. Quote any rate-limit detail from the last response. Do not call Shippo again until I reply.'Tool not found' or Shippo tools missing
The taught fixes for this symptom are client-config fixes: pointing the client at the right MCP endpoint, restarting, forcing tool discovery. None apply to a hosted flow. The real causes: pairing incomplete, fixed by rerunning hermes clawlink begin and hermes clawlink finish and confirming Shippo shows as connected; schemas loading on demand, so the opening call in a fresh session can arrive before the catalog and needs one retry; and a wrong tool name, where the error lists the closest real ones.
Ask the agent to diagnose it:
List the Shippo tools you actually have access to. If there are none, say so plainly. If there are, tell me which one gets a shipment and use that exact name.OAuth finished in the browser but the account is still missing
Try reconnecting Shippo and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a Hermes Agent Shippo integration?
Yes. ClawLink is the fastest way to connect Hermes to Shippo: link your Shippo account once in the browser and Hermes Agent can call the Shippo API through 95 ready-made tools — no custom code or token handling.
How do I connect Shippo to Hermes with ClawLink?
Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Shippo in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.
How long does it take to connect Shippo to Hermes Agent?
About two minutes. Sign in, click Connect next to Shippo in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring Shippo up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Shippo working from chat.
Is this page about the Hermes courier?
No. This connects Hermes Agent, the AI assistant, to Shippo. The 'connect Shippo to Hermes' query that Google answers with carrier steps is a different intent, one answered entirely by Shippo's carrier docs, and this page does not compete with it. If you are wiring a parcel carrier into Shippo, that is Shippo's own setup flow, not this one.
Do I still need a Shippo API token?
No. The connection uses hosted OAuth, so there is no test-versus-live token choice and no token sitting in an environment file. The four DIY paths the engines teach, partner OAuth app, backend proxy, Platform Accounts, and Shippo's MCP server, are exactly the setups this removes: same Shippo API underneath, none of the plumbing on your side.
What can the agent do in Shippo?
Live rates, addresses, parcels, shipments, orders, tracking, refunds, customs declarations and items, carrier accounts and their registration status, merchant batch, manifests, and transactions. The read surface answers 'where is this shipment, what did it cost, what are the options'; the write to be deliberate about is creating live rates, since rates and anything beyond them spend real money.
Is it safe to let an agent buy labels?
The engines' answer is that Shippo with official MCP plus OAuth is safe, with the risks being financial exposure from unconstrained label buying and prompt injection. The practical rules: reads are free, anything that purchases a label or transaction should be explicit and approved, and treat shipment content as untrusted input. Revoke the connection from the dashboard when you want it gone.
What does the connection act as?
It acts as the Shippo account you authorized, with that account's carriers, addresses, and balances. A carrier that is not registered or activated on the account shows up as a permissions failure, not a missing feature, which is where the troubleshooting card below starts.
Hermes paired but still can't use Shippo
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.
Related
Hermes Cloudcart integration
CloudCart is an e-commerce platform that enables businesses to create and manage online stores efficiently.
Wix
Manage sites, products, orders, and bookings
Baselinker tools
BaseLinker is a comprehensive e-commerce management platform that integrates with various marketplaces, online stores, carriers, and accounting systems to streamline order processing, inventory management, and sales automation.