You're viewing a demo portfolio

Join the waitlist
PRSM

normalize_catalog

Active

Tool of Catalog Attribute Normalizer

declared in 0.1.0

Normalizes a batch of catalog products (attribute canonicalization/extraction + category-path mapping into the requested target taxonomies: google, shopify, amazon). Returns one result per input product, same order: a NormalizedProduct on success, or { error, source_title } if that specific product's classification failed — one product's failure never voids the rest of the batch. attributes is keyed by a controlled vocabulary (size, color, material, gender, sleeve_length — unrecognized keys are dropped, not passed through under a model-chosen name) and each value carries provenance: "canonicalized" means it came from your own raw_attributes input for that product (deterministic cleanup only, no recall); "extracted" means the model inferred it from the title/description and it wasn't in your input — treat extracted values as a suggestion, not a confirmed fact about the product, the same way you'd treat a low-confidence category_paths entry. category_paths for google and shopify is retrieval-grounded against the real, current taxonomy files (not recalled from memory) — measured at 22/24 (91.7%) exact path+leaf_id matches on a 12-product evaluation set; amazon has no comparable public reference file, so it stays best-effort. Each entry's confidence (0-1) and leaf_id (null when not confident it matches a real node) are the honest signal regardless of taxonomy — treat a low-confidence or null-leaf_id result as a suggestion worth a quick human check, not a confirmed classification.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "products",
    "target_taxonomies"
  ],
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "description",
          "raw_attributes"
        ],
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 500
          },
          "description": {
            "type": "string",
            "maxLength": 5000
          },
          "raw_attributes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string",
              "maxLength": 1000
            }
          }
        }
      },
      "maxItems": 200
    },
    "target_taxonomies": {
      "type": "array",
      "items": {
        "enum": [
          "google",
          "shopify",
          "amazon"
        ],
        "type": "string"
      },
      "minItems": 1
    }
  }
}

What this tool wraps· 1 endpoint

min confidence0.700.50

Parent server

Catalog Attribute Normalizer

https://github.com/acjlabs/catalog-normalizer

1/7 registries
View full server →
normalize_catalog — Catalog Attribute Normalizer — PRSM MCP