Skip to main content

Capabilities

You drive the MCP server in natural language — describe what you want and the assistant picks the right action. This page shows example prompts and lists what the server can do today.

The exact set of actions evolves as we add features; once connected, your client always shows the current list. The actions below cover both easycart (your store) and easymail (your email marketing) — a single connection reaches both, see Connecting. The easymail actions additionally need the Manage Easymail API keys permission on the store you are acting on.

Example prompts

easycart

Try asking your assistant:

"Show me this week's revenue compared to last week."

"Find my product called Masterclass and give me its checkout link."

"List the orders from the last 7 days."

"Create a 20% discount code BLACKFRIDAY for my course."

"Add a $99 one-time price to Masterclass that gives buyers access for one year."

"Cancel jane@example.com's subscription at the end of the period."

"Refund the last payment from john@example.com."

easymail

"How many subscribed contacts do I have?"

"Find contacts who haven't opened an email in the last 90 days."

"Add jane@example.com to my Newsletter list."

"Draft a campaign announcing the summer sale, then send me a test copy."

"Schedule the Summer Sale campaign for Friday at 9am."

"What were the open and click rates for my last campaign?"

"Unsubscribe john@example.com from all email."

What you can do — easycart

Store

ActionDescription
get_storeRead the selected store's details and the currencies it uses
list_storesList every store your token can manage

Products

ActionDescription
find_productsLook up a product by ID or search by keyword
create_productCreate a new product
update_productChange a product's details as an unpublished draft
publish_productPut the current draft on sale, so buyers see it
unpublish_productTake a product off sale, saving any pending draft once you confirm

Variants

ActionDescription
find_variantsList a product's price variants, or look one up by ID. Each result includes upsells
create_variantAdd a price variant to a product's draft
update_variantChange a variant's details in the product's draft, including replace-all upsells
archive_variantRetire a price variant from the unpublished draft. There is no unarchive
reorder_variantsSet the display order of a product's unpublished-draft variants

Product and variant edits are saved as an unpublished draft. Buyers keep seeing the current version until publish_product runs, and the assistant gives you a preview link after each edit so you can check the result before putting it live.

To change a published price amount, archive the variant and create a new one — update_variant cannot change amount. Same-product upsells are set on update_variant, not on create.

unpublish_product is not a simple status flip. If the product has a pending draft — including one left half-finished in the dashboard — taking it off sale saves that draft as the live product, so edits nobody remembers making can become real, and a store connected to Stripe may have products or prices created there as a result. Because of that, the assistant stops and shows you a preview link first, and only goes ahead once you confirm. A product with no pending draft is taken off sale straight away.

Checkout appearance

ActionDescription
update_product_stylesChange checkout colours, rounding, shadow, and dark mode on the unpublished draft
update_product_settingsChange checkout logos, thank-you copy, confirmation email, and recovery on the unpublished draft
update_product_mediaReplace the checkout gallery on the unpublished draft
upload_product_mediaHost an image, video, or file and return a URL — does not change the gallery by itself

Styles, settings, and gallery writes land on the unpublished draft and return a preview link. Host a file with upload_product_media first, then pass the returned URL into update_product_media or update_product_settings. The matching HTTP endpoints are documented under Checkout appearance.

Custom fields

ActionDescription
manage_product_custom_fieldsList, get, create, update, or delete checkout custom fields on a product's unpublished draft
manage_waitlist_custom_fieldsSame actions for waitlist custom fields — they do not appear at checkout
manage_variant_custom_fieldsSame actions for a variant's checkout custom-field override

Pick the action with action (list, get, create, update, delete). Identity is the field name, not a UUID. After a write, the assistant returns a preview link and stops — it does not publish. An empty variant override means the variant inherits the product checkout fields.

Orders

ActionDescription
list_ordersBrowse and filter orders
get_orderRead the full details of a single order

Customers

ActionDescription
list_customersBrowse and filter customers
get_customerRead the full details of a single customer

Product access

ActionDescription
grant_product_accessGive a customer free access to a one-time product
revoke_product_accessRemove a customer's access to a one-time product

Transactions & refunds

ActionDescription
list_transactionsBrowse and filter transactions
get_transactionRead a transaction's details, including what is refundable
issue_refundRefund a transaction in full or in part

Invoices

ActionDescription
list_invoicesBrowse and filter invoices
get_invoiceRead the full details of a single invoice
resend_invoiceEmail an issued invoice to the customer again

Promotion codes

ActionDescription
list_promotion_codesBrowse promotion codes
get_promotion_codeRead the details of a single promotion code
create_promotion_codeCreate a discount code
update_promotion_codeUpdate a code's name, status, or variants
archive_promotion_codePermanently retire a promotion code

Subscriptions

ActionDescription
list_subscriptionsBrowse and filter subscriptions
get_subscriptionRead the full details of a single subscription
manage_subscriptionCancel, resume, or change the plan of a subscription

Statistics

ActionDescription
get_statsRead a sales or revenue statistic with period-over-period comparison

Storefronts (Creator pages)

ActionDescription
find_storefrontsLook up a Creator page by ID, name, slug, or domain, or search the list
create_storefrontCreate a new Creator page as a draft
update_storefrontChange a draft section — styles, header, or settings
upload_storefront_mediaHost an image or file for a Creator page and return a URL
manage_storefront_blocksList, get, create, update, or reorder widgets on a Creator page
publish_storefrontPut the current draft live as the visitor page
unpublish_storefrontTake the live Creator page down; the draft stays
get_storefront_analyticsRead traffic and revenue analytics for one Creator page

Creator-page edits write the unpublished draft. The assistant returns a preview link after each edit and does not publish until you confirm.

Landing pages

ActionDescription
list_pagesList Easypages (landing pages)
get_page_analyticsRead analytics for one landing page

Easypages are a different surface from Creator pages. Landing pages are authored in the dashboard; these actions only list them and read their analytics.

What you can do — easymail

Contacts

ActionDescription
find_contactsFind and filter contacts by email, status, list, segment, custom field, or engagement recency
count_contactsCount the contacts matching a filter, without listing them
create_contactAdd a new contact
upsert_contactCreate a contact, or update it if the email already exists
update_contactChange an existing contact's details
delete_contactPermanently delete a contact
unsubscribe_contactWithdraw a contact's consent so they stop receiving email
resubscribe_contactRestore consent so a contact can receive email again
list_contact_eventsRead a contact's activity timeline — opens, clicks, bounces, purchases

Lists

ActionDescription
find_contact_listsBrowse contact lists, optionally with subscriber and mailability stats
create_contact_listCreate a contact list
update_contact_listRename a contact list or change its description
delete_contact_listDelete a contact list
manage_contact_list_membershipAdd or remove contacts from a contact list

Segments

ActionDescription
find_contact_segmentsBrowse contact segments — saved, filter-based audiences

Custom fields

ActionDescription
find_contact_custom_fieldsBrowse contact custom field definitions
create_contact_custom_fieldDefine a new contact custom field
rename_contact_custom_fieldRename a contact custom field
delete_contact_custom_fieldDelete an unused contact custom field and its values from every contact
set_contact_custom_fieldSet a custom field value on a single contact
clear_contact_custom_fieldClear a custom field value on a single contact

A custom field that an active automation, a segment, or an unsent campaign still uses cannot be deleted; edit those first. See Delete Custom Field.

Campaigns

ActionDescription
find_campaignsBrowse campaigns
get_campaignRead a campaign's details, optionally with open/click stats and revenue
create_campaignCreate a draft campaign
update_campaignEdit a draft campaign
delete_campaignDelete a campaign
send_campaignSend a campaign now
schedule_campaignSchedule a campaign to send at a future time
unschedule_campaignRevert a scheduled campaign back to draft
cancel_campaignStop a campaign that is currently being sent
send_test_emailSend a test copy of a campaign to specific addresses

Campaign reporting

ActionDescription
list_campaign_recipientsSee the per-recipient send log for a campaign
list_campaign_link_clicksSee which tracked links were clicked, and how often

Sending setup

ActionDescription
list_sender_identitiesList the verified "from" addresses you can send as
list_timezonesList the timezones available for scheduling

Actions that change data

warning

Some actions write data, move real money, or contact your customers. The assistant acts as you, with your permissions, so review what it proposes before you confirm.

In easycart: issuing refunds (which move real money), granting or revoking product access, resending invoices, cancelling subscriptions, archiving promotion codes, and archiving a price variant. A full refund also revokes the customer's access to the product and emails them; archiving a promotion code or a variant cannot be undone. Taking a product off sale also saves any pending draft as the live product, which the assistant asks you to confirm first — see Products. Publishing a Creator page overwrites the live visitor page with the current draft.

In easymail: sending or scheduling a campaign and sending a test email deliver real mail; unsubscribing or resubscribing changes a contact's consent; and deleting a contact, list, campaign, or custom field is permanent, and deleting a custom field removes its value from every contact.