Skip to main content
Glama

Look something up

lookup
Read-onlyIdempotent

Read-only lookups an app offers beyond its items; nothing changes on the store. popups: code { code } (a discount code's status, times used, dates, whether a popup gave it out), expired_codes { days?: 7|30|90 } (how many expired, unused codes the app made), sending_domain { verify?: true } (own sending domain status + the DNS records to add; verify re-checks the DNS), subscriber_export { campaign?, channel?: 'email'|'sms', range?: 'today'|'7'|'30'|'month' } (a link that opens the Subscribers page in the merchant's Shopify admin with those filters, where they click Export CSV: subscriber contact details never come through this connector). bundles: offer_settings { offer? | type? | look?, keys? } (every setting key an offer type or the shared look takes, with its current value), templates (the offer templates for create). sticky_cart: cart_settings { section?, keys? } (every editor setting with its type and current value), css_classes (class names for custom CSS), templates (the drawer templates), translation_texts { language? } (store languages + every cart text with its original). translate: job { id }, translation_status, translation { type, item, language }, backups, images, export, store_settings (the Store translations page settings), tone_preview { language } (3 products translated with the saved tone; nothing is saved). accessibility: scan { id? }, scans, job { id }, reports (no shopper contact details), alt_text, statement. page_speed: job { id }, speed_test, seo_check, fixes, images { products? }, redirects, llms. Long-running actions (translation runs, scans, speed tests, compression, alt text…) are started by publishing a draft; poll them with the app's job lookup and the id from the publish summary. get_write_guide lists each app's lookups.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "app": "<app>",
      "name": "<name>"
    },
    "name": "lookup"
  }
}

Input Schema

NameRequiredDescriptionDefault
appYesWhich EA app: sticky_cart = EA • Sticky Cart (cart drawer, sticky add-to-cart bar, quick buy, cart upsells, rewards / free-shipping goals, every editor setting incl. custom CSS / HTML and templates, cart A/B tests, cart translations, checkout payment / shipping method rules); bundles = EA • Bundles & Upsell (bundle deals, quantity breaks, upsell popups, checkout upsells); popups = EA • Email Popups (spin-to-win wheel and email / SMS sign-up popup campaigns); translate = EA • Auto Translate (store translation and language selector); accessibility = EA • Accessibility (accessibility widget and store accessibility scans); page_speed = EA • SEO & Page Speed (speed optimisations and SEO); free_shipping_bar = EA • Free Shipping Bar (free shipping progress bar); rewards_bar = EA • Gift & Rewards Bar (gift and rewards progress bar); announcement_bar = EA • Announcement Bar (announcement bar); countdown_bar = EA • Countdown Bar (countdown timer bar)
nameYesThe lookup, e.g. code, expired_codes, sending_domain, subscriber_export
storeNoWhich connected store (its myshopify address, e.g. other-store.myshopify.com). Leave it out for the default store; list_stores shows them.
paramsNoThe lookup's parameters, e.g. { code: "WELCOME10" }

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / app / description
      Previous value: -"Which EA app: sticky_cart = EA • Sticky Cart (cart drawer, sticky add-to-cart bar, quick buy, cart upsells, rewards / free-shipping goals, checkout payment / shipping method rules); bundles = EA • Bundles & Upsell (bundle deals, quantity breaks, upsell popups, checkout upsells); popups = EA • Email Popups (spin-to-win wheel and email / SMS sign-up popup campaigns); translate = EA • Auto Translate (store translation and language selector); accessibility = EA • Accessibility (accessibility widget and store accessibility scans); page_speed = EA • SEO & Page Speed (speed optimisations and SEO); free_shipping_bar = EA • Free Shipping Bar (free shipping progress bar); rewards_bar = EA • Gift & Rewards Bar (gift and rewards progress bar); announcement_bar = EA • Announcement Bar (announcement bar); countdown_bar = EA • Countdown Bar (countdown timer bar)"New value: +"Which EA app: sticky_cart = EA • Sticky Cart (cart drawer, sticky add-to-cart bar, quick buy, cart upsells, rewards / free-shipping goals, every editor setting incl. custom CSS / HTML and templates, cart A/B tests, cart translations, checkout payment / shipping method rules); bundles = EA • Bundles & Upsell (bundle deals, quantity breaks, upsell popups, checkout upsells); popups = EA • Email Popups (spin-to-win wheel and email / SMS sign-up popup campaigns); translate = EA • Auto Translate (store translation and language selector); accessibility = EA • Accessibility (accessibility widget and store accessibility scans); page_speed = EA • SEO & Page Speed (speed optimisations and SEO); free_shipping_bar = EA • Free Shipping Bar (free shipping progress bar); rewards_bar = EA • Gift & Rewards Bar (gift and rewards progress bar); announcement_bar = EA • Announcement Bar (announcement bar); countdown_bar = EA • Countdown Bar (countdown timer bar)"
  2. Changed1 schema field changed
    • changedInput schema / properties / app / description
      Previous value: -"Which EA app: sticky_cart = EA • Sticky Cart (cart drawer, sticky add-to-cart bar, quick buy, cart upsells, rewards / free-shipping goals); bundles = EA • Bundles & Upsell (bundle deals, quantity breaks, upsell popups, checkout upsells); popups = EA • Email Popups (spin-to-win wheel and email / SMS sign-up popup campaigns); translate = EA • Auto Translate (store translation and language selector); accessibility = EA • Accessibility (accessibility widget and store accessibility scans); page_speed = EA • SEO & Page Speed (speed optimisations and SEO); free_shipping_bar = EA • Free Shipping Bar (free shipping progress bar); rewards_bar = EA • Gift & Rewards Bar (gift and rewards progress bar); announcement_bar = EA • Announcement Bar (announcement bar); countdown_bar = EA • Countdown Bar (countdown timer bar)"New value: +"Which EA app: sticky_cart = EA • Sticky Cart (cart drawer, sticky add-to-cart bar, quick buy, cart upsells, rewards / free-shipping goals, checkout payment / shipping method rules); bundles = EA • Bundles & Upsell (bundle deals, quantity breaks, upsell popups, checkout upsells); popups = EA • Email Popups (spin-to-win wheel and email / SMS sign-up popup campaigns); translate = EA • Auto Translate (store translation and language selector); accessibility = EA • Accessibility (accessibility widget and store accessibility scans); page_speed = EA • SEO & Page Speed (speed optimisations and SEO); free_shipping_bar = EA • Free Shipping Bar (free shipping progress bar); rewards_bar = EA • Gift & Rewards Bar (gift and rewards progress bar); announcement_bar = EA • Announcement Bar (announcement bar); countdown_bar = EA • Countdown Bar (countdown timer bar)"
  3. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this read-only, idempotent, and non-destructive. The description reinforces that nothing changes on the store and adds useful behavioral context: subscriber contact details never come through the connector, reports contain no shopper contact details, verify re-checks DNS, tone_preview saves nothing, and long-running jobs are polled by id. These details add real value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is front-loaded and clear. The remaining content is a dense, colon-separated catalogue that is difficult to scan and has no line breaks or grouping hierarchy. It is information-rich but structurally unwieldy for an agent parsing many lookup variants.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry context for many different lookup return shapes, which it partly does by describing statuses, counts, DNS records, export links, and jobs. However, it omits lookup names for four apps present in the enum: free_shipping_bar, rewards_bar, announcement_bar, and countdown_bar. The pointer to get_write_guide helps but leaves the definition incomplete for those apps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description goes further by mapping many valid `name` values to specific lookup behaviors and nested `params` syntax, such as `code { code }`, `expired_codes { days?: 7|30|90 }`, and `subscriber_export { campaign?, channel?, range? }`. It adds meaning beyond the schema's brief examples, though it does not cover lookup names for every app in the enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: read-only lookups for an EA app that go beyond its items, with no store changes. It extensively enumerates lookup names per app, making the tool's role clear. However, it does not explicitly distinguish itself from sibling tools like get_item, list_items, get_stats, or get_suggestions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the enumeration and the note that long-running actions are started by publishing a draft and polled with the job lookup. The mention of get_write_guide provides an alternative for discovering lookups. But there is no explicit when-to-use guidance versus sibling retrieval tools, nor are exclusions stated.

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.

Resources