Catalog attribute normalizer, taxonomy-grounded — no fabricated Google/Shopify category IDs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
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.
| Argument | Type | Description |
|---|---|---|
| products* | array | |
| target_taxonomies* | array |
{
"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
}
}
}