Skip to main content
Glama

Germany Logistics (buy Deutsche Post + more labels + tracking via Shippo)

Server Details

Germany shipping labels for AI agents: buy Deutsche Post and more, track and refund via Shippo.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: creating shipments, tracking, and refunding. There is no ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (create_shipment, query_tracking, refund_label), making them predictable and easy to understand.

Tool Count4/5

With 3 tools, the set is minimal but covers the core workflow of buying labels, tracking, and refunding. It is slightly thin but appropriately scoped for a focused logistics server.

Completeness3/5

The core lifecycle is covered (create, track, refund), but missing operations like listing past shipments, updating addresses, or fetching carrier rates independently are notable gaps.

Available Tools

3 tools
create_shipmentAInspect

Create a Germany shipping label via Shippo — pass a to_address, from_address and parcel (dimensions in CENTIMETRES, weight in GRAMS by default), and the server fetches carrier rates, buys the CHEAPEST rate by default (or the carrier/service you specify), and returns the shipment_id, transaction_id, tracking_number, printable label_url and the price paid (EUR). Recommended carrier: Deutsche Post parcels via the Shippo master account — no Deutsche Post contract or merchant account needed — so an agent can print a Deutsche Post label with no merchant courier account. Bring your own Shippo API token via header x-shippo-token: free TEST tokens (prefix shippo_test_…) run the full flow end-to-end at no cost (sign up free, no card, at apps.goshippo.com/join); production tokens (prefix shippo_live_…) buy real labels. The token prefix auto-selects the environment. weight is always required. Owner policy headers gate the label price before any purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNoParcel width in CENTIMETRES.
heightNoParcel height in CENTIMETRES.
lengthNoParcel length in CENTIMETRES (cm) by default. Provide length+width+height together.
to_zipYesRecipient PLZ (e.g. "10117"). Required.
weightYesParcel weight in GRAMS (g) by default. Required. Use mass_unit to change (kg/oz/lb).
carrierNoOptional: restrict to a carrier (e.g. "Deutsche Post"). Default: cheapest across all available carriers.
serviceNoOptional: restrict to a service level name or token (e.g. "Paket"). Default: cheapest.
to_cityYesRecipient town / city.
to_nameYesRecipient full name.
from_zipYesSender PLZ. Required.
to_emailNoOptional recipient email.
to_phoneNoOptional recipient phone (some carriers/services require it).
to_stateNoOptional recipient Bundesland (Bundesland is optional for Germany addresses).
from_cityYesSender town / city.
from_nameYesSender full name.
mass_unitNoWeight unit: g (default), kg, oz or lb.
from_phoneNoOptional sender phone.
from_stateNoOptional sender Bundesland.
to_countryNoRecipient ISO country code. Default DE.
to_street1YesRecipient street address line 1.
to_street2NoOptional recipient street address line 2 (flat/unit).
from_countryNoSender ISO country code. Default DE.
from_street1YesSender street address line 1.
from_street2NoOptional sender street address line 2.
distance_unitNoDimension unit: cm (default), m, in or ft.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses key behaviors beyond annotations: auto-selects cheapest rate, token prefix determines environment, weight always required, and owner policy headers gate price. No contradictions with annotations (readOnlyHint=false, destructiveHint=false).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that front-loads the core action and then adds necessary details. It is somewhat dense but not overly verbose; each sentence adds value. Could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (25 params, no output schema), the description covers input requirements, token handling, default behavior, and output fields. It lacks error handling details but is sufficient for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds value by summarizing defaults (dimensions in cm, weight in grams), emphasizing required weight, and explaining carrier/service overrides. This goes beyond the schema's individual parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it creates a Germany shipping label via Shippo, specifying the action (create) and resource (shipping label). It distinguishes from sibling tools (query_tracking, refund_label) by focusing on label creation and purchase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context: recommended carrier, token requirement, environment auto-selection, and default cheapest rate. Lacks explicit when-not scenarios, but gives sufficient guidance for typical use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_trackingA
Read-only
Inspect

Track a Germany shipment by its tracking_number (the one create_shipment returned, or any carrier tracking number) plus its carrier. Returns the current status with a plain-English hint. Status values (Shippo enum): UNKNOWN, PRE_TRANSIT (label made, not yet picked up), TRANSIT, DELIVERED, RETURNED, FAILURE. Raw carrier scan details are always included. carrier defaults to "deutsche_post"; for TEST tokens use carrier="shippo" with mock numbers SHIPPO_TRANSIT / SHIPPO_DELIVERED. Safe to call anytime.

ParametersJSON Schema
NameRequiredDescriptionDefault
carrierNoCarrier token for the lookup (e.g. "deutsche_post", "usps", or "shippo" for TEST mock numbers). Default "deutsche_post".
tracking_numberYesThe tracking number to look up (from create_shipment or a carrier).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint. Description adds return details (status enum, plain-English hint, raw carrier details) and states safe anytime, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is front-loaded with core purpose, then details. Every sentence is informative; could be slightly shorter but is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description compensates by explaining return structure (status, hint, raw details) and covers edge cases (test tokens). Complete for a simple 2-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage; description adds default carrier, testing mock numbers, and clarifies tracking_number origin. Adds meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool tracks a Germany shipment by tracking number and carrier, specifying the resource, action, and scope. It distinguishes from siblings like create_shipment and refund_label.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit default carrier, testing instructions, and safe invocation. Does not list when not to use, but context makes it clear this is for tracking only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refund_labelA
Idempotent
Inspect

Request a refund for a Germany shipping label bought via create_shipment, by its transaction_id. Refund is only possible for UNUSED labels that were never scanned by the carrier; already-shipped labels cannot be refunded. Returns refund_status: QUEUED / PENDING (accepted, carrier still processing — most common), SUCCESS (money returned), or ERROR (not eligible, e.g. already scanned). Carriers can take time to move QUEUED/PENDING → SUCCESS.

ParametersJSON Schema
NameRequiredDescriptionDefault
transaction_idYesThe transaction_id returned by create_shipment (the bought label to refund).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds significant behavioral context beyond annotations: eligibility condition (unused), status meanings (QUEUED/PENDING/SUCCESS/ERROR), and carrier delay. No contradiction with annotations (idempotentHint supports retry safety).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, then eligibility, then return values. Every sentence adds value; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers prerequisites, return statuses, and processing delays. Lacks full output structure (only mentions refund_status field), but for a single-parameter tool with no output schema, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (transaction_id) with schema description already clear. The tool description adds context by linking it to create_shipment output, enhancing understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool refunds a Germany shipping label bought via create_shipment, using transaction_id. It distinguishes itself from siblings (create_shipment, query_tracking) by focusing on refunding, not creating or tracking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: only for unused labels never scanned, not for already-shipped labels. Mentions refund statuses and carrier processing time, but does not explicitly state when to avoid or suggest alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources