321label
見積もり、購入、追跡、キャンセルが可能な実際の配送ラベル(GLS、PostNord、DHL、UPS、Royal Mail…)をDK、GB、DE、NO、NLで提供。サンドボックスは無料、実際のラベルは1枚ごとの課金。Bearerエージェントトークン、セルフサービス。
ホスト型 MCP サーバー
npx add-mcp 'https://mcp.321label.com/mcp'Claude Code、Codex、Cursor などにインストールできます
ドキュメント
Your agent can ship parcels.
321label is an MCP server. Connect it to Claude, ChatGPT or any client that speaks the Model Context Protocol, and your agent quotes, buys, tracks and cancels labels — nine tools, no glue code.
CONNECT
One URL. Then talk to it.
The server speaks streamable HTTP at the URL on the right. Paste it into your client's "add connector" or MCP settings, authorise, and the nine tools appear. Each client gets its own Bearer token — self-serve, under AI agents in your account.
Sandbox is the default on every tool: labels are minted against the carriers' test systems and cost nothing. A real label is created only when the agent — or you — says sandbox: false.
SERVER URL · STREAMABLE HTTP
- 3 Open your client's connector / MCP settings and add a remote server.
- 2 Paste the URL. Authorise — 321label accepts your Bearer token as the credential.
- 1 Ask for a label. The agent quotes first, then creates — in sandbox until you say otherwise.
CLAUDE CODE# one line — then the tools are there claude mcp add --transport http 321label https://mcp.321label.com/mcp \ --header "Authorization: Bearer <your-token>"
THE NINE TOOLS
Everything the desk does, as tools.
Each tool maps one-to-one to a REST endpoint. Carriers are always named — never the systems behind them.
quote_label
Live rates for a shipment — carrier, service, price and ETA, cheapest first. Filter to a carrier or to parcel shop / home.
POST /v1/quotes
create_label
Mint the label. Returns label_id, status, price, tracking and pdf_url. Live guest labels come back awaiting payment with a link for the human.
POST /v1/labels
get_label
Read a label or order back by id — status, price, tracking number, payment state, pdf_url (held until paid).
GET /v1/labels/{id}
track_shipment
Track a parcel bought here, by tracking number, order id or label id. Sandbox labels have no live tracking.
GET /v1/shipments/{ref}
cancel_label
Void a label by id. Idempotent — cancelling twice returns the same void state. The PDF is revoked.
POST /v1/labels/{id}/cancel
list_carriers
The public carriers, their services (parcel shop / home), where they're offered, and which rules (cheapest / fastest) resolve to them.
GET /v1/carriers
get_wallet
Read your prepaid balance — available, held, bonus and top-up limits. Needs an agent token.
GET /v1/wallet
list_labels
List your account's labels, newest first, with paging and a status filter. Needs an agent token.
GET /v1/labels
create_topup_link
Start a prepaid top-up and get back a checkout link to pay it. Needs an agent token.
POST /v1/wallet/topups
WHAT IT LOOKS LIKE
A parcel, from a chat.
The agent does what a good clerk does: quotes before it buys, names the carrier and the price, and hands the payment link to the human. It never sees a card.
Sandbox by default
Nothing is charged and nothing ships until sandbox is switched off on purpose.
A token per client
Each agent gets its own credential, tied to your account — revoke one without touching the rest.
Cancel is safe to retry
Idempotent by status: an agent that retries a cancel can't double-void or double-refund.
Ship this to Freja Lindqvist, Nørrebrogade 44, 2200 København N — 1.2 kg, size M. Cheapest is fine.
quote_labelThree rates from Aarhus to København N:
PostNord
2–3 days · parcel shop
€5.60
GLS
1–2 days · parcel shop
€6.20
DHL
next day · home
€9.10
PostNord is cheapest. Create it?
Yes — and for real, not sandbox.
create_label sandbox: falseDone — label lbl_7f2k… awaiting payment. I've sent the payment link to your email; the PDF unlocks the moment it's paid, and the tracking number is ready.
SELF-SERVE
Want your agent at the desk? Create a token.
Sign in at /account and create an agent token under AI agents. Tokens are per client, sandbox is free, and real labels are paid per label — like everything else here.