Skip to main content
Glama
mambalabsdev

mcp-ecommerce-platform-profiler

Profile Ecommerce Platform

profile_ecommerce_platform
Read-onlyIdempotent

Detect a storefront's ecommerce platform, payment providers, and catalogue size from homepage and sitemap, returning a structured row with currencies, shipping destinations, and apps for profiling.

Instructions

Detect which ecommerce platform a storefront runs on (Shopify, WooCommerce, Magento, BigCommerce, Salesforce Commerce, Squarespace, Wix, PrestaShop or commercetools), plus its payment providers, subscription and marketplace apps, an estimated catalogue size, currencies and shipping destinations. Returns one flat Clay ready row. Static homepage and sitemap reads only, no browser, so a storefront that reveals its platform only after JavaScript runs is reported as not_extractable rather than labelled with the nearest guess. Confidence follows the KIND of evidence: a vendor header is high, a substring in the HTML is low. Read only; requires an APIFY_TOKEN and consumes Apify credits per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skipCacheNoWhen "false" (default) a successful lookup is cached for seven days and reused, which costs you nothing on a repeated run. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility.
company_nameNoOptional but strongly recommended. It is what the identity gate checks a discovered record against, so supplying it is the single cheapest way to reduce wrong matches.
checkCheckoutNoWhen "true" the public cart page is also read, because several payment and buy now pay later providers load there and not on the homepage. This never adds an item, never starts a checkout and never submits anything: it is a plain read of a public URL. Costs one extra request. Sent as a string for Clay compatibility.
company_domainNoBare company domain, for example allbirds.com. This is the storefront that gets read, and it is the join key against every other actor in the fleet including the Pinterest brand presence mapper.
escalateOnBlockNoWhen "true" (default) a storefront that answers 403 or 429 is retried once from a residential exit, because a bot challenge on a first read is common and one retry clears a fair share of them. Set "false" to fail fast and cheap. Sent as a string for Clay compatibility.
includeProductCountNoWhen "true" (default) the catalogue size is estimated, from the Shopify products endpoint where the store is Shopify and from the sitemap otherwise. It costs one or two extra requests. Sent as a string for Clay compatibility.
includePaymentProvidersNoWhen "true" (default) the payment provider scripts loaded on the storefront are detected. Providers that load only inside a real checkout are invisible from the homepage, which is why checkCheckout exists. Sent as a string for Clay compatibility.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior5/5

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

The description layers substantial behavioral context beyond the readOnly/openWorld/idempotent annotations: no browser execution, static-read-only methodology, confidence tied to evidence kind (vendor header high, HTML substring low), the not_extractable fallback instead of guessing, and the requirement for an APIFY_TOKEN with per-call credit consumption. It is fully consistent with annotations — 'Read only' matches readOnlyHint=true, and the safety guarantees ('never adds an item, never starts a checkout, never submits anything') reinforce the non-destructive profile.

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?

Five sentences, each earning its place: scope, output format, method/limitation, confidence model, and auth/cost. Core purpose is front-loaded in the first clause, and there is zero filler or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no output schema and no siblings, the description covers everything an agent needs to select and invoke it correctly: the detected attributes stand in for output fields, the flat-row return shape is stated, failure behavior (not_extractable) is disclosed, and operational requirements (credits, token, cost) are explicit. The rich input schema carries parameter semantics, leaving no material gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema does the heavy lifting. The parameter descriptions are exceptionally rich on their own (caching semantics, why checkCheckout exists, residential-exit retry behavior), and the main description wisely does not repeat them. It adds only peripheral context like the APIFY_TOKEN credential requirement; no compensation for missing parameter documentation is needed.

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 opens with a specific verb and resource — 'Detect which ecommerce platform a storefront runs on' — and enumerates the full target set (Shopify, WooCommerce, Magento, etc.) plus the secondary data points (payment providers, catalogue size, currencies, shipping destinations). It also states the output shape ('one flat Clay ready row'), leaving no ambiguity about what the tool produces.

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?

With no sibling tools to differentiate against, the description instead sets clear applicability boundaries: it is a static homepage/sitemap read, and a storefront that only reveals its platform after JavaScript runs is reported as not_extractable rather than guessed. This implicitly tells an agent when the tool is the right choice and when results will be inconclusive, though it stops short of explicit when-to-use/when-not-to-use phrasing or named alternatives.

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

Deploy Server

Other Tools