Skip to main content
Glama

Camden Tools

Estimate delivery

estimate_delivery
Read-only

Delivery services, charges and transit times for a basket to a destination (country plus postcode/ZIP and city). This is an estimate using placeholder contact details; exact rates are confirmed at checkout.

Input Schema

NameRequiredDescriptionDefault
cityNoDestination city.
itemsYesBasket lines as product ids with quantities.
localeNoStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
postcodeNoDestination postcode / ZIP.
country_codeYesISO 3166-1 alpha-2 country code, e.g. GB, IE, DE, US.

Output Schema

NameRequiredDescriptionDefault
noteYes
ratesYes
country_codeYes
ddp_includedYesDuties and taxes are prepaid (DDP) in the charges.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • removedOutput schema / properties / rates / items / properties / estimated_transit_days / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rates / items / properties / estimated_transit_days / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / rates / items / properties / express_dispatch / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rates / items / properties / express_dispatch / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / rates / items / properties / total_charges / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rates / items / properties / total_charges / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "country_code": {
      +      "type": "string"
      +    },
      +    "ddp_included": {
      +      "description": "Duties and taxes are prepaid (DDP) in the charges.",
      +      "type": "boolean"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "rates": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "currency": {
      +            "type": "string"
      +          },
      +          "estimated_transit_days": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "express_dispatch": {
      +            "anyOf": [
      +              {
      +                "type": "boolean"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Website Express same-day dispatch applies to this rate."
      +          },
      +          "insured": {
      +            "type": "boolean"
      +          },
      +          "service_code": {
      +            "type": "string"
      +          },
      +          "service_name": {
      +            "type": "string"
      +          },
      +          "total_charges": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "service_code",
      +          "service_name",
      +          "total_charges",
      +          "currency",
      +          "estimated_transit_days",
      +          "insured",
      +          "express_dispatch"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "country_code",
      +    "ddp_included",
      +    "rates",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the result is an estimate computed with placeholder contact details and exact rates are only confirmed at checkout, which warns the agent about result fidelity. It does not cover latency, caching or rate limits, so it falls short of a 5.

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?

Two tight sentences with zero filler: purpose and input scope first, accuracy caveat second. Every clause carries information the agent can act on.

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?

With an output schema present, return-value explanation is not the description's burden, and the accuracy caveat fills the main behavioral gap. Minor omissions remain: it does not say whether unvalidated or missing postcode/city degrades the estimate, nor whether charges are returned in a specific currency tied to locale.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (country_code, postcode, city, locale, items) is already documented, and the baseline is 3. The description echoes the destination shape ('country plus postcode/ZIP and city') and 'basket', adding only orientation, not new semantics such as whether city/postcode are optional or how locale affects charges.

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

Purpose4/5

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

The description states a specific resource (delivery services, charges and transit times) and scope (a basket to a country + postcode/ZIP + city), so the agent knows it returns shipping rates for a cart, not product data. It does not, however, explicitly distinguish itself from near-siblings like check_shipping_availability, check_express_eligibility or get_prices_for_country, which an agent could easily confuse it with.

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

Usage Guidelines3/5

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

Usage is only implied: the agent can infer it should call this with a basket and a destination to obtain rates. There is no explicit when-to-use statement, no mention of when to prefer check_shipping_availability / check_express_eligibility, and no prerequisites such as required destination granularity.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources