Skip to main content
Glama

E-Commerce Store Enricher

Enrich an online store: platform, catalog, apps and contacts

enrich_store
Read-onlyIdempotent

Reads one online store and returns its platform, catalog figures, installed apps and contact details. Use it when the user asks what a store runs on, how big its catalog is, what it charges, which apps it uses, or how to reach it, such as "what does allbirds.com run on?". Pass the store's domain or home page. It returns the platform and Shopify theme, country and currency, the product count with stock and price figures from the public product feed, 5 sample products, 44 detectable apps by category, and contact emails, phones and social links with a mail-ready flag per email domain. It obeys robots.txt and reads public stores only. Don't use it to look up a private person or to collect addresses for bulk mail.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "url": "allbirds.com"
    },
    "name": "enrich_store"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesThe store's domain or home page, such as allbirds.com or https://www.nalgene.com
check_mailNoCheck MX, SPF and DMARC for the first email domains found (true by default)
max_contact_pagesNoContact, about and policy pages to read after the home page; 3 by default
max_product_pagesNoPages of the public product feed to read (250 products a page on Shopify, 100 on WooCommerce); 0 skips the catalog; 2 by default

Output Schema

NameRequiredDescriptionDefault
urlYesThe home page address after redirects
noteYes
as_ofYesISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch.
errorNoWhy the store was not read, when status is not ok
inputYesThe store as given
notesYesLimits of this answer; show them
domainYesThe store's host without www.
emailsYesEmails the store publishes
phonesNoPhones from tel: links, in E.164 form
sourceYesWho the data comes from, to cite and to check it against.
statusYes
countryNoTwo-letter country code the store names, on Shopify
socialsYes
themeIdNoThe Shopify theme id
vendorsNoBrands or vendors, most products first
currencyNoThree-letter currency code
languageNoThe page language
platformYes
priceAvgNoMean product price
priceMaxNoHighest product price
priceMinNoLowest product price, in currency
storeNameNoThe store's name
themeNameNoThe Shopify theme name
enrichedAtNo
descriptionNoThe store's meta description
priceMedianNoMedian product price
scrapedUrlsNoThe pages and feed pages read, in order
emailDomainsNo
inStockCountNoProducts with stock, of those read
productCountNoProducts found; a lower bound when productCountExact is false
productTypesNoProduct types or categories, most products first
technologiesYesApps, pixels and payment methods detected on the home page
catalogSourceNoWhere the catalog figures come from
appsByCategoryNo
sampleProductsNoUp to 5 of the newest products
myshopifyDomainNoThe store's myshopify.com address, on Shopify
outOfStockCountNoProducts without stock, of those read
phonesUncertainNoNumbers seen in page text, not in a tel: link
untrusted_sourceYes
productCountExactNo
latestProductPublishedAtNoWhen the newest product was published, as ISO 8601

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, but the description adds genuinely new traits: it obeys robots.txt, reads public stores only, samples 5 products and 44 detectable apps, and flags mail-readiness per email domain. The only miss is that it doesn't mention cost/latency implications of crawling multiple pages.

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?

Front-loaded with purpose, then usage triggers, then return contents, then constraints and exclusions — a sensible order. It is slightly long and the return-value enumeration partially duplicates the output schema, but every clause is informative.

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 crawling/enrichment tool with full annotations, a complete schema and an output schema, the description covers intent, inputs, scope limits and prohibitions. Nothing an agent needs before calling is absent.

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 check_mail, max_contact_pages and max_product_pages are already documented; the description only restates 'Pass the store's domain or home page', which duplicates the url field description. Baseline 3 applies since the schema carries the parameter burden.

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?

Opens with a specific verb and resource ('Reads one online store') and enumerates exactly what comes back: platform, catalog figures, installed apps, contact details. An agent can tell instantly this is a store-enrichment lookup and not related to the feedback/indexing siblings.

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?

Gives concrete triggering intents ('what a store runs on', 'how big its catalog is', 'what it charges', 'which apps it uses', 'how to reach it') plus a worked example query. It also states explicit exclusions: don't use it for private-person lookups or bulk-mail address harvesting.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.