neonjelly

Reference

MCP tools

60 tools. Playbooks for VC, competitor, dropship, merch, outreach — then catalog wrappers.

60 tools. Prefer the Playbooks / VC / Competitor / Dropship / Outreach groups. Raw wrappers are still there when you need one field.

whoami — this key's plan, usedToday, remainingToday, rate limit, expiry, and whether Signals is enabled. Does not meter. Same facts as GET /v1/whoami. Ask Cursor “what's my quota?”

limit is 1–100 unless noted. Lists use offset. Stop when hasMore is false. Search or resolve before inventing a domain.

ToolArgsDoes
whoamiPlan, used today, remaining quota, expiry. Does not meter. Ask “what's my quota?”
upgradeCheckout URL when trial ends or daily quota is 0. Not metered. Show the URL - do not invent one.
list_playbooksComposed-tool map: VC, competitor, dropship, outreach.
get_examplesAlias of list_playbooks.
brief_marketvertical, countryCode, minVisitsTAM: verticals, geos, movers, optional filtered cohort.
cohort_tamfilters, groupBy, groupMetricFiltered catalog rolled up. Not unfiltered countries TAM.
find_peersdomain, limitSame vertical + country + visit band, then compare.
diligence_packdomainIC memo: growth, traffic, stack roles, bestsellers, changes, contacts.
compare_stacksdomains[2–8]Shared vs exclusive apps, tagged by role.
competitor_movesdomain, sinceStore/SKU changes + vertical movers + signal insights if watched. Then create_signal.
overlap_vendorsdomainA, domainB, limitShared vendors and average price gap.
niche_researchq, market?, limit?Semantic product-idea search + saturation report + stores that sell the top hit.
search_product_ideasq, market, priceMin, priceMax, trending, countries, regionProduct names/categories → ideas with seller count and UNTAPPED→SATURATED verdict.
suggest_product_ideasq, limitAutocomplete for product-idea search.
trending_product_ideasProduct ideas that are heating up.
get_product_researchidSaturation report for one idea. Copy id from search_product_ideas.
list_product_sellersid, sort, page, limitStores selling that idea. sort=trafficprice.
screen_dropshipvertical, countryCode, minVisits, priceMax, limitDropship-flagged stores + cheapest SKUs.
source_mapq, vendor, productType, storeVertical, priceMaxVendor → store count + price min/max.
winning_skusstoreVertical or storeDomain, sinceBestsellers, ≥10% markdowns, new products.
product_searchq, storeDomain, vendor, productType, tag, storeVertical, isBestSeller, priceMin, priceMax, sort, order, limitSKU search + facets (vendors, types, stores, price).
product_inteldomain+handle or qOne SKU memo: price vs compare-at, store, SKU history, bestsellers.
change_trackerdomain, since, limitUnified + all product change types + store change types + signal SKUs.
price_watchstoreDomain, productType, since, minPriceChangePctMarkdowns and hikes. Default min 10%.
assortment_watchstoreDomain, productType, sinceNew / removed / bestseller enter / exit.
get_contactsdomain or qEmails + social URLs + ESP/support tells. No phone/owner.
find_outreachvertical, countryCode, appSlug, minVisits, limit≤10Hydrate stores; keep rows with email or social.
resolve_storeqBrand or URL → up to 5 candidates. One hit → full store card.
get_upstream_healthCatalog health JSON.
search_storesq, vertical, category, industry, countryCode, isDropshipper, appSlug, min/max visits & revenue, minRating, groupBy, groupBy2, groupMetric, sort, order, limit, offsetFilter the catalog, or groupBy into tables (not store rows).
get_storedomainOne merchant card: traffic, modeled revenue, rating, apps, socials.
compare_storesdomains[2–8]Side-by-side cards. Missing domains in notFound.
get_store_trafficdomain, limit≤120Monthly visits + channel mix.
get_store_productsdomain, q, isBestSeller, vendor, productType, tag, priceMin, priceMax, sort, order, limit, offsetSKUs for one merchant.
get_store_appsdomainDetected Shopify app stack.
get_store_historydomain, limit≤365Daily snapshots: visits, revenue band, rating, product counts.
get_store_changesdomain, changeType, since, limit, offsetDiffs: revenue, visits, products, rating, apps.
search_productsq, storeDomain, vendor, productType, tag, storeVertical, isBestSeller, priceMin, priceMax, sort, order, limit, offsetCross-store SKU search. At least one filter required.
get_productdomain, handleOne SKU by Shopify handle.
get_product_changesstoreDomain, changeType, productType, since, minPriceChangePct, limit, offsetPrice / new / removed / position / bestseller moves.
get_changesentity, domain, since, limitUnified store + product movement feed.
search_appsq, category, pricingType, minRating, builtForShopify, sort, order, limit, offsetShopify App Store catalog.
get_appslugOne app + install-base sample.
get_app_storesslug, limit, offsetMerchants observed running that app, by visits.
get_analytics_overviewCoverage counts, averages, top verticals and countries.
get_verticalscountryCode, limitMarket size by vertical.
get_countriesvertical, limitUnfiltered geo TAM. Filtered cohort → search_stores groupBy=country.
get_moversmetric, direction, vertical, countryCode, since, minPct, limitStores growing or shrinking. Defaults: metric/direction any, minPct 5.
create_signaldomain, autoTrack?Paid only (trial 403). Create an EcomScout watch on this Neonjelly key. Tight cap. No probe.
list_signalslimit, offsetPaid only (trial 403). Watches stored on this key. Then GET a domain already on Signals.
get_signalidPaid only (trial 403). One signal card. id = Mongo id or domain.
get_signal_statsidPaid only (trial 403). Totals + store profile if already watched.
get_signal_salesid, from, toPaid only (trial 403). Daily units + variants. Needs ≥2 inventory snapshots.
get_signal_inventoryidPaid only (trial 403). Stock timeline.
get_signal_socialidPaid only (trial 403). Follower snapshots.
get_signal_adsid, slice, daysPaid only (trial 403). Ad library. slice: overview (default), ads, correlation, revenue, product-impact, timeline, events.
get_signal_appsid, changes?Paid only (trial 403). Apps on a tracked store. changes=true → /apps/changes.
get_signal_product_changesidPaid only (trial 403). Product movements on a tracked store.
get_signal_insightsidPaid only (trial 403). Per-signal insight feed.
list_signal_insightslimit, offsetPaid only (trial 403). Account-wide insights. Empty unless the key owns watches. Prefer get_signal_insights + domain.

Signals: create_signal (paid only, 8 watches on Explorer) maps the Neonjelly key to an EcomScout watch. GET stats/sales/ads/inventory if the domain is already on Signals. Neonjelly does not probe, patch, stop, or delete. Partner service keys cannot create new EcomScout watches — create still stores the domain on your key; new watches may need the EcomScout Signals dashboard.