Undercart
Server Details
Shopify store intelligence: search 700K+ stores by revenue, apps and traffic; ads and emails.
- 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
Scored across 9 tools
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.
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.
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.
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 toolsfind_similar_storesFind similar storesARead-onlyInspect
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 profileARead-onlyInspect
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 adsARead-onlyInspect
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 emailARead-onlyInspect
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)ARead-onlyInspect
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 emailsARead-onlyInspect
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 categoriesARead-onlyInspect
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 technologiesARead-onlyInspect
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 storesRead-onlyInspect
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
Shopify store intelligence: traffic, revenue, products, competitors, trends across 1M+ stores.
Shopify store and Meta ad intelligence: search stores, traffic, live ads, products, competitors.
Shopify store and ad intelligence: traffic, best sellers, apps, live Meta ads and weekly breakouts.
Search, count and inspect 2.6M+ live Shopify stores by apps, tech stack, theme and country.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables 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
- FlicenseNot gradedqualityCmaintenanceDTC competitor intelligence: catalog snapshots, price history, cross-brand product comparison, and drop/restock detection for 84 Shopify-powered brands. Pay-per-call via Apify.-

com.storeinspect/mcpofficial
AlicenseNot gradedqualityCmaintenanceEnables 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- AlicenseNot gradedqualityBmaintenanceEnables 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
Glama MCP Gateway
Add one secure layer between your agents and this server.