Available Tools
The Intelligems MCP Server exposes your Intelligems to AI assistants as a set of tools. This page lists every tool, what it does, and its parameters.
Conventions
A few things apply to nearly every tool:
organization— Every tool accepts an optionalorganizationparameter (name or ID). If omitted, the tool runs against your current organization. Agencies and multi-store users can pass it per call to work across stores in one session.IDs — Experience and experiment IDs are UUIDs. Get them from
search_experiments,search_experiences,list_experiments, orget_experiences_list_full.Currency — Money values are returned in the store's default currency. Use
get_shop_infoto check which.Large results — Tools that can return very large datasets (exports, full price matrices) return a presigned S3 download URL valid for roughly 15 minutes rather than inlining the data.
Organization & Configuration
list_organizations
List all Intelligems organizations you have access to. Supports filtering by installation status and sorting.
Parameters:
isInstalled(optional): Filter by installation status. Default:truesortBy(optional):"name","shopId","createdAt","lastLogin"nameContains(optional): Filter by name (case-insensitive substring match)limit(optional): Maximum results to return
Example response:
json
get_organization
Get detailed information about a specific organization, including currency, timezone, Shopify settings, and enabled features.
Parameters:
organization(optional): Organization name or ID
get_shop_info
Get basic store metadata — store name, domain, currency, Shopify plan, and timezone. Useful for confirming which currency and timezone analytics results are expressed in.
Parameters:
organization(optional): Organization name or ID
list_integrations
List all active integrations for an organization (Google Analytics, Klaviyo, Recharge, Slack, etc.).
Parameters:
enabled(optional): Filter by enabled statusintegrationName(optional): Filter by exact integration namenameContains(optional): Filter by name (case-insensitive substring match)limit(optional): Maximum results to returnorganization(optional): Organization name or ID
Example response:
json
Finding Experiences & Experiments
These four tools cover discovery. Use the search_* tools when you need to find something by name or status; use the list_* tools when you need full configuration.
search_experiments
Find or discover A/B tests, price tests, and experiments. Returns minimal info (id, name, status, description, type, timestamps, variation count).
Parameters:
status(optional):"pending","started","ended","paused"nameContains(optional): Case-insensitive partial name matchsortBy(optional):"name","createdAt","lastUpdate","startedAt","endedAt"sortOrder(optional):"asc"or"desc"(default)limit(optional): Maximum results per pagepage(optional): Page number, 1-basedorganization(optional): Organization name or ID
search_experiences
Same as above, but for experiences (long-running, evergreen shopper experiences rather than A/B tests).
Parameters: Same as search_experiments
list_experiments
Full experiment details including variations, targeting rules, and configuration.
Parameters: Same as search_experiments
Example response:
json
get_experiences_list_full
Full experience details including variations, targeting rules, and configuration.
Parameters: Same as search_experiments
get_experience
Detailed information about one specific experiment or experience: variations, targeting rules, and configuration.
Parameters:
id(required): UUID of the experiment or experienceorganization(optional): Organization name or ID
get_experience_metrics_config
The success metrics configured for a specific test (revenue, conversion rate, AOV, custom goals). Returns configuration only, not performance data — use analyze_experience for results.
Parameters:
experienceId(required): UUID of the experiment or experienceorganization(optional): Organization name or ID
Creating & Managing Experiences
These tools write to your Intelligems account. Your AI client will ask you to confirm before running them.
create_experience
Create a new experience or experiment. Available fields depend on the experience type (content, offers, and so on).
Parameters:
Experience configuration fields — name, type, variations, targeting, and traffic allocation
organization(optional): Organization name or ID
New experiences are created as drafts. They reach no shoppers until explicitly started.
update_experience
Update the non-price fields of an existing experience: metadata, variations, targeting rules, traffic allocation, and other configuration. To change prices on a price test, use the price test tools below.
Parameters:
id(required): UUID of the experience to updateFields to change
organization(optional): Organization name or ID
experience_action
Perform a lifecycle action on an experience: start, pause, or end it.
Parameters:
id(required): UUID of the experienceaction(required):"start","pause", or"end"organization(optional): Organization name or ID
Price Test Products
Price changes use a prepare → review → commit pattern. The prepare tools stage a change and return a human-readable diff plus a productVariantAction reference; nothing is applied until you pass that reference to commit_price_test_products. Commits update prices only — audience targeting, page targeting, and every other field are preserved.
get_price_test_products
Read the current per-variant prices and test groups for an existing price test. Returns each product with its variants and per-group prices, each row carrying its variationId and group name (e.g. Control Group, New Group 1).
Small result sets return inline; large ones return a presigned S3 URL. Use the title filters for targeted edits so you don't pull the whole product matrix.
Parameters:
experienceId(required): UUID of the price testproductTitleContains(optional): Return only products whose title contains this substringvariantTitleContains(optional): Within those products, keep only matching variantsorganization(optional): Organization name or ID
prepare_price_test_products
Quick-fill prices across a test group by intent. Applies a relative price transform (percent or dollar delta, with optional rounding) to the targeted group and stages the result.
Parameters:
experienceId(required): UUID of the price testscope(required): What to transform — a whole test group ({ type: "variation", variationId }), specific products ({ type: "products", variationId, productIds }), or specific variants ({ type: "variants", variationId, variantIds })transform(required):change(required): Magnitude of the change; negative to lower priceschangeUnit(required):"percent"or"dollar"roundingType(optional):"none","nearest","up","down"roundingAmount(optional): Fractional target, e.g.0.99
organization(optional): Organization name or ID
This tool applies relative changes only. To set an exact price, read current prices first and pass the difference as a dollar change.
commit_price_test_products
Apply a staged price change to a price test. Processed asynchronously — the response reports the change as queued, not live.
Parameters:
experienceId(required): UUID of the price testproductVariantAction(required): The staged reference returned by a prepare tool, passed through unchangedorganization(optional): Organization name or ID
Test Results & Analytics
analyze_experience
The main results tool. Returns performance metrics, statistical significance, and variation comparisons for both experiments and experiences.
Parameters:
experienceId(required): UUID of the experiment or experienceview(optional):"overview"(default) for aggregate metrics,"audience"for a segment breakdown,"post_test"for post-test customer valueaudience(optional): Required whenview="audience"—device_type,visitor_type,source_channel,source_site,country_code,landing_page_full_pathtestResult(optional): Whentrue, also returns a verdict —strong_win,directional_win,directional_loss,strong_loss,mixed_signals, ornot_readyuntil the test has roughly 7+ days live and 300+ orders per groupanalyticsViewType(optional):"sitewide_orders"or"test_orders_only". Defaults to the experience's configured value.includeInTestOrders(optional): Only forview="post_test". Defaulttrue.topN(optional): Only forview="audience". Caps the breakdown at the top N segments by visitor count (1–1000).graphs(optional):{ ids: [...], outputFormat: "png" | "base64" }to render branded charts inline. See Charts for the 30 available chart IDs.start/end(optional): ISO 8601 or 10-digit epoch secondsfilters(optional): See Filters referenceorganization(optional): Organization name or ID
Every statistical metric in the response includes:
value— the metric valueci_low/ci_high— 95% confidence interval boundsplus_minus— half-width of the confidence intervalp2bb— probability to be best (0–1)p2bc— probability to beat control (0–1)uplift— relative lift over control, with its own confidence interval
p2bc and uplift are relative to control and appear only on non-control variations.
get_variation_overview
Overall performance metrics for each variation. The fastest way to answer "how's my test doing?" Each metric returns with uplift vs. control, p2bb, p2bc, and confidence intervals.
Parameters:
id(required): UUID of the experiment or experiencemetrics(optional):conversion_rate,n_orders,n_visitors,net_revenue,net_revenue_per_visitor,gross_profit_per_visitor,net_product_revenue_per_order,net_shipping_revenue_per_order,net_revenue_per_orderstartTs/endTs(optional): Time range. Defaults to the experiment window.Filters:
deviceType,visitorType,customerType,countryCodes,sourceSitesOrChannels,addedToCart,reachedCheckoutStage,triggeredCustomEvents+customEventsFilterType,experimentProductsOnly,maxZScoreorganization(optional): Organization name or ID
get_variation_audience
The same metrics as get_variation_overview, broken out per segment per variation. Use it to answer "is mobile dragging down conversion?" or "which country is driving the uplift?"
Parameters:
id(required): UUID of the experiment or experienceaudience(required):device_type,visitor_type,source_channel,source_site,country_code,landing_page_full_pathtopN(optional): Caps the breakdown at the top N segments (1–1000). By default onlycountry_codeandlanding_page_full_pathare capped, at 10.metrics, time range, and filters: same asget_variation_overvieworganization(optional): Organization name or ID
get_variation_products
Product-level or variant-level test metrics per variation. Use it to find which products are driving or dragging variation-level results.
Returns per product per variation: n_orders, pct_orders, orders_per_visitor, unit_quantity, units_per_visitor, net_product_revenue, net_product_revenue_per_visitor, gross_product_profit, gross_profit_per_visitor, atc_rate, and is_experiment_product.
Parameters:
id(required): UUID of the experiment or experiencereturnVariants(optional):truefor Shopify variant-level metrics. Defaultfalse.topN(optional): Number of top products or variants by revenue. Default 20.includeCheckoutUpsellBreakdown(optional): Adds per-product checkout-upsell columnsincludePostPurchaseOfferBreakdown(optional): Adds per-product post-purchase-offer columnsTime range and filters: same as
get_variation_overvieworganization(optional): Organization name or ID
Profit columns require COGS to be configured for the store.
get_variation_timeseries
Test metrics over time for each variation. Use it to check whether results have stabilized, spot promo distortion, or find when a variant started winning.
Parameters:
id(required): UUID of the experiment or experienceinterval(required):HOUR,DAY, orWEEKmode(required):"cumulative"(running totals — has the test stabilized?) or"discrete"(per-period values — where's the variance?)metrics, time range, and filters: same asget_variation_overvieworganization(optional): Organization name or ID
get_experience_timeseries
Per-variant metrics over time with a filters object rather than flat filter parameters.
Parameters:
experienceId(required): UUID of the experiencegranularity(optional):hour,day,week,month. Defaultday.mode(optional):"cumulative"(default) or"noncumulative"metrics(optional):conversion_rate,net_revenue_per_visitor,gross_profit_per_visitor,aov,n_visitors,n_orders,net_revenue. Defaults to the first three.startTs/endTs(optional): 10-digit Unix epoch strings in secondsfilters(optional): See Filters referenceorganization(optional): Organization name or ID
Profit metrics return null when COGS are not configured. Check the top-level cogsConfigured and cogsCoveragePct fields.
get_experience_export
Download order-level or line-item-level CSV export data for an experience. Returns a presigned S3 URL valid for roughly 15 minutes; check the expiresIn field for the exact TTL.
Use it to investigate order discrepancies, analyze individual transactions, audit test assignment, or run custom analysis outside the standard metrics.
Parameters:
experienceId(required): UUID of the experienceexportType(required):orders— every order with variation assignment, revenue, shipping, discount, and visitor metadataorder_line_items— individual product line items within each orderorder_reconciliation— reconciliation data for auditing order and revenue attribution
startTs/endTs(optional): 10-digit Unix epoch strings in secondsfilters(optional): See Filters referenceorganization(optional): Organization name or ID
Sitewide Store Analytics
These tools report on overall store performance, independent of any specific test.
get_sitewide_snapshot
Current-state KPIs with period-over-period percent change. Answers "how's my store doing?"
Parameters:
feature(optional): Metric set — pass"performance","order","conversion", or{ "name": "audience", "audience": "<dimension>" }. Omit to receive every metric this endpoint produces.performance:
gross_profit_per_visitor,net_revenue_per_visitor,conversion_rate,aov,gross_margin_pct,gross_profit,net_revenue,n_orders,n_visitors,average_discount,pct_revenue_with_cogsorder:
aov,n_visitors,n_orders,median_order_value,average_units_per_order,pct_orders_with_free_shipping,net_shipping_revenue_per_orderconversion:
viewed_collection_page_rate,viewed_product_page_rate,add_to_cart_rate,checkout_begin_rate,conversion_rate,bounce_rate,abandoned_cart_rate,abandoned_checkout_rateaudience: the sitewide metric set broken down by
device_type,visitor_type,source_channel,source_site,country_code, orlanding_page_full_path
start/end(optional): ISO 8601 datetime strings.startdefaults to one week ago.filters(optional): See Filters referenceorganization(optional): Organization name or ID
get_sitewide_timeseries
The same territory as the snapshot, but over time. Answers "how has my conversion rate trended this month?"
Parameters:
feature(optional): Same selector as the snapshot, but the underlying metric sets differ. Omittingfeaturehere also returns per-session and per-unit rates (sessions_per_visitor,conversion_rate_per_session,net_revenue_per_session,gross_profit_per_session,cost_of_revenue) that the snapshot cannot compute. Conversely,median_order_valueandaverage_discountare snapshot-only.granularity(optional):day,week,month. Defaultweek.start/end(optional): ISO 8601 datetime strings.startdefaults to 12 weeks ago.filters(optional): See Filters referenceorganization(optional): Organization name or ID
get_sitewide_order_distribution
Order-value distribution for the store — a histogram plus unit-mix breakdown. Useful for setting free-shipping thresholds and tier boundaries.
Parameters:
start/end(optional): ISO 8601 datetime stringsfilters(optional): See Filters referenceorganization(optional): Organization name or ID
get_sitewide_conversion_funnel
The sitewide conversion funnel as a Sankey graph — nodes and links across traffic source, landing page, cart, checkout, and conversion.
Parameters:
start/end(optional): ISO 8601 datetime stringsfilters(optional): See Filters referenceorganization(optional): Organization name or ID
Seasonal Event Benchmarking
get_event_snapshot
A KPI snapshot for a seasonal event — BFCM, Labor Day, Memorial Day, Presidents' Day, and others — so you can compare this year's performance to prior years.
Parameters:
Event selector and comparison period
organization(optional): Organization name or ID
get_event_timeseries
The same seasonal event benchmarking data as a time series across the event window.
Parameters:
Event selector, comparison period, and granularity
organization(optional): Organization name or ID
Shopify Catalog & Content
search_products
Search the Shopify product catalog by keyword, title, description, or tags.
Parameters:
query(required): Search termlimit(optional): Maximum results. Default 20.organization(optional): Organization name or ID
Example response:
json
list_products
List products in the store via the Shopify Admin API, with filtering by title, vendor, or tag. Use this when browsing rather than searching for a known term.
Parameters:
Filters for title, vendor, and tag, plus pagination
organization(optional): Organization name or ID
get_product
Detailed information about a single product, by handle or ID. Pass format: "json" when you need variant IDs — the markdown format omits them.
Parameters:
Product handle or ID
format(optional):"markdown"(default) or"json"organization(optional): Organization name or ID
get_products
Title, product type, and collection membership for many products by ID in a single call. Use it instead of looping get_product.
Parameters:
Array of product IDs
organization(optional): Organization name or ID
list_collections
Browse or search product collections.
Parameters:
first(optional): Number of collections to fetch. Default 20.after(optional): Pagination cursorquery(optional): Search filter for collection nameorganization(optional): Organization name or ID
Example response:
json
get_collection_products
Get the products within a specific collection, by the collection's URL handle. The usual way to scope a price test to a collection.
Parameters:
Collection handle
organization(optional): Organization name or ID
list_pages
Browse or search content pages in the store — About, Contact, FAQ, Terms, and so on.
Parameters:
first(optional): Number of pages to fetch. Default 20.after(optional): Pagination cursorquery(optional): Search filter for page titleorganization(optional): Organization name or ID
search_policies
Search store policies, FAQs, shipping info, returns, privacy, and other store rules.
Parameters:
query(required): Search termorganization(optional): Organization name or ID
Shopify Sales Data
These tools read Shopify's own sales reporting through ShopifyQL.
get_sales_overview
Start here for overall store performance from Shopify's data: total sales, orders, AOV, and returning customer rate, grouped by time period.
Parameters:
period(optional): Relative window, e.g."7d","30d","90d","1y". Default"1y". Ignored ifstart_tsis provided.start_ts/end_ts(optional): Absolute dates inYYYY-MM-DDformatgroup_by(optional):day,week,month,quarter,year. Defaultmonth.format(optional):"markdown"(default) or"json"organization(optional): Organization name or ID
get_revenue_by_product
Product revenue rankings. Returns per product: net_sales, orders, net_items_sold, and pct_revenue.
Parameters:
sort(optional):"top"(default) or"bottom"limit(optional): Maximum products. Default 20, max 1000.period(optional): Relative window. Default"30d".start_ts/end_ts(optional): Absolute dates inYYYY-MM-DDformatformat(optional):"markdown"(default) or"json"organization(optional): Organization name or ID
get_revenue_by_product_timeseries
Product metrics over time. Returns a pivot table per metric with products as rows and time buckets as columns.
Parameters:
Same time-window and formatting parameters as
get_revenue_by_product, plus a granularity selectororganization(optional): Organization name or ID
get_shopifyql_reference
Discover the ShopifyQL datasets and fields available to your store. Run this before writing a custom query.
Parameters:
organization(optional): Organization name or ID
run_shopifyql_query
Execute an arbitrary ShopifyQL query for custom analyses the convenience tools don't cover. Queries run against the Shopify Analytics API — see Shopify's ShopifyQL reference for syntax, and use get_shopifyql_reference to discover available datasets and fields.
Results are paginated automatically up to 10,000 rows. Include an explicit LIMIT or OFFSET to control pagination yourself.
Parameters:
query(required): The ShopifyQL query, e.g.FROM sessions SHOW sessions, online_store_visitors GROUP BY referrer_source SINCE -30d ORDER BY sessions DESC LIMIT 10format(optional):"markdown"(default) or"json"organization(optional): Organization name or ID
Charts & Visualization
generate_intelligems_graph
Generate branded Intelligems chart images for an experiment. Returns S3 URLs to PNG images.
Parameters:
experienceId(required): UUID of the experiment or experiencegraphs(optional): Array of chart IDs to renderorganization(optional): Organization name or ID
Available chart IDs (30):
conversion_rate, add_to_cart_rate, abandoned_cart_rate, abandoned_checkout_rate, checkout_begin_rate, checkout_enter_contact_info_rate, checkout_address_submitted_rate, view_product_page_rate, view_collection_page_rate, net_revenue_per_visitor, net_revenue_per_order, net_product_revenue_per_order, net_shipping_revenue_per_order, avg_units_per_order, avg_product_revenue_per_unit, profit_per_visitor, subscription_product_revenue_per_order, subscription_revenue_per_order, subscription_orders_per_visitor, subscription_revenue_per_visitor, subscription_profit_per_visitor, profit_per_order, pct_orders_free_shipping, avg_discount_per_discounted_order, avg_discount_per_all_orders, pct_subscription_orders, pct_orders_with_post_purchase_offer, net_revenue_from_post_purchase_offer, pct_orders_with_upsell, net_revenue_from_upsell
Note that revenue_per_visitor is not a valid ID — use net_revenue_per_visitor.
generate_custom_graph
Generate a branded Intelligems chart image from raw data. Use it for custom datasets or metrics that aren't tied to a specific experiment — for example, plotting probability to beat control per variation across a test's duration.
Parameters:
data(required): The raw data to visualizeorganization(optional): Organization name or ID
Custom Events & Offers
list_custom_events
List all custom tracking events configured for your organization: page views, click events, scroll depth tracking, and custom JavaScript events. Returns configuration, not event data.
Parameters:
organization(optional): Organization name or ID
Example response:
json
list_offers
List all offers configured for your organization: tiered discounts, cart discounts, free gifts, and free shipping.
Parameters:
enabled(optional): Filter by enabled statusisTest(optional): Filter by test mode statusisArchived(optional): Filter by archived statusapplicationType(optional): Filter by discount application typenameContains(optional): Filter by name (case-insensitive substring match)limit(optional): Maximum results to returnorganization(optional): Organization name or ID
Example response:
json
Filters reference
Several analytics tools accept a shared filters object. The experiment-level tools (get_variation_*) accept these same fields as flat top-level parameters instead.
Audience
deviceType:"mobile","desktop", or"any"visitorType:"new","returning", or"any"customerType:"new"or"returning"countryCodes: Array of ISO 3166-1 alpha-2 codes, e.g.["US", "GB"]countryCodesFilterType:"include"(default) or"exclude"sourceSitesOrChannels: Array of channel names, e.g.["Paid Social", "Google", "Email"]
Landing page
landingPageFilters: Array of{ filterType, values }items. Operators:equals,contains,startsWith,endsWith,doesNotEqual,doesNotContain,doesNotStartWith,doesNotEndWith,isNull,isNotNull. Values within an item are OR'd.landingPageFiltersOperator:"or"(default) or"and"landingPageTypes:PDP,Collection,Content,Blog,Homepage,Search,Cart,OtherlandingPage: Deprecated. Single-path filter retained for backwards compatibility. UselandingPageFiltersin new integrations.
Behavior
userBehavior: Object with optional boolean flagsviewedCheckout,addedToCart,viewedProductPage,viewedCollectionPage. Multiple true flags are combined with AND.reachedCheckoutStage:"started","contact_info_submitted","address_info_submitted"triggeredCustomEvents: Array of custom event identifiers. RequirescustomEventsFilterType("any","all", or"none") to have any effect.urlParam: Object withqueryParam,queryParamValue, andqueryParamFilterType
Product
onlyProductIds: Array of Shopify product IDs as numeric stringsonlyProductHandles: Array of Shopify product handlesexperimentProductsOnly: Whentrue, only include orders containing configured target products
Order
minNetRevenue/maxNetRevenue: Inclusive bounds on order net revenueminShippingRevenue/maxShippingRevenue: Inclusive bounds on shipping revenueshippingMethods: Array of shipping method namesmaxZScore: Outlier threshold on order net revenue. Default 3. Null disables outlier filtering.currencyCodesandcurrencyCodesFilterType: Sitewide tools only — filter by ISO 4217 order currency
Filter operators that expect values (everything except isNull and isNotNull) will return a 400 if the value is missing or empty, rather than silently matching nothing.
Last updated
Was this helpful?