Skip to main content
Glama

Server Details

Shopify store intelligence: search 700K+ stores by revenue, apps and traffic; ads and emails.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
Undercart
Claude
–

TDQS

A4/5.0

Scored across 9 tools

Disambiguation3/5

Most tools target distinct actions, but there are real overlaps: get_store already returns the full technology stack and ad presence, yet list_store_technologies and get_store_ads exist separately, and get_store_email_html is an explicitly 'internal companion' to get_store_email that returns a subset of what includeHtml already provides. Descriptions clarify the distinctions, but an agent could reasonably pick get_store_email_html over get_store_email with includeHtml, or get_store over list_store_technologies.

Naming Consistency4/5

Tool names are consistently snake_case with a verb_noun shape, and the get_store* family (get_store, get_store_ads, get_store_email, get_store_emails) is predictable and hierarchically clear. Minor deviations: 'find_similar_stores' uses a different verb than 'search_stores', and the near-duplicate get_store_email vs get_store_email_html suffix is easy to misread.

Tool Count4/5

Nine tools is a well-scoped set for a Shopify store-intelligence server, with each major resource (profile, ads, emails, tech, categories, similar stores, search) represented. The only bloat is get_store_email_html, which duplicates capability already exposed via get_store_email's includeHtml flag and is described as internal widget plumbing.

Completeness4/5

The surface covers the core lifecycle: discover (search_stores, find_similar_stores), inspect (get_store, list_store_technologies), and drill into ads and emails, with category enumeration for query building. Minor gaps remain: no product-catalog-level tool despite catalog filters in search, no multi-store comparison primitive, and reviews appear only as search filters rather than as retrievable data.

Available Tools

9 tools
find_similar_storesFind similar storesA
Read-only
Inspect

Find Shopify stores similar to a given store: same category and a 0.5x-2x window on annual revenue (the estimate, or the preliminary range's figure for a store not yet researched). Useful for competitive sets and lookalikes. Returns an error if the domain is unknown. Uses search credits like search_stores.

Inputs: domain (required), limit.

get_storeGet store profileA
Read-only
Inspect

Get the intelligence profile for a single Shopify store by domain: revenue estimate (annual before monthly), order estimates, Shopify plan, category, country, founding year, product catalog stats, full technology stack, advertising presence, traffic rank and year-on-year trend, top markets, and social profiles. If Undercart hasn't researched the store yet, this call starts that research and waits for it (usually 15-30 seconds); if it needs longer, the answer carries research.status "researching" with retryAfterSeconds — call get_store again for the same domain after that many seconds (free). A Shopify store Undercart doesn't track yet is added the same way; a domain that isn't a Shopify store returns an error saying so. Research has a daily allowance per account; past it, the answer has public-web data only (enriched: false, see dataNote). Names the site a redirecting domain now lands on. On a capped plan (Free) the first time a store is opened in a month uses 5 of the account's monthly store lookups; opening it again that month is free, whether on Undercart or through any tool.

Inputs: domain (required).

get_store_adsGet store adsA
Read-only
Inspect

The store's advertising activity: per-platform ad presence (active, ad count, estimated monthly spend) and, when a platform is specified, the actual ads currently in that platform's public ad library — headline, body copy, CTA, landing page, first/last seen, and a link to the ad in the library. Each creative carries publicly-fetchable undercart.co imageUrl/videoUrl links serving the actual media (valid ~1 day), which show the ad itself. Creative lookups are cached ~1 day. A store with enriched: false has no ad data yet. Metered like get_store (once per store per month).

Inputs: domain (required), limit, platform.

get_store_emailRead one marketing emailA
Read-only
Inspect

One captured marketing email, by store domain and email id from get_store_emails: the plain-text body, plus — only when includeHtml is true — the sanitized HTML source (htmlBody) for re-rendering the email visually for the user, e.g. as an artifact. Free (not metered) — the get_store_emails call that produced the id already counted the store.

Inputs: domain (required), emailId (required), includeHtml.

get_store_email_htmlEmail HTML (for the email-viewer widget)A
Read-only
Inspect

Internal companion to get_store_email used by the email-viewer widget: returns one captured email's sanitized, image-rewritten HTML, with no plain-text body.

Inputs: domain (required), emailId (required).

get_store_emailsGet store marketing emailsA
Read-only
Inspect

Marketing/newsletter emails Undercart has captured from a store: subject, sender, snippet, extracted discount codes, and received date, newest first, plus the store's emails-per-week cadence. Each email's full body is available from get_store_email by id. Returns an error if the domain is unknown. Metered like get_store (once per store per month).

Inputs: domain (required), limit.

list_store_categoriesList store categoriesA
Read-only
Inspect

List the store categories search_stores accepts, each with how many researched stores it holds and its category-page link. Free (not metered).

Inputs: no named parameters.

list_store_technologiesList store technologiesA
Read-only
Inspect

List the detected technology and app stack for a single Shopify store by domain, grouped by category (e.g. Email Marketing, Reviews, Subscriptions, Analytics), including the Shopify plan. Each app has a status (active; not_seen = missing from the latest look, which is not proof it was removed; removed = two separate reads missed it), when it was first seen (sinceOrEarlier: it was already there the first time we looked) and last seen — dates are YYYY-MM-DD, or YYYY-MM from a monthly crawl. The same timeline as the store's Tech tab. For a store with enriched: false these are the apps HTTP Archive's public crawl saw. Returns an error if the domain is unknown. Metered like get_store (once per store per month).

Inputs: domain (required).

search_storesSearch Shopify stores
Read-only
Inspect

Search Undercart's Shopify store catalog with the store explorer's filters: keywords in the store's own description, category, country, annual revenue, traffic rank and trend, top market, catalog size and price, brands carried (distinct product vendors, own-brand share, a brand the store sells), reviews and review velocity, share on sale, theme, hiring, languages, email cadence, the ad platform a store advertises on (advertisingOn: meta / google / tiktok), and apps installed / added / removed. All filters AND together. The catalog, review, hiring and email filters are only known for the few thousand stores Undercart has researched in depth, so any of them limits the search to those; leave them out to search the whole catalog of ~700k. For multi-brand resellers (stores selling brands they don't own) filter on brandsMin (e.g. 20) and ownBrandMax (e.g. 20), not on description phrases like "top brands" or "authorized dealer", which most resellers' descriptions don't contain. Returns concise store profiles ranked by estimated revenue (annual before monthly): category, country, product count, traffic rank and trend, and top detected apps. Example: beauty stores doing over $10M/yr that use Klaviyo and added Gorgias in the last 90 days. On a capped plan (Free) each search uses 5 of the account's monthly search credits, and repeating an identical search that month is free, so prefer one well-filtered search over many narrow ones.

Inputs: tech, brand, limit, theme, +35 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables users to look up ecommerce store metrics by domain, including estimated revenue, ad spend, traffic, buying signals, and social links. With OAuth login, it also supports searching 600,000+ stores, revealing decision-maker contacts, and managing signal sets and watchlists.
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      DTC competitor intelligence: catalog snapshots, price history, cross-brand product comparison, and drop/restock detection for 84 Shopify-powered brands. Pay-per-call via Apify.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI clients to search Shopify stores and contacts by market, traffic, revenue, apps, pixels, themes, ads, or contact availability, enrich known domains, preview matching contacts, and reveal selected contact details after approval via OAuth.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to discover new and pre-launch Shopify stores from public CT logs and RDAP data, and to check any list of domains for Shopify usage with registration dates and store metadata.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources