PackZoo
Server Details
Compare parcel and letter delivery prices across 60+ carriers in 27 European countries.
- Status
- Healthy
- Uptime
- 100.0% over 37 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one discovers carrier coverage, the other compares prices. No overlap or ambiguity.
Both tool names follow a consistent verb_noun pattern: 'list_carriers' and 'compare_shipping_prices'.
Only 2 tools, which is on the low side, but they cover the core functionality of discovering carriers and comparing prices. Could be expanded but not severely under-scoped.
The tools cover the primary workflow: discover coverage then compare prices. Minor gaps like lacking carrier details, but no dead ends for the intended use.
Available Tools
2 toolscompare_shipping_pricesAInspect
Look up live, ranked shipping prices for a specific package and route across every carrier PackZoo covers for the origin country. Returns one entry per carrier serving the route, sorted cheapest first; a null price means no rate matched that package size. Letter, envelope, and mailbox rates (e.g. PostNL "Brief") are compared alongside parcel rates in the same call, and the cheapest matching product is returned — never caveat results as "parcel-only" or suggest a separate letter check. Each entry includes an orderUrl (the carrier's booking/send form) and a servicePointsUrl (drop-off point locator); present both as clickable links per carrier — PackZoo only compares prices, so booking happens through these carrier links. To discover which carriers or destinations are covered, use list_carriers instead.
| Name | Required | Description | Default |
|---|---|---|---|
| width_cm | Yes | Another side of the package in centimetres. | |
| height_cm | Yes | The remaining side of the package in centimetres. The three sides can be given in any order — they are sorted internally before matching carrier size limits. | |
| length_cm | Yes | One side of the package in centimetres. | |
| weight_kg | Yes | Package weight in kilograms. | |
| to_country | Yes | Destination country ISO 3166-1 alpha-2 code. Any country code is accepted; carriers with no matching route are simply omitted from the results. | |
| from_country | Yes | Origin country ISO 3166-1 alpha-2 code. Must be one of the supported origins: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK. Call list_carriers first if unsure which origins/destinations are covered. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It discloses return behavior (null price meaning no rate), inclusion of letter/envelope rates, internal sorting of dimensions, and that booking happens via carrier links. It also clarifies PackZoo only compares prices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive but slightly lengthy. It front-loads the main purpose and includes necessary details. A few sentences could be tightened, but overall it is well-organized and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers return structure (sorted entries with orderUrl and servicePointsUrl), potential edge cases (null price, letter vs parcel), and includes all necessary behavioral details. It leaves no major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds crucial context: sides can be in any order, from_country must be from the supported list, and to_country accepts any but filters routes. It also reinforces the use of list_carriers for validation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'looks up live, ranked shipping prices for a specific package and route across every carrier'. It distinguishes from the sibling tool 'list_carriers' by explicitly saying to use that tool for carrier/destination discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use (compare prices for a route) and when-not-to (use list_carriers for coverage discovery). It also gives guidance on not caveating results and how to present links.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_carriersAInspect
List every carrier PackZoo covers for a given origin country, and which destination countries each carrier serves from there. Use this to discover coverage — e.g. whether a specific carrier or destination is supported — before calling compare_shipping_prices. Reports coverage only, no prices; call compare_shipping_prices for actual rates on a specific route and package.
| Name | Required | Description | Default |
|---|---|---|---|
| from_country | Yes | Origin country ISO 3166-1 alpha-2 code. Must be one of the supported origins: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description clearly states it is read-only (lists coverage), does not include prices, and implies no side effects. Could mention caching or live data, but still transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no redundant information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input, no output schema, and single sibling, the description provides all necessary context: input, output type, and relationship to sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes the from_country parameter with supported codes. Description does not add new semantic details beyond stating it is an origin country.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists carriers and destinations for a given origin country, and distinguishes from sibling tool by specifying it reports coverage only, not prices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use before compare_shipping_prices to discover coverage, and clarifies when not to use (for actual rates).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
compare_shipping_prices6 fields changed- changed
Input schema / properties / from_country / descriptionPrevious value: -"Origin country ISO code. Supported: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK"New value: +"Origin country ISO 3166-1 alpha-2 code. Must be one of the supported origins: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK. Call list_carriers first if unsure which origins/destinations are covered." - changed
Input schema / properties / height_cm / descriptionPrevious value: -"Shortest side of the package in centimetres"New value: +"The remaining side of the package in centimetres. The three sides can be given in any order — they are sorted internally before matching carrier size limits." - changed
Input schema / properties / length_cm / descriptionPrevious value: -"Longest side of the package in centimetres"New value: +"One side of the package in centimetres." - changed
Input schema / properties / to_country / descriptionPrevious value: -"Destination country ISO code (any ISO 3166-1 alpha-2 code)"New value: +"Destination country ISO 3166-1 alpha-2 code. Any country code is accepted; carriers with no matching route are simply omitted from the results." - changed
Input schema / properties / weight_kg / descriptionPrevious value: -"Package weight in kilograms"New value: +"Package weight in kilograms." - changed
Input schema / properties / width_cm / descriptionPrevious value: -"Middle side of the package in centimetres"New value: +"Another side of the package in centimetres."
- Added
list_carriers
1 tool update
- First observed
compare_shipping_prices
Related MCP Connectors
Track parcels across 2,500+ carriers and 3PLs: live delivery status, event history, carrier lookup.
Send real, printed letters by post across Europe. Requires a free account; quote before sending.
Track packages across 1,300+ global carriers with real-time status and AI-powered delivery dates.
Live USPS, UPS, FedEx and DHL rates from the US: domestic, Canada, UK, Germany, Australia. No scale.
Related MCP Servers
- AlicenseBqualityCmaintenanceCompare parcel and letter delivery prices across 60+ carriers in 27 European countries.1MIT
- AlicenseAqualityAmaintenanceLive USPS, UPS, FedEx and DHL Express parcel rates from a US origin, domestic or to Canada, the UK, Germany and Australia, from a plain-words item description: no scale, no account, no API key. Also creates checkout links, reports checkout status, tracks parcels bought on smklog.com and serves a monthly US parcel price index.451MIT
- AlicenseAqualityCmaintenanceCarrier-agnostic shipping labels as a self-hostable MCP server. Build one shipment request, get a tracking number and a print-ready label back for DHL, DPD, UPS, FedEx, GLS, Sendcloud, and Shipcloud.32MIT
- AlicenseAqualityDmaintenanceManage shipping workflows by creating labels, tracking packages, and scheduling carrier pickups. Compare live rates from major carriers like FedEx and UPS to optimize costs for every shipment. Organize logistical operations with a centralized address book and detailed shipping analytics.189 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.