Skip to main content
Glama
junter1989k-ai

Germany Logistics MCP Server

Germany Logistics MCP ๐Ÿ‡ฉ๐Ÿ‡ช โ€” How can my AI agent buy a Deutsche Post / German shipping label?

Use it in 60 seconds

Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):

{
  "mcpServers": {
    "germany-logistics": {
      "type": "http",
      "url": "https://logi-de.wishpool.app/mcp"
    }
  }
}

Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored โ€” see the threat model.

Or run it yourself

Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:

Deploy with Vercel

git clone https://github.com/junter1989k-ai/germany-logistics-mcp && cd germany-logistics-mcp && npx vercel --prod

MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.


Remote MCP server that lets any AI agent buy Germany shipping labels (Versandetiketten) โ€” Deutsche Post parcels and more โ€” with automatic cheapest-rate selection, track parcels, and refund unused labels via the Shippo shipping API. Deutsche Post runs on Shippo's master account, so no Deutsche Post contract or merchant courier account is needed. Stateless, bring-your-own API token, never stores anything. Free Shippo test tokens give zero-cost end-to-end labels.

Live endpoint: https://logi-de.wishpool.app/mcp ยท Registry: app.wishpool/germany-logistics-mcp

Related MCP server: uk-logistics-mcp

Quick start

{
  "mcpServers": {
    "germany-logistics": {
      "type": "http",
      "url": "https://logi-de.wishpool.app/mcp",
      "headers": {
        "x-shippo-token": "shippo_test_your_test_or_shippo_live_prod_token"
      }
    }
  }
}

No shared demo โ€” but test tokens are free. Shippo issues free TEST tokens (prefix shippo_test_โ€ฆ) that run the full flow end-to-end at no cost: sign up with no card at apps.goshippo.com/join โ†’ API. Production tokens (prefix shippo_live_โ€ฆ) buy real labels. The same server auto-selects the environment from the token prefix.

Deutsche Post without a Deutsche Post contract

Deutsche Post parcels run on Shippo's master carrier account, so an AI agent can print a Deutsche Post label with no Deutsche Post contract and no merchant courier account โ€” just a free Shippo token. The carrier parameter stays open, so a merchant with its own carrier account on Shippo (Deutsche Post, DHL, etc.) can select it instead.

Tools

Tool

What it does

create_shipment

Buy a Germany label. to_* + from_* address fields (Bundesland/state optional), parcel weight (grams by default, required) and length/width/height (centimetres by default). Optional carrier/service restrict the choice (e.g. Deutsche Post / Paket) โ€” default is the cheapest rate across all available carriers. Fetches rates, buys the chosen rate, returns shipment_id, transaction_id, tracking_number, printable label_url, carrier, service and the rate (EUR).

query_tracking

Track by tracking_number + carrier token (default deutsche_post; use shippo with SHIPPO_TRANSIT/SHIPPO_DELIVERED for TEST tokens). Returns status from the Shippo enum โ€” UNKNOWN / PRE_TRANSIT / TRANSIT / DELIVERED / RETURNED / FAILURE โ€” plus a plain-English hint; non-terminal statuses carry next_steps. Raw carrier scans always included.

refund_label

Refund an unused label by transaction_id. Returns refund_status: QUEUED / PENDING / SUCCESS / ERROR. Only labels never scanned by the carrier are eligible โ€” an already-shipped label cannot be refunded.

Owner policy guardrails ride optional headers (x-agentpay-max-amount, x-agentpay-approval-above, x-agentpay-allowed-tools) โ€” set by the human owner in client config; the agent cannot relax them. The label price is gated before any purchase: approval-above returns an unsigned draft with the shipment/rates prepared but no label bought.

Develop

node test/serve.js   # local server on :3248 (/mcp)
node test/e2e.js     # protocol + validation + policy/shippo units + fake-token live probe to api.goshippo.com (expects native 401)

How it talks to Shippo

create_shipment is two server-to-server REST calls: POST /shipments/ (to/from address + parcel โ†’ rates[]) then POST /transactions/ (chosen rate object_id โ†’ label_url + tracking_number). query_tracking is GET /tracks/{carrier}/{tracking_number}. refund_label is POST /refunds/ (by transaction id). Auth is the header Authorization: ShippoToken <token>; the token prefix (shippo_test_โ€ฆ / shippo_live_โ€ฆ) selects test vs production on the same base URL https://api.goshippo.com.

Safety

Pure stateless translation layer. The label is generated and served by Shippo/the carrier; the Shippo API token travels per-request in a header, nothing is stored. Parcels flow sender โ†” carrier โ†” recipient directly. Privacy policy.

Sister servers

UK labels (Royal Mail) live in uk-logistics-mcp; France (Mondial Relay) in france-logistics-mcp; Australia (Aramex) in australia-logistics-mcp; US labels (USPS/UPS/FedEx) in usa-logistics-mcp; Taiwan CVS pickup + home delivery in taiwan-logistics-mcp. One family of stateless BYO local-commerce MCP servers: local payments in 81 countries at mcp.wishpool.app, plus electronic-invoice servers across nine countries including Mexico CFDI, Brazil NF-e, Chile DTE, Peru CPE and India GST.

MIT licensed.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/junter1989k-ai/germany-logistics-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server