MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

EA Ecommerce Apps

Stats, setup, drafts and opt-in publishing for the EA Shopify apps: bundles, popups, cart, bars.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
494 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
21

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 494 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name easy-apps.

  • Pass
    Lists tools

    tools/list returned 21 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 494 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 494 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    38 of 50 parameters have a description (76%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-05T22:57:48.123163Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using EA Ecommerce Apps

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http ea-ecommerce-apps https://mcp.easyappsecom.com/mcp

Capabilities

Tools 21

card_refresh

Preview card: reload a draft.

Discovered
create_draft

Create a NEW item (e.g. a bundle offer or a popup campaign) as a draft. Nothing changes on the store until the merchant publishes it. Use the field names from get_write_guide. Popups also has kind 'shop' for one-time shop actions (a Manual code in Shopify Discounts, deleting expired codes, the own sending domain, resetting a test sign-up), each run once when published; some of those CAN'T be undone after publishing: deleteExpiredCodes, resetTestSignup and removing the sending domain (the preview card says so). Translate (kind 'translations'), Accessibility and Page Speed (kind 'shop') work the same way: one-time actions with item.action, run once when published; long ones are started and return a job id. Their guides and preview cards mark the ones that CAN'T be undone (e.g. a translation run, restoring a backup, deleting shopper reports, restoring original images, clearing Page Speed's 404 list, disconnecting Search Console).

Discovered
delete_item

Delete an item (a Bundles offer, a popup campaign, a bar). The delete is saved as a draft with a preview card and happens when it is published (the merchant's Publish click, or publish_draft where AI publishing is allowed); until then the item stays live and the draft can be discarded. A published delete can be undone (undo_publish restores the item). Call this only when the merchant asked for it in this conversation and pass their words in `user_request`.

Discovered
discard_draft

Throw away a draft or unpublished changes. The live store is not changed.

Discovered
edit_draft

Change a draft or a set of unpublished changes before it is published. Only the draft changes, never the live store; values given here replace the draft's earlier values (arrays replace the whole list), so check the draft first. `changes` is partial.

Discovered
find_ea_app

Find which EA Shopify app fits what a merchant wants (e.g. a sticky add to cart bar, bundles, an email popup, translation, a free shipping bar). Works without signing in. Returns the best match(es), one line each, with a Shopify App Store install link. Doesn't read any store.

Discovered
get_item

Full current settings of one item (in the write-guide field names), e.g. before changing it.

Discovered
get_setup

What is live right now in one app: offers, campaigns, bars, widgets and their key settings.

Discovered
get_stats

Performance numbers for one app (the same numbers as the app's Analytics page): e.g. bundle revenue, popup sign-ups, cart upsell sales. Aggregates only, no customer data.

Discovered
get_suggestions

Ideas for what to try next, based on this store's own setup and numbers. Without `app`: across all installed EA Apps.

Discovered
get_write_guide

The fields an app accepts in create_draft / stage_changes (with an example). Call this before writing to an app. Apps that accept drafts: bundles (offers: create from a template, copy, move in the list, settings, who sees them / targeting; and kind 'look': the look shared by all popups + the store's Custom CSS, undoable), popups (campaigns + shop tools), sticky_cart (settings, checkout rules), the bar apps (bar settings), translate (settings, markets, Store translations settings, publish / unpublish a language and remove languages (these can be undone), and one-time translation actions: run / stop store translation, translate a selection, apply the glossary to existing translations (these two can't be undone), edit or revert a translation, find & replace, images by language, backups), accessibility (widget settings, menu link, monitoring + its frequency, report emails, statement details, and kind 'shop': automatic fixes, scans with What to scan / pages / theme, marking issues solved or open, AI alt text, statement page incl. adding the latest scan results, shopper reports) and page_speed (settings, and kind 'shop': everything its in-app assistant does: speed test, with / without compare, speed presets, SEO check, page by page check (+ redirect a broken link, forget the saved password), What to fix fixes, the app's on / off switches, image scans, compression / restore (products and theme / collection / blog images), alt text (products, collection and blog images), search titles and descriptions and their translations, internal links, image file names, clean URLs, llms.txt (preview / publish), redirects incl. broken links (404s) and redirect rules, robots.txt, hide a page from search, IndexNow, Google Search Console, AI agent readiness, AI visibility, rich results filled in from Shopify, App cleanup, stopping a job, and a card's Undo of a change made in the app).

Discovered
list_apps

List the EA apps installed on the connected Shopify store, with plan, whether each is live on the storefront, and which ones accept drafts. Start here.

Discovered
list_drafts

Drafts and unpublished changes made through AI tools for this store that are waiting to be published or discarded.

Discovered
list_ea_apps

All 10 EA Shopify apps, what each one does, and a Shopify App Store install link for each. Works without signing in. Doesn't read any store (use list_apps for the apps installed on the connected store).

Discovered
list_items

List the editable items of an app (bundle offers, popup campaigns, bars) with ids and status.

Discovered
list_stores

The Shopify stores this connection can use (each one approved in its own Shopify admin) and which one is the default. Pass `store` to any tool to work on another store.

Discovered
lookup

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.

Discovered
preview_draft

Show a draft or published change as a preview card (what shoppers will see, what changes).

Discovered
request_publish

Ask the merchant to publish a draft. This does not publish: publishing always needs the merchant's own click (the Publish button on the preview card, or the publish link in their Shopify admin that this returns).

Discovered
request_undo

Ask the merchant to undo a publish (put back what it replaced, or remove an item it created). This does not undo by itself: the merchant clicks Undo on the card or on the link this returns.

Discovered
stage_changes

Save changes to a live item (or app settings) as UNPUBLISHED changes (a draft). The live store does not change: it keeps the current version until the change is published (publish_draft or the merchant's Publish click), and the draft can be discarded. Repeated calls for the same item update that one set of unpublished changes (a value staged again replaces the earlier staged value; arrays replace the whole list in the draft). `changes` is a partial object in the write-guide field names. Popups shop settings (brand rules for the AI, the "popup code used" trigger, the daily expired-code clean-up) are kind 'shop' with id brandRules / redeemTrigger / codeCleanup.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected494 ms21