321label

Quote, buy, track and cancel real shipping labels (GLS, PostNord, DHL, UPS, Royal Mail…) in DK, GB, DE, NO and NL. Sandbox is free; real labels are paid per label. Bearer agent token, self-serve.

Gehosteter MCP-Server

npx add-mcp 'https://mcp.321label.com/mcp'

Installiert in Claude Code, Codex, Cursor und mehr

Dokumentation

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 it ↓

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

https://mcp.321label.com/mcp

  1. 3 Open your client's connector / MCP settings and add a remote server.
  2. 2 Paste the URL. Authorise — 321label accepts your Bearer token as the credential.
  3. 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.