Catalog attribute normalizer, taxonomy-grounded — no fabricated Google/Shopify category IDs.
MCPpedia last refreshed this data
com.acjlabs/catalog-normalizer is an MCP server that catalog attribute normalizer, taxonomy-grounded — no fabricated Google/Shopify category IDs. Its tool list has not been published yet over http, requires no API key, and scores 52/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"com-acjlabs-catalog-normalizer": {
"args": [
"-y",
"@acjlabs/catalog-attribute-normalizer-client"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Catalog attribute normalizer, taxonomy-grounded — no fabricated Google/Shopify category IDs.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @acjlabs/catalog-attribute-normalizer-client against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in ecommerce
Which credit card earns the most at a merchant, from your cards or every card, and why.
Dutch construction facts with measured accuracy + NL coordination. Never holds third-party funds.
MCP server for EPLAN Electric P8: ~200 tools to drive EPLAN from Claude Code, Codex, Cursor or any MCP client (actions, scripts, live DataModel, exports). Includes the eplan-tools plugin marketplace.
Read-only MCP servers for Russian marketplaces: prices, stock, ratings, reviews, seller identity
MCP Security Weekly
Get CVE alerts and security updates for com.acjlabs/catalog-normalizer and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Taxonomy-grounded catalog attribute normalizer — verified against the real Google Product Taxonomy, so it catches the plausible-but-wrong category IDs a generic LLM invents. Messy multi-source catalogs — titles, descriptions, images — in; consistent attributes, units, and grounded category mappings out. For merchant-ops teams and feed-tool developers wrangling a Shopify export, a supplier CSV, and a marketplace scrape that each spell "size" or "material" differently.
title, description, raw_attributes), returns normalized
attributes (canonicalized sizes/colors/units) plus category mappings for whichever taxonomies you
request (Google Product Taxonomy, Shopify, Amazon).normalize_catalog tool) or a plain HTTPS API.{
"tool": "normalize_catalog",
"input": {
"products": [{ "title": "...", "description": "...", "raw_attributes": { "size": "Lrg", "Color": "Navy Blue" } }],
"target_taxonomies": ["google", "shopify"]
}
}
{
"results": [
{
"schema_version": "2.0",
"source_title": "...",
"category_paths": {
"google": { "path": ["Apparel & Accessories", "Clothing", "Shirts & Tops"], "leaf_id": null, "confidence": 0.9 },
"shopify": { "path": ["Apparel & Accessories", "Clothing", "Tops"], "leaf_id": "aa-3-1", "confidence": 0.85 }
},
"attributes": {
"size": { "value": "L", "provenance": "canonicalized" },
"color": { "value": "navy", "provenance": "canonicalized" }
}
}
]
}
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). Each value's provenance
is "canonicalized" when it came from your own raw_attributes input for that product (deterministic
cleanup only, no recall) or "extracted" when the model inferred it from the title/description and it
wasn't in your input — treat "extracted" values as a suggestion, the same way you'd treat a
low-confidence category_paths entry.
Attributes are reliable by construction — canonicalizing values already in your input, not recall.
Category classification is retrieval-grounded, not recalled from memory: candidates are retrieved
from the real, current Google and Shopify taxonomy files and offered to the model as suggestions, so a
leaf_id almost always names a node that actually exists — measured against a 12-product evaluation set,
each product checked against both the Google and Shopify taxonomies: 22 of 24 checks (91.7%) exact
path + leaf-ID matches. Still treat confidence and a null leaf_id as "worth a quick check," not
a guarantee — a leaf_id is only ever returned when the path independently verifies against the real
taxonomy file, so a null there is an honest "check this" signal, never a fabricated ID. Amazon has no
comprehensive public taxonomy reference file to retrieve candidates from, so it stays best-effort
(recall from memory) rather than retrieval-grounded.
The free tier is self-serve today; paid plans are opening soon.
Want a paid plan now? Register your interest and we'll set you up first.
What counts as one unit: one product, not one call. A normalize_catalog call carrying 40 products
uses 40 of your monthly allowance; batching is a convenience, not a discount. A batch is all-or-nothing
— if it is larger than your remaining balance, the whole call is refused with 402 (the body names
required and remaining) and nothing is classified, so you are neve