Claim this agent
agentCLAWHUBUnverified

Shippo

A shipping and logistics skill for Shippo. Get multi-carrier rates (USPS, UPS, FedEx, DHL, 30+), buy domestic and international labels with customs, validate... Skill: Shippo Owner: shippo Summary: A shipping and logistics skill for Shippo. Get multi-carrier rates (USPS, UPS, FedEx, DHL, 30+), buy domestic and international labels with customs, validate... Tags: latest:1.4.4 Version history: v1.4.4 | 2026-07-15T21:42:15.167Z | user Release 1.4.4: hosted OAuth MCP (mcp.shippo.com), 4-tool meta-API with PascalCase operation names. v1.4.3 | 2026-07-15T17:24:21.774Z | user Relea

OpenClaw

Rank

62

Safety

84

Downloads

2.2k

Updated

Oct 9, 2026

Version

1.4.4

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 2.2K downloads reported by the source. Last updated 10/9/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
2.2K downloadsadoption · observed Oct 9, 2026
Latest release
1.4.4release · observed Jul 15, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17eaz4habs7hps35gasgwsn7584y6v3:shippo
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-shippo-shippo/snapshot"

Documentation

CLAWHUB

146,525 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: shippo
description: "A shipping and logistics skill for Shippo. Get multi-carrier rates (USPS, UPS, FedEx, DHL, 30+), buy domestic and international labels with customs, validate addresses, track packages with webhooks, and run bulk CSV batches, plus cost analysis, integration routing, and SDK-upgrade help. Runs through Shippo's hosted MCP with per-user OAuth (sign in once, nothing to copy or store). Uses Shippo's discounted carrier rates."
version: 1.4.4
license: MIT
metadata:
  openclaw:
    emoji: "📦"
    homepage: https://github.com/goshippo/ai
---

# Shippo Shipping Skill

## Setup

**MCP server:** Shippo's hosted MCP at `https://mcp.shippo.com`, with per-user Shippo OAuth. You authorize once through Shippo on first use, with nothing to copy or configure, and the client refreshes the token automatically.

Point your MCP client at the hosted server:

```json
{
  "mcpServers": {
    "shippo": {
      "type": "http",
      "url": "https://mcp.shippo.com"
    }
  }
}
```

On first use, your client runs the Shippo OAuth sign-in (in OpenClaw, `openclaw mcp login shippo`; in Claude Code, `/mcp`). No local Node process and nothing to store.

**Prerequisites:** A Shippo account and at least one carrier account (Shippo provides managed accounts for USPS, UPS, FedEx, DHL Express by default). See `references/tool-reference.md` for the full tool catalog.

**Purchases are live:** label purchases charge the authorized Shippo account for real. Confirm carrier, service, and cost with the user before any purchase.

**Response envelope:** The MCP wraps most API responses in a Speakeasy envelope shaped like `{"ContentType": "application/json", "StatusCode": <code>, "RawResponse": {}, "<PayloadName>": {...actual response...}}`. The payload field is named after the response schema on success (e.g. `ParsedAddress`, `AddressPaginatedList`, `AddressValidationResultV2`, `AddressWithMetadataResponse`, `Shipment`, `CarrierAccountPaginatedList`) and after the HTTP status code on some errors (e.g. `fourHundredAndNineApplicationJsonObject` for a 409, the body may be `{}`). To extract the payload, find the field whose key is not `ContentType`, `StatusCode`, or `RawResponse`, and branch on `StatusCode` for success vs error.

**Non-envelope errors:** Some failures bypass the envelope entirely and surface as an MCP-level error instead, the tool response has `isError: true` with a single text block containing a plaintext message like `Unexpected API response status or content-type: Status 404 Content-Type application/json Body: {"detail":"Not found."}`. Argument-validation failures come back as JSON-RPC error code `-32602`. Handle both paths when reporting errors to the user.

---

## Best Practices

Latest Shippo API version: **2018-02-08**. Send via the `Shippo-API-Version` header.

### Using the Shippo MCP

The hosted Shippo MCP at `https://mcp.shippo.com` exposes exactly **4 tools** (a meta-API), not the underlying operations directly:

- `shippo_list_tools`: di

_meta.json

{
  "ownerId": "kn770w02ykf4ca0bj09cfcw2n1835r4y",
  "slug": "shippo",
  "version": "1.4.4",
  "publishedAt": 1784151735167
}

references/carrier-guide.md

<!--
  ⚠️  DO NOT EDIT, auto-generated from skills/shippo/references/carrier-guide.md by scripts/build-clawhub-bundle.js
  Edits here will be overwritten on the next sync.
  To change this content, edit the canonical source and re-run the sync script.
-->

# Carrier Guide

Per-carrier nuances, requirements, and gotchas for the major carriers supported by Shippo.

---

## USPS

### Setup
- A **managed USPS account** is available by default on all Shippo accounts. No additional configuration needed.
- Carrier token: `usps`

### Key Details
- **HS codes required** for ALL international commercial shipments as of September 2025. Minimum 6 digits.
- **No DDP support.** USPS always ships DDU (recipient pays duties/taxes). Do not set `incoterm` to `DDP` for USPS.
- **Flat-rate options** available via parcel templates (e.g., `USPS_FlatRateEnvelope`, `USPS_SmallFlatRateBox`, `USPS_MediumFlatRateBox1`, `USPS_LargeFlatRateBox`). When using flat rate, parcel dimensions are ignored -- only weight matters for eligibility.
- **EEL/PFC required** for international shipments. USPS will warn/reject if `eel_pfc` is missing on customs declarations.
- **Tracking number format:** 20-22 digits, or starts with `9` followed by 20+ digits (e.g., `9400111899223100001234`).
- **Max weight:** 70 lbs domestic, 66 lbs international (varies by destination).
- **Signature confirmation:** Available via `extra.signature_confirmation` (`STANDARD`, `ADULT`). Not available on all service levels.

### Common Service Levels
| Token | Name |
|---|---|
| `usps_priority` | Priority Mail |
| `usps_priority_express` | Priority Mail Express |
| `usps_ground_advantage` | Ground Advantage |
| `usps_first` | First-Class Mail |
| `usps_media_mail` | Media Mail |

---

## UPS

### Setup
- **Requires Terms & Conditions acceptance** via the Shippo web app before API use. If the user gets auth errors for UPS, direct them to accept T&C in the Shippo dashboard.
- Carrier token: `ups`

### Key Details
- **Supports DDP** (Delivered Duty Paid). Set `incoterm` to `DDP` on the customs declaration.
- **Signature confirmation options:** `STANDARD`, `ADULT`, `CERTIFIED`, `INDIRECT`
- **Tracking number format:** Starts with `1Z` followed by 16 alphanumeric characters (e.g., `1Z999AA10123456784`).
- **Residential surcharge** applies automatically when the destination is residential. Shippo flags residential addresses during validation.
- **Saturday delivery** available for select services via `extra.saturday_delivery = true`.
- **Max weight:** 150 lbs per package.

### Common Service Levels
| Token | Name |
|---|---|
| `ups_ground` | UPS Ground |
| `ups_next_day_air` | UPS Next Day Air |
| `ups_2nd_day_air` | UPS 2nd Day Air |
| `ups_3_day_select` | UPS 3 Day Select |
| `ups_express` | UPS Worldwide Express |
| `ups_expedited` | UPS Worldwide Expedited |

---

## FedEx

### Setup
- Carrier token: `fedex`
- Requires a FedEx account connected via the Shippo dashboard.

### Key Details
- **Supports DDP** via `duti

references/csv-format.md

<!--
  ⚠️  DO NOT EDIT, auto-generated from skills/shippo/references/csv-format.md by scripts/build-clawhub-bundle.js
  Edits here will be overwritten on the next sync.
  To change this content, edit the canonical source and re-run the sync script.
-->

# CSV Batch Format Specification

This document defines the CSV column format for batch shipment processing.

---

## Required Columns

Every row must have non-empty values for all required columns. Rows missing required values should be skipped and reported to the user.

| Column | Description | Example |
|---|---|---|
| `shipment_id` | Unique identifier for the row (user's reference) | `ORD-001` |
| `sender_name` | Sender full name | `Jane Smith` |
| `sender_street1` | Sender street address | `731 Market St` |
| `sender_city` | Sender city | `San Francisco` |
| `sender_state` | Sender state/province | `CA` |
| `sender_zip` | Sender postal code | `94103` |
| `sender_country` | Sender country (ISO 3166-1 alpha-2) | `US` |
| `sender_email` | Sender email (column required; value may be empty for domestic rows but must be non-empty for international) | `[email protected]` |
| `sender_phone` | Sender phone (column required; value may be empty for domestic rows but must be non-empty for international) | `+1-555-123-4567` |
| `recipient_name` | Recipient full name | `John Doe` |
| `recipient_street1` | Recipient street address | `456 Oak Ave` |
| `recipient_city` | Recipient city | `Portland` |
| `recipient_state` | Recipient state/province | `OR` |
| `recipient_zip` | Recipient postal code | `97201` |
| `recipient_country` | Recipient country (ISO 3166-1 alpha-2) | `US` |
| `package_length` | Parcel length (as a number) | `12` |
| `package_width` | Parcel width (as a number) | `8` |
| `package_height` | Parcel height (as a number) | `6` |
| `package_weight` | Parcel weight (as a number) | `2.5` |
| `weight_unit` | Mass unit: `lb`, `kg`, `g`, or `oz` | `lb` |
| `distance_unit` | Dimension unit: `in`, `cm`, `ft`, `m`, `mm`, or `yd` | `in` |

---

## Optional Columns

When these columns are absent or empty for a row, omit the corresponding fields from the API call. Do not send empty strings.

| Column | Description | Example |
|---|---|---|
| `recipient_email` | Recipient email address | `[email protected]` |
| `recipient_phone` | Recipient phone number | `+1-555-987-6543` |
| `sender_street2` | Sender address line 2 (apt, suite) | `Suite 200` |
| `recipient_street2` | Recipient address line 2 (apt, suite) | `Apt 4B` |
| `package_description` | Item description (used for customs) | `Cotton t-shirts` |
| `declared_value` | Declared value (used for customs/insurance) | `45.00` |
| `customs_contents_type` | Customs contents type per row | `MERCHANDISE` |
| `metadata` | Free-form reference or order number | `PO-20240115` |

---

## Sample CSV

```csv
shipment_id,sender_name,sender_street1,sender_city,sender_state,sender_zip,sender_country,sender_email,sender_phone,recipient_name,recipient_street1,recipient_city

references/customs-guide.md

<!--
  ⚠️  DO NOT EDIT, auto-generated from skills/shippo/references/customs-guide.md by scripts/build-clawhub-bundle.js
  Edits here will be overwritten on the next sync.
  To change this content, edit the canonical source and re-run the sync script.
-->

# Customs Declaration Guide

This document covers creating customs declarations for international shipments. A customs declaration is required whenever sender and recipient are in different countries.

---

## Overview: Two-Step Process

International labels require customs documentation before the shipment can be created:

1. **Create customs items** -- one per distinct product in the shipment.
2. **Create the customs declaration** -- references the items and contains certifications.
3. **Attach the declaration** to the shipment via the `customs_declaration` field.

---

## Step 1: Create Customs Items

Call `CreateCustomsItem` once per distinct item type in the shipment.

### Required Fields

| Field | Type | Description |
|---|---|---|
| `description` | string | Plain-language description of the item (e.g., "cotton t-shirt") |
| `quantity` | integer | Number of units |
| `net_weight` | string | Weight per unit (as a string, e.g., "0.5") |
| `mass_unit` | string | One of: `g`, `kg`, `lb`, `oz` |
| `value_amount` | string | Declared monetary value per unit (as a string, e.g., "25.00") |
| `value_currency` | string | ISO 4217 currency code (e.g., `USD`, `EUR`, `GBP`) |
| `origin_country` | string | ISO 3166-1 alpha-2 country code where the item was manufactured (e.g., `US`, `CN`) |

### Optional Fields

| Field | Type | Description |
|---|---|---|
| `tariff_number` | string | HS/HTS harmonized tariff code (6-10 digits). Required by most carriers. Ask the user if not provided. |
| `sku_code` | string | SKU or product code |
| ` eccn_ear99` | string | Export Control Classification Number |
| `metadata` | string | Free-form metadata |

### Example

```json
{
  "description": "Cotton t-shirt, blue, size M",
  "quantity": 3,
  "net_weight": "0.3",
  "mass_unit": "lb",
  "value_amount": "15.00",
  "value_currency": "USD",
  "origin_country": "US",
  "tariff_number": "6109100012"
}
```

### HS / Tariff Codes

HS (Harmonized System) codes classify goods for customs. They are typically 6 digits internationally, extended to 8-10 digits for country-specific tariff schedules (HTS in the US).

**USPS requires 6-digit HS codes on ALL international commercial shipments (as of September 2025). FedEx and DHL strongly recommend them. Shipments without HS codes risk delays or rejection.**

- If the user does not know the HS code, ask them to describe the product. Common codes:
  - Clothing: 6109 (t-shirts), 6110 (sweaters), 6204 (women's suits/trousers)
  - Electronics: 8471 (computers), 8517 (phones), 8528 (monitors)
  - Books: 4901
  - Toys: 9503
  - Cosmetics: 3304
- If unsure, the user should consult their country's tariff schedule or a customs broker.

---

## Step 2: Create the Customs Declaration

Call `Cr
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/shippo/skills/shippo",
      "sourceUrl": "https://clawhub.ai/shippo/skills/shippo",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T17:24:00.916Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-shippo-shippo/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-shippo-shippo/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T17:24:00.916Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "2.2K downloads",
      "href": "https://clawhub.ai/shippo/shippo",
      "sourceUrl": "https://clawhub.ai/shippo/shippo",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T17:24:00.916Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.4.4",
      "href": "https://clawhub.ai/shippo/shippo",
      "sourceUrl": "https://clawhub.ai/shippo/shippo",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-15T21:42:15.167Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-shippo-shippo/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-shippo-shippo/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.4.4",
      "description": "Release 1.4.4: hosted OAuth MCP (mcp.shippo.com), 4-tool meta-API with PascalCase operation names.",
      "href": "https://clawhub.ai/shippo/shippo",
      "sourceUrl": "https://clawhub.ai/shippo/shippo",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-15T21:42:15.167Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 9, 2026.

Sponsored

Ads related to Shippo and adjacent AI workflows.