Skip to main content
Glama

Camden Tools

Get product

get_product
Read-only

Full details for one product by slug, SKU or id: description, specifications, prices ex/inc VAT with bulk breaks, stock, variants, safety/spec documents and the canonical page URL. Provide exactly one of slug, sku or id.

Input Schema

NameRequiredDescriptionDefault
idNoNumeric product id.
skuNoProduct SKU.
slugNoProduct slug from a product URL (…/product/<slug>).
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.

Output Schema

NameRequiredDescriptionDefault
productYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / product / properties / weight_kg / description
      Added value: +"Shipping weight in kg (packed, as dispatched), not the product's net weight."
  2. Changed1 schema field changed
    • addedOutput schema / properties / product / properties / categories / description
      Added value: +"Up to 8 category names; get_product has the product's details."
  3. Changed16 schema fields changed
    • removedOutput schema / properties / product / properties / brand / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / brand / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / product / properties / brand_slug / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / brand_slug / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / product / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / product / properties / image / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / image / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / product / properties / price / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bulk_prices": {
      -        "description": "Lower unit prices from min_quantity up.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ex_vat": {
      -              "type": "number"
      -            },
      -            "inc_vat": {
      -              "type": "number"
      -            },
      -            "min_quantity": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "min_quantity",
      -            "ex_vat",
      -            "inc_vat"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "ex_vat": {
      -        "type": "number"
      -      },
      -      "inc_vat": {
      -        "type": "number"
      -      },
      -      "on_sale": {
      -        "type": "boolean"
      -      },
      -      "vat_rate": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "VAT rate in percent (20 = 20%). null when unknown: ex_vat then equals inc_vat."
      -      },
      -      "was_ex_vat": {
      -        "type": "number"
      -      },
      -      "was_inc_vat": {
      -        "description": "Price before the sale; only when on_sale.",
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "currency",
      -      "ex_vat",
      -      "inc_vat",
      -      "on_sale",
      -      "vat_rate"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bulk_prices": {
      +        "description": "Lower unit prices from min_quantity up.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ex_vat": {
      +              "type": "number"
      +            },
      +            "inc_vat": {
      +              "type": "number"
      +            },
      +            "min_quantity": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "min_quantity",
      +            "ex_vat",
      +            "inc_vat"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "ex_vat": {
      +        "type": "number"
      +      },
      +      "inc_vat": {
      +        "type": "number"
      +      },
      +      "on_sale": {
      +        "type": "boolean"
      +      },
      +      "vat_rate": {
      +        "description": "VAT rate in percent (20 = 20%). null when unknown: ex_vat then equals inc_vat.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "was_ex_vat": {
      +        "type": "number"
      +      },
      +      "was_inc_vat": {
      +        "description": "Price before the sale; only when on_sale.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "ex_vat",
      +      "inc_vat",
      +      "on_sale",
      +      "vat_rate"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / product / properties / slug / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / slug / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / product / properties / summary / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / summary / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / product / properties / url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / product / properties / url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / product / properties / variants / items / properties / price / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bulk_prices": {
      -        "description": "Lower unit prices from min_quantity up.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ex_vat": {
      -              "type": "number"
      -            },
      -            "inc_vat": {
      -              "type": "number"
      -            },
      -            "min_quantity": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "min_quantity",
      -            "ex_vat",
      -            "inc_vat"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "ex_vat": {
      -        "type": "number"
      -      },
      -      "inc_vat": {
      -        "type": "number"
      -      },
      -      "on_sale": {
      -        "type": "boolean"
      -      },
      -      "vat_rate": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "VAT rate in percent (20 = 20%). null when unknown: ex_vat then equals inc_vat."
      -      },
      -      "was_ex_vat": {
      -        "type": "number"
      -      },
      -      "was_inc_vat": {
      -        "description": "Price before the sale; only when on_sale.",
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "currency",
      -      "ex_vat",
      -      "inc_vat",
      -      "on_sale",
      -      "vat_rate"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bulk_prices": {
      +        "description": "Lower unit prices from min_quantity up.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ex_vat": {
      +              "type": "number"
      +            },
      +            "inc_vat": {
      +              "type": "number"
      +            },
      +            "min_quantity": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "min_quantity",
      +            "ex_vat",
      +            "inc_vat"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "ex_vat": {
      +        "type": "number"
      +      },
      +      "inc_vat": {
      +        "type": "number"
      +      },
      +      "on_sale": {
      +        "type": "boolean"
      +      },
      +      "vat_rate": {
      +        "description": "VAT rate in percent (20 = 20%). null when unknown: ex_vat then equals inc_vat.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "was_ex_vat": {
      +        "type": "number"
      +      },
      +      "was_inc_vat": {
      +        "description": "Price before the sale; only when on_sale.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "ex_vat",
      +      "inc_vat",
      +      "on_sale",
      +      "vat_rate"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "product": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "brand": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "brand_slug": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "categories": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "coshh_codes": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "description": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "code",
      +              "description"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "country_of_origin": {
      +          "type": "string"
      +        },
      +        "description": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "documents": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "type": {
      +                "description": "safety_sheet or specification_sheet.",
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "url"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "express_eligible": {
      +          "description": "Website Express (same-working-day UK dispatch); only when the listing reports it.",
      +          "type": "boolean"
      +        },
      +        "gtin": {
      +          "type": "string"
      +        },
      +        "has_related_products": {
      +          "description": "get_related_products has variants or alternatives.",
      +          "type": "boolean"
      +        },
      +        "hazardous": {
      +          "type": "boolean"
      +        },
      +        "id": {
      +          "type": "number"
      +        },
      +        "image": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "in_stock": {
      +          "type": "boolean"
      +        },
      +        "mpn": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "price": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "bulk_prices": {
      +                  "description": "Lower unit prices from min_quantity up.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "ex_vat": {
      +                        "type": "number"
      +                      },
      +                      "inc_vat": {
      +                        "type": "number"
      +                      },
      +                      "min_quantity": {
      +                        "type": "number"
      +                      }
      +                    },
      +                    "required": [
      +                      "min_quantity",
      +                      "ex_vat",
      +                      "inc_vat"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "currency": {
      +                  "type": "string"
      +                },
      +                "ex_vat": {
      +                  "type": "number"
      +                },
      +                "inc_vat": {
      +                  "type": "number"
      +                },
      +                "on_sale": {
      +                  "type": "boolean"
      +                },
      +                "vat_rate": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "VAT rate in percent (20 = 20%). null when unknown: ex_vat then equals inc_vat."
      +                },
      +                "was_ex_vat": {
      +                  "type": "number"
      +                },
      +                "was_inc_vat": {
      +                  "description": "Price before the sale; only when on_sale.",
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "currency",
      +                "ex_vat",
      +                "inc_vat",
      +                "on_sale",
      +                "vat_rate"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "null when the product has no online price."
      +        },
      +        "sku": {
      +          "type": "string"
      +        },
      +        "slug": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "specifications": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "stock_level": {
      +          "type": "number"
      +        },
      +        "summary": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "tags": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "url": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "variants": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "in_stock": {
      +                "type": "boolean"
      +              },
      +              "label": {
      +                "type": "string"
      +              },
      +              "options": {
      +                "additionalProperties": {
      +                  "type": "string"
      +                },
      +                "propertyNames": {
      +                  "type": "string"
      +                },
      +                "type": "object"
      +              },
      +              "price": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "bulk_prices": {
      +                        "description": "Lower unit prices from min_quantity up.",
      +                        "items": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "ex_vat": {
      +                              "type": "number"
      +                            },
      +                            "inc_vat": {
      +                              "type": "number"
      +                            },
      +                            "min_quantity": {
      +                              "type": "number"
      +                            }
      +                          },
      +                          "required": [
      +                            "min_quantity",
      +                            "ex_vat",
      +                            "inc_vat"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "currency": {
      +                        "type": "string"
      +                      },
      +                      "ex_vat": {
      +                        "type": "number"
      +                      },
      +                      "inc_vat": {
      +                        "type": "number"
      +                      },
      +                      "on_sale": {
      +                        "type": "boolean"
      +                      },
      +                      "vat_rate": {
      +                        "anyOf": [
      +                          {
      +                            "type": "number"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ],
      +                        "description": "VAT rate in percent (20 = 20%). null when unknown: ex_vat then equals inc_vat."
      +                      },
      +                      "was_ex_vat": {
      +                        "type": "number"
      +                      },
      +                      "was_inc_vat": {
      +                        "description": "Price before the sale; only when on_sale.",
      +                        "type": "number"
      +                      }
      +                    },
      +                    "required": [
      +                      "currency",
      +                      "ex_vat",
      +                      "inc_vat",
      +                      "on_sale",
      +                      "vat_rate"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "sku": {
      +                "type": "string"
      +              },
      +              "slug": {
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "sku",
      +              "label",
      +              "options",
      +              "slug",
      +              "url",
      +              "price",
      +              "in_stock"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "weight_kg": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "sku",
      +        "name",
      +        "slug",
      +        "url",
      +        "brand",
      +        "brand_slug",
      +        "categories",
      +        "price",
      +        "in_stock",
      +        "stock_level",
      +        "image",
      +        "summary",
      +        "tags",
      +        "description",
      +        "specifications",
      +        "hazardous",
      +        "has_related_products"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "product"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds which fields are returned (prices ex/inc VAT with bulk breaks, stock, variants, documents, canonical URL), which is useful, but since an output schema exists it is largely redundant and no additional behavior (caching, locale fallback, rate limits) is disclosed.

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?

One information-dense sentence plus one directive sentence. Scope and returned data are front-loaded, nothing is padded, and the identifier constraint lands last where the agent will act on it.

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 a full schema, existing annotations and an output schema, the description covers scope, identifier selection and returned content adequately for a read-only lookup. The only shortfall is not steering the agent toward sibling tools when the product is unknown or when only stock/documents are needed.

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 coverage is 100%, so per-parameter meaning is already handled and the baseline is 3. The description earns a bump by stating a cross-parameter constraint the schema cannot express — exactly one of slug, sku or id must be supplied, none are schema-required — which materially prevents malformed calls.

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?

Specific verb + resource + scope: 'Full details for one product by slug, SKU or id'. The 'one product' framing cleanly distinguishes it from the list/search siblings (get_products, list_products, search_products), and the colon-enumeration tells the agent exactly what data comes back.

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?

Clear context for use — fetch a single known product — and the closing constraint 'Provide exactly one of slug, sku or id' directs the call. It stops short of naming alternatives (search_products for discovery, get_stock_level / get_product_documents for narrower needs), so there is no explicit when-not guidance.

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