跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Shippo,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 通过 Shippo 处理发货:验证地址,比较你的承运商的实时运费,购买标签并申请退款,追踪包裹,准备海关文件并创建交运清单(scan form)。测试模式免费。
试试这样问
Shippo 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Shippo、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Shippo + Cursor
让你的 AI 通过 Shippo 处理发货:验证地址,比较你的承运商的实时运费,购买标签并申请退款,追踪包裹,准备海关文件并创建交运清单(scan form)。测试模式免费。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
SHIPPO_API_TOKEN
步骤 1 — 获取凭证
- 在 apps.goshippo.com/join 免费注册 Shippo 账户,然后打开 API 门户 portal.goshippo.com/api-config/api,进入 API Configuration → Developer keys。
- 点击 Create new test key 免费试用全部功能,或点击 Create new live key 购买真实标签。请立即复制密钥:Shippo 只显示一次。测试密钥以
shippo_test_开头,正式密钥以shippo_live_开头。 - 把密钥按原样填入
SHIPPO_API_TOKEN,不要带 ShippoToken 字样,然后安装连接器。 - 先运行
shippo_list_carrier_accounts:它应列出 Shippo 自有的承运商账户(例如 USPS),这些账户在美国可直接使用,同时列出shippo_get_tracking需要的承运商名称。
测试还是正式:由密钥决定。使用测试密钥时,标签免费并带有 "SAMPLE - DO NOT MAIL" 水印,追踪号码永远不会更新,退款总是成功,且无法使用交运清单(scan form)。测试密钥只能看到测试数据,正式密钥只能看到正式数据。你在 Shippo 中用自己的承运商凭据连接的承运商账户,只能在添加时所用的模式下使用。
购买标签要花钱:使用正式密钥时,shippo_buy_label 会立即从你的 Shippo 账户扣除标签费用(如有保险,另加保险费),因此 AI 会先说明承运商、服务、价格和收发两个地址,等你确认后再购买。shippo_create_shipment 只获取实时运费,不会购买任何东西。标签链接过一段时间会失效,shippo_get_label 会返回新的链接。shippo_request_refund 会作废标签(之后无法再使用),并向承运商申请退款。只有未使用且不超过 90 天的标签才能退款,退款需要几天到几周时间。
权限和只读设置:密钥可以做你的 Shippo 账户能做的一切。如果希望 AI 永远不花钱、也不作废标签,请停用 shippo_buy_label、shippo_request_refund 和 shippo_create_manifest。这样 AI 仍然可以验证地址、比较运费、追踪包裹和查看以往的标签。
国际货件:需要海关申报单。AI 会用 shippo_create_customs_item 为每种商品创建一行(描述、数量、净重、价值、原产国、海关编码),再用 shippo_create_customs_declaration 创建申报单并指定确认数据的签署人,然后把它附到货件上。请提前准备好商品的海关编码和价值。
地址验证:shippo_validate_address 会把核验并标准化后的地址(例如带 ZIP+4 邮编)另存为新地址,原地址保持不变;之后货件发往新地址。使用测试密钥时,美国以外的地址不经核验就原样返回;使用正式密钥时,验证这些地址需要付费。
限制:Shippo 每分钟允许 500 次创建和 4,000 次单个对象读取,但列表查询只有 50 次(测试密钥为 10 次)。超出限制时 Shippo 返回 429:等一分钟再试即可。
常见错误:401 Token does not exist 表示密钥错误或已被删除:请在 API Configuration → Developer keys 中创建新密钥,并在填入时去掉 ShippoToken 字样。400 会指出缺失或无效的字段,例如承运商拒收的地址。422,或状态为 ERROR 的标签,表示承运商拒绝了请求,例如该服务不覆盖这条线路,或缺少海关数据;消息中会说明原因。状态为 QUEUED 或 WAITING 的标签或退款仍在处理中:几秒后再查询即可。
连接器不处理批量发货、订单、上门取件、追踪登记以外的 Webhook,也不负责连接你自己的承运商账户。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 Cursor 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Cursor 从 ~/.cursor/mcp.json 读取 MCP 服务器。添加以下条目:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- 在 AnythingMCP 的 MCP Servers → 你的服务器 → API keys 中创建 MCP API 密钥,并用它替换
YOUR_MCP_API_KEY。 - 保存文件并重启 Cursor。
- 打开 Cursor → Settings → MCP,确认
anythingmcp已列出并处于已连接状态。 - 开始对话,智能体现在可以调用
Shippo的工具。
可用工具
| Tool | What it does |
|---|---|
shippo_create_address | Save an address, optionally validated |
shippo_get_address | Read a saved address by object_id, with its fields, completeness and any validation results |
shippo_validate_address | Validate a saved address |
shippo_list_addresses | List saved addresses, newest first, with next and previous page links |
shippo_create_parcel | Save a parcel (dimensions and weight, or a carrier parcel template plus weight) |
shippo_get_parcel | Read a saved parcel by object_id: dimensions, weight, units and template |
shippo_list_parcel_templates | List carrier parcel templates (flat rate boxes and envelopes): token, name, carrier and dimensions |
shippo_create_shipment | Create a shipment and get live rates from the account's carriers |
shippo_get_shipment | Read a shipment with its addresses, parcels, rates and messages |
shippo_list_shipments | List shipments, newest first, with status and addresses (Shippo keeps the last 390 days) |
shippo_list_shipment_rates | List the rates of a shipment again (the same rates[] shippo_create_shipment returned), with paging |
shippo_get_rate | Read one rate: amount, currency, provider, service level, estimated days, duration terms and zone |
shippo_buy_label | Buy a shipping label for a rate |
shippo_list_labels | List purchased labels (transactions), newest first, with status, tracking number and tracking status |
shippo_get_label | Read one purchased label (transaction): status, tracking number and status, ETA, a fresh label_url and commercial invoice URL, and messages |
shippo_get_tracking | Read the tracking status and history of a parcel by carrier and tracking number, for labels bought anywhere |
shippo_register_tracking | Register a tracking number for status updates, which Shippo then sends to the account's "track updated" webhook (set up in the Shippo… |
shippo_list_carrier_accounts | List the carrier accounts usable for rates and labels: object_id, carrier, account_id, active, whether it is a Shippo-provided account, and… |
shippo_get_carrier_account | Read one carrier account by object_id: carrier, account number, active flag and parameters |
shippo_create_customs_item | Create a customs item (one line of a customs declaration) |
shippo_get_customs_item | Read a customs item by object_id: description, quantity, weight, value, origin and tariff number |
shippo_create_customs_declaration | Create a customs declaration for an international shipment from customs items |
shippo_get_customs_declaration | Read a customs declaration by object_id, with its items, contents type, incoterm and signer |
shippo_list_customs_declarations | List customs declarations, newest first, with contents type, items and certification details |
shippo_request_refund | Void a purchased label and ask for its price back |
shippo_list_refunds | List label refunds with their status (QUEUED, PENDING, SUCCESS, ERROR) and the label they belong to |
shippo_get_refund | Read one label refund by object_id: status, label (transaction) and dates |
shippo_create_manifest | Create a manifest (scan form) for a carrier pickup: one document listing the labels of one carrier account, ship date and origin address |
shippo_list_manifests | List manifests (scan forms), newest first, with carrier account, ship date, status and documents |
shippo_get_manifest | Read one manifest (scan form) with its status, the labels on it, document URLs and errors |
示例提示
- “比较从我们已保存的仓库地址寄一个 2 kg 包裹(30 x 20 x 15 cm)到 350 5th Ave, New York, NY 10118 的 UPS 和 USPS 运费,并告诉我最便宜和最快的选项。”
- “USPS 追踪号码为 9400111899223197428490 的包裹现在在哪里?预计什么时候送达?”
- “为 Acme Ltd 寄往 233 S Wacker Dr, Chicago, IL 60606 的订单购买最便宜的 USPS 标签,并把追踪号码和标签链接发给我。”
- “为寄给加拿大多伦多一位客户的 3 个陶瓷杯(总价值 45 USD)准备海关文件,然后显示可用的运费。”
FAQ
Cursor 免费套餐支持自定义 MCP 服务器吗? 支持,Hobby、Pro 和 Business 套餐均可使用 MCP。
下一步
这份指南对你有帮助吗?