Skip to main content
Glama

hac_ingest_external_storefront

Crawl an external e-commerce storefront, extract product catalog data, normalize it into SAP Commerce ImpEx, import into the target ProductCatalog, then sync online and reindex Solr.

Instructions

Crawls an external storefront (Shopify, WooCommerce, Magento, or any public e-commerce site), extracts product catalog structure, product names, descriptions, prices, images, and attributes, normalizes them into SAP Commerce ImpEx format, imports them into the target ProductCatalog, syncs to Online, and reindexes Solr.

This is STEP 2 of the zero-to-live pipeline (automatically invoked after hac_scaffold_greenfield_site when the user provides a source_url).

After this tool completes, the agent should continue with:

  • hac_catalog_sync (if sync_online=False was set)

  • hac_solr_reindex (if reindex_solr=False was set)

  • hac_spartacus_doctor + hac_storefront_autofix (headless self-healing)

Args: site_url: The customer's existing website URL to crawl (e.g. 'https://shop.example.com') catalog_id: Target ProductCatalog ID to import products into max_products: Maximum number of products to extract (default 20) convert_to_b2b_cases: Convert product models to B2B unit-of-measure (cases/pallets) target_currency: Currency code for imported prices sync_online: Auto-sync Staged→Online after import (default True) reindex_solr: Auto-trigger full Solr reindex after import (default True)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
site_urlYes
catalog_idYes
sync_onlineNo
max_productsNo
reindex_solrNo
target_currencyNoUSD
convert_to_b2b_casesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and does well: it names the irreversible side effects (import into target ProductCatalog, sync to Online, full Solr reindex) and states which steps auto-run versus which require follow-up. It omits permission/auth requirements and what happens to pre-existing catalog contents on import (overwrite vs merge), so it falls short of complete behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then splits pipeline context, follow-ups, and args into clearly separated blocks. It is appropriately sized for a complex orchestration tool, though the Args section restates defaults already present in the schema, adding mild redundancy.

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?

For a 7-parameter orchestration tool with no annotations, the description covers pipeline position, side effects, follow-up routing, and every parameter. An output schema exists so return values need not be explained. The only real gap is failure/error behavior and auth prerequisites, leaving it just short of fully complete.

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 description coverage is 0%, so the description must compensate, and it does: all 7 parameters are documented with meaning and defaults (max_products default 20, sync_online/reindex_solr default True, target_currency default USD, convert_to_b2b_cases explained as cases/pallets, site_url with a format example). It stops short of 5 because catalog_id is described only as 'Target ProductCatalog ID' with no format/validity guidance.

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?

The description states a precise verb chain against a specific resource: crawl an external storefront (naming Shopify, WooCommerce, Magento), extract product data, normalize to ImpEx, import to ProductCatalog, sync, and reindex. An agent can immediately distinguish this from siblings like hac_catalog_sync or hac_impex_import because the full extract-transform-load scope is spelled out.

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

Usage Guidelines5/5

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

It explicitly positions itself as 'STEP 2 of the zero-to-live pipeline', names the prerequisite (hac_scaffold_greenfield_site) and the trigger condition (user provides a source_url), and enumerates the exact follow-up tools to invoke under specific conditions (hac_catalog_sync when sync_online=False, hac_solr_reindex when reindex_solr=False, hac_spartacus_doctor + hac_storefront_autofix). Routing is unambiguous.

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