Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the DHL Paket Versand (Geschäftskunden) in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Book DHL Paket shipments from your AI on your own DHL business customer contract (Geschäftskundenkonto) with the official Parcel DE Shipping API v2: check shipments before booking, book them and get tracking numbers and labels, download labels again, cancel shipments, run the daily close-out (Tagesabschluss) and get the manifest.
Try asking
Example prompts for DHL Paket Versand (Geschäftskunden)
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → DHL Paket Versand (Geschäftskunden), paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
DHL Parcel DE Shipping
Book DHL Paket shipments from your AI on your own DHL business customer contract (Geschäftskundenkonto) with the official Parcel DE Shipping API v2: check shipments before booking, book them and get tracking numbers and labels, download labels again, cancel shipments, run the daily close-out (Tagesabschluss) and get the manifest.
Setup
Setting up takes about 15 minutes, plus the time DHL needs to approve your app. You need a DHL business customer contract with access to the DHL Geschäftskundenportal (GKP) and an account on developer.dhl.com.
- At developer.dhl.com open My Apps → Create App and add the API Parcel DE Shipping (Post & Parcel Germany). Once DHL has approved the app, copy its API Key into
DHL_API_KEYand its API Secret intoDHL_API_SECRET. - In the Geschäftskundenportal, choose a user that may create shipments and put its user name into
DHL_GKP_USERNAMEand its password intoDHL_GKP_PASSWORD. A dedicated system user is best: Benutzerverwaltung → Systembenutzer anlegen. A personal GKP user also works, but its password expires regularly. - Install the connector. There is no Authorize with Provider step: AnythingMCP exchanges the four values for an access token (OAuth2 password grant) and renews it by itself.
- Look up your billing numbers in the GKP under Vertragsdaten, then try
dhl_parcel_de_validate_shipmentswith a test shipment: DHL checks it like a real booking, but nothing is created or billed.
Billing number (Abrechnungsnummer): every shipment needs a 14-character billingNumber: your 10-digit customer number (EKP), the 2-digit procedure of the product and the 2-digit participation (Teilnahme, usually 01). For DHL Paket (procedure 01) with participation 01, that is your EKP followed by 0101. Tell the AI your EKP once and it builds the number.
Products: V01PAK DHL Paket (procedure 01), V62KP DHL Kleinpaket (62, replaces Warenpost), V53WPAK DHL Paket International (53), V54EPAK DHL Europaket for business customers in Europe (54) and V66WPI Warenpost International (66). Which services you can add (preferred neighbour, preferred location or day, named person only, no neighbour delivery, visual check of age, signature of the recipient, additional insurance, cash on delivery, bulky goods, Premium, GoGreen Plus, DHL Retoure, parcel outlet routing) depends on the product and your contract.
What it does:
dhl_parcel_de_validate_shipmentschecks addresses, product, services and billing number and returns the same messages a booking would. Nothing is created or billed.dhl_parcel_de_create_shipmentsbooks up to 30 shipments per call and returns each shipment number (the tracking number) with its label, as a link or, withincludeDocs: include, as base64. DHL bills every booked shipment unless it is cancelled the same day, so the AI asks you before booking and validates new data first.dhl_parcel_de_get_labelsdownloads labels and customs documents again, for up to 30 shipment numbers.dhl_parcel_de_cancel_shipmentscancels shipments that have not been closed out yet, usually until the end of the day. A cancelled shipment is not billed and its label becomes invalid.dhl_parcel_de_close_outcloses out (Tagesabschluss) some or all shipments now instead of waiting for the automatic close-out in the evening. Closed-out shipments can no longer be cancelled.dhl_parcel_de_get_manifestreturns the manifest (Einlieferungsliste) of a day: the PDF listing the closed-out shipments by billing number, and which shipment is on which sheet.
All 6 tools install switched on, including the ones that book, cancel and close out shipments. If the AI should only check shipment data, switch off dhl_parcel_de_create_shipments, dhl_parcel_de_cancel_shipments and dhl_parcel_de_close_out on the connector page.
Reading the answer: the response has a status and an items list with one entry per shipment, in request order. HTTP 207 means some shipments failed: each item's sstatus and validationMessages say why. A weak address warning ("Die Adresse konnte nicht geprüft werden") still books the shipment; with mustEncode: true DHL refuses addresses it cannot encode.
Tracking: to follow a booked shipment, use the DHL Shipment Tracking connector with the shipment number.
Limits: up to 30 shipments per request. DHL answers 429 when calls come too fast: wait a moment and try again.
Common errors: 401 means DHL refused the login. Check that DHL_API_KEY and DHL_API_SECRET belong to an approved app that has the Parcel DE Shipping API, and that the GKP user name and password are right. A personal GKP password expires and has to be renewed in the portal.
Prerequisites: DHL_API_KEY, DHL_API_SECRET, DHL_GKP_USERNAME, DHL_GKP_PASSWORD
Install the connector locally
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
Open http://localhost:3000/connectors/store, pick DHL Paket Versand (Geschäftskunden) and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
dhl_parcel_de_validate_shipments | Check shipments without booking them: DHL validates addresses, product, services and billing number and returns the same messages a real… |
dhl_parcel_de_create_shipments | Book up to 30 DHL shipments on the business contract and get their shipment numbers (tracking numbers) and labels |
dhl_parcel_de_get_labels | Download the labels (and customs documents) of shipments already booked, for up to 30 shipment numbers |
dhl_parcel_de_cancel_shipments | Cancel (storno) booked shipments that have not been closed out yet, so they are not billed |
dhl_parcel_de_close_out | Close out (Tagesabschluss) shipments now instead of waiting for the automatic close-out in the evening |
dhl_parcel_de_get_manifest | Get the manifest (Einlieferungsliste) of a day: the PDF listing the closed-out shipments by billing number, plus which shipment is on which… |
Example prompts
- "Validate a DHL Paket of 2 kg to Anna Schmidt, Hauptstraße 5, 79098 Freiburg, without booking it."
- "Book the shipment and give me the tracking number and the link to the label."
- "Cancel shipment 00340434161234567890, the customer cancelled the order."
- "Run today's close-out and give me the manifest."
- "Download the labels for these three shipment numbers again."
Next steps
Was this guide helpful?