EasyStore MCP server

Read EasyStore orders, products and customers; manage stock, fulfillments and customer records. Hosted by usefulapi: connect it to Claude, ChatGPT, Cursor or any MCP client.

Connect EasyStoreFree 50 tool calls / monthPro $9/mo · $90/yr · pricing33 tools

What can I ask?

Turn on the EasyStore connector, then ask in plain words. The AI picks the tools.

What you can do with EasyStore in Claude and ChatGPT

For store operators who manage orders, stock and customers in EasyStore.

Review paid orders waiting to ship

Find paid, unfulfilled orders and inspect their items and shipment history before planning the next dispatch.

Check variant stock across locations

Find a product and its variants, then compare available, committed, incoming and reserved stock at each location.

Reconcile stock after a physical count

Review a variant’s stock at the selected location and set its quantity to the confirmed physical count when requested.

Changes data

Find a customer and review recent orders

Look up a customer by email or phone, then review their orders and shipment details to prepare a support reply.

How do I connect EasyStore?

Before you connect

You sign in with your EasyStore account and approve the access (OAuth). You do not need an API key.

Reads orders, products, variants, inventory, fulfillments, customers, locations and content pages, blogs and articles. When requested, it can adjust stock, update variants/customers, create customers/fulfillments and cancel orders. It does not charge payments or issue refunds. Customer information passes to your chosen AI client and its LLM provider. Reconnecting a store replaces older AI connections because EasyStore rotates the store token. Uninstall UsefulAPI in EasyStore to revoke access and delete its stored grants. A rejected store token closes the connection even if the uninstall notification is missed; disabling the app may require reconnecting. Connections without a successful store API call for 30 days are removed; reconnect to restore access. Billing is per store.

Claude claude.ai · Desktop

  1. Open Customize → Connectors, then click + Add → Add custom connector.
  2. Enter the name EasyStore and this URL, then click Add:
    https://easystore.usefulapi.io/mcp
  3. Claude opens the EasyStore login page: sign in and approve the access.
  4. In a chat, click + → Connectors and turn on EasyStore.

Team and Enterprise: an Owner adds the connector for the organization first.

ChatGPT chatgpt.com

  1. Open Plugins, click +, then Add custom MCP server.
  2. Enter the name EasyStore and this URL, choose OAuth as the authentication, confirm the warning and create it:
    https://easystore.usefulapi.io/mcp
  3. ChatGPT opens the EasyStore login page: sign in and approve the access.
  4. In Plugins, install EasyStore, then choose it in a chat.

No Add custom MCP server option? It depends on your account or workspace settings: see OpenAI's guide.

Claude Code

Run this command, then run /mcp in Claude Code to log in:

claude mcp add --transport http easystore https://easystore.usefulapi.io/mcp

Cursor

Add to Cursor or add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "easystore": {
      "url": "https://easystore.usefulapi.io/mcp"
    }
  }
}

VS Code

Add to VS Code or add this to .vscode/mcp.json:

{
  "servers": {
    "easystore": {
      "type": "http",
      "url": "https://easystore.usefulapi.io/mcp"
    }
  }
}

Codex

Run these commands. The second one opens the login page:

codex mcp add easystore --url https://easystore.usefulapi.io/mcp
codex mcp login easystore

Other clients

Windsurf, Cline, Zed and other MCP clients: add this URL as a remote MCP server (Streamable HTTP). The client then opens the login page in your browser.

https://easystore.usefulapi.io/mcp

Add only the URL. Do not add an Authorization header or an API key to the client config. The server signs you in with OAuth: you sign in with your EasyStore account. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Proper store$9/mo · $90/yr10,000 tool calls / month
Pro+per store$39/mo · $390/yr100,000 tool calls / month

Each paid plan covers this EasyStore server only. Ask your AI to run easystore_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with easystore_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with easystore_upgrade before then undoes the cancel. Or write to [email protected].

Tools 33

Show all 33 tools (the AI picks them for you)

Read only · 22

  • Get storeeasystore_get_store
    The store behind this access token: name, contact emails, easystore domain, plan, locale, country, time zone, currencies and locations. Needs no API access scope.
  • List locationseasystore_list_locations
    The store's stock and pickup locations (warehouses, outlets) with address, phone, is_primary and pickup settings. Use the ids for inventory levels. Needs read_locations.
  • List productseasystore_list_products
    List products with variants, prices, SKUs, stock, images and collections. Filter by collection, SKU, published status or dates. Needs read_products.
  • Get producteasystore_get_product
    One product by id with its variants, options, images and collections. Needs read_products.
  • List product variantseasystore_list_product_variants
    The variants of one product (price, SKU, barcode, stock, weight, enabled flag). Needs read_products.
  • List collectionseasystore_list_collections
    List product collections. Needs read_products.
  • Get collectioneasystore_get_collection
    One collection by id. Needs read_products.
  • List inventory levelseasystore_list_inventory_levels
    Stock per variant per location: available (inventory_quantity), committed, incoming and reserved. Pass variant_ids or location_ids (at least one is required). Needs read_products.
  • List orderseasystore_list_orders
    List orders from every sales channel with customer, items, totals, payment and fulfillment status. Filter by payment or fulfillment status, customer, or dates (store time zone). Needs read_orders.
  • Get ordereasystore_get_order
    One order by id. Ask for extra sections with fields: items, addresses, transactions, fulfillments, refunds, taxes, customer, shipping_fees, discounts, points, cancellation, note_attributes. Needs read_orders.
  • List order fulfillmentseasystore_list_order_fulfillments
    The fulfillments (shipments with tracking details and status) of one order. Needs read_fulfillments.
  • List order transactionseasystore_list_order_transactions
    The payment transactions of one order (gateway, amount, status). Needs read_orders.
  • List checkoutseasystore_list_checkouts
    List checkouts (carts in progress or abandoned). Cart tokens are not returned. Needs read_orders.
  • List customerseasystore_list_customers
    List customers with contact details, order count, total spent, groups and store credit. Search by name or email with query. Needs read_customers.
  • Search customerseasystore_search_customers
    Find customers by exact email, phone number or customer code. Pass at least one. Needs read_customers.
  • Get customereasystore_get_customer
    One customer by id. Add fields=points,membership for loyalty data. Needs read_customers.
  • List customer addresseseasystore_list_customer_addresses
    The saved addresses of one customer. Needs read_customers.
  • Get customer pointseasystore_get_customer_points
    The loyalty points balance of one customer. Needs read_customers.
  • List customer groupseasystore_list_customer_groups
    List customer groups (for example VIP). Needs read_customers.
  • List pageseasystore_list_pages
    List the store's content pages. Needs read_content.
  • List blogseasystore_list_blogs
    List the store's blogs. Needs read_content.
  • List blog articleseasystore_list_articles
    List blog articles. Needs read_content.

Changes data · 7

  • Set inventory leveleasystore_set_inventory_level
    WRITE. Set the stock of one variant at one location to an exact number (quantity 0 or more). Omit location_id for the primary location. Overwrites the current quantity; use easystore_adjust_inventory_level for a relative change. Needs write_products.
  • Adjust inventory leveleasystore_adjust_inventory_level
    WRITE. Add to or remove from the stock of one variant at one location by a relative amount (positive adds, negative removes; 0 is rejected). Not idempotent: repeating it changes the stock again. Omit location_id for the primary location. Needs write_products.
  • Update varianteasystore_update_variant
    WRITE. Change one variant's price, compare-at price, cost price, SKU, barcode or enabled flag. Only the fields you pass change. To change stock use the inventory tools. Needs write_products.
  • Cancel ordereasystore_cancel_order
    WRITE, hard to undo. Cancel an order, with an optional reason. Confirm the order id and number with the user first. Needs write_orders.
  • Create fulfillmenteasystore_create_fulfillment
    WRITE. Mark an order (or some of its line items) as shipped, with tracking details. Not idempotent: calling it twice creates two fulfillments. With notify_customer true the customer is emailed. Needs write_fulfillments.
  • Create customereasystore_create_customer
    WRITE. Create a customer. Pass at least one of first_name, last_name, email or phone. Not idempotent. Needs write_customers.
  • Update customereasystore_update_customer
    WRITE. Change fields of an existing customer; only the fields you pass change. Needs write_customers.

Your usefulapi plan · 4

  • Usage status (free-tier meter)easystore_usage_status
    Report the caller's current usage: the plan, calls used this month, the limit of the plan (the free monthly cap or the Pro fair use limit), remaining, and whether the limit is reached. Read-only; does not count against the meter.
  • Request a missing featureeasystore_request_feature
    Tell usefulapi that the user needs something the EasyStore tools cannot do yet (a missing tool, field or filter). Call it only when the user asks for something none of the tools can do, and tell the user that you send the request. Do not call it for errors or for normal requests. Do not include personal data, credentials or customer records. Stored with the product name and the client type (for example Claude or Cursor), without the user's account. At most 5 requests per day. Does not count against the meter.
  • Upgrade to Pro or Pro+easystore_upgrade
    Get a paid plan for EasyStore (the free tier caps monthly usage). Pro: 10,000 tool calls a month, for normal use — plan "monthly" ($9/month) or "yearly" ($90/year, 2 months free). Pro+: 100,000 tool calls a month, for automations and heavy use — plan "plus" ($39/month) or "plus_yearly" ($390/year). Without a plan it returns both Pro and Pro+, each with a payment link, for the user to choose; with a plan, one link. An existing Pro subscription changes to Pro+ in place (needs confirm: true; the price difference for the rest of the period is charged at once). Cancel any time: the plan then runs to the end of the paid period, so it also suits a one-time job. A link opens Stripe Checkout in the browser; after payment the account upgrades automatically. Does not count against the meter.
  • Cancel the Pro subscriptioneasystore_cancel_subscription
    Cancel the caller's EasyStore Pro subscription at the end of the paid period (no refund for the current period; Pro continues until then, then the free tier applies). Requires confirm: true. Run easystore_upgrade later to undo the cancel before the period ends. Does not count against the meter.

FAQ

What can I do with EasyStore in Claude or ChatGPT?

Review paid orders waiting to ship. Check variant stock across locations. Reconcile stock after a physical count. Find a customer and review recent orders. See what you can do for the details.

Is this an official EasyStore product?

No. usefulapi is an independent service. It is not affiliated with or endorsed by EasyStore. The server calls the EasyStore API with your own EasyStore access, so it sees only the data that your account can see.

Can I connect EasyStore to Claude or ChatGPT?

Yes. In Claude, add this server's URL as a custom connector. In ChatGPT, add it as a custom MCP server in Plugins. Then log in once. Cursor, VS Code, Claude Code and Codex work too. See the setup steps.

What do I need to connect?

A EasyStore account. You sign in to EasyStore and approve the access. You do not need an API key.

Do I add an Authorization header to the client config?

No. Add only the URL. Do not add an Authorization header or an API key to the client config. The server signs you in with OAuth: you sign in with your EasyStore account. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.

How do you keep my EasyStore credentials?

The login stores them encrypted in the authorization grant of your connection. The server uses them to call the EasyStore API for you and to derive a private account id for usage metering. usefulapi does not show them on any page or in any reply. You can revoke the access in EasyStore at any time.

Can the AI change my EasyStore data?

Yes, if you approve it. 7 of the 29 EasyStore tools can create or change data. The other 22 are marked read-only. Most MCP clients ask you to approve a tool call before it runs.

What does it cost?

The Free plan gives 50 tool calls / month. Pro costs $9/mo or $90/yr, with 10,000 tool calls / month. Pro+ costs $39/mo or $390/yr, with 100,000 tool calls / month. Each subscription covers this EasyStore server only. Cancel any time: your paid plan then runs to the end of the paid period. Run easystore_usage_status to see how many calls you used.

How do I subscribe or cancel?

Ask the AI to run easystore_upgrade and choose Pro or Pro+, billed monthly or yearly: it returns a Stripe Checkout link. If you already have Pro, ask to change it to Pro+. After you confirm, your existing subscription changes in place, keeps its billing interval and charges the price difference for the rest of the period immediately. To cancel, run easystore_cancel_subscription. Your paid plan continues to the end of the paid period.

What if a EasyStore tool that I need is missing?

Tell the AI what you wanted to do. It can send the request with easystore_request_feature. We store the text with the server name, the type of AI client and the tool you tried, not with your account, and read every request when we plan new tools. You can send up to 5 requests per day.

Which AI clients can I use?

Any client that supports remote MCP servers (Streamable HTTP) with OAuth login: Claude (web and desktop), Claude Code, ChatGPT, Codex, Cursor, VS Code, Windsurf and others.

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.

Need a tool this server does not have, or a connection to another system? We build custom integrations and MCP servers.

More Commerce & Memberships MCP servers

ApiloAwtomicBeacon CRMBettermodeBloomerangbol.comBooqableBrandboomBreeze ChMSBrightpearlBsaleBSS B2B SolutionBuy Me a CoffeeCatalog MachineCCV ShopChannableChannel Pilot ProChannelEngineCharityFundraiserCin7 CoreConsignCloudCratejoyCustomCatDecoNetworkEcwidEffectConnectElvantoEveniumEventbriteFinale InventoryFinerWorksFitsseyFoxy.ioFunraiseGelatoGift Up!GiftbitGivecloudGivingFuelGoDataFeedGood GrantsGootenGumroadHeartland RetailHello ClubHiboutikHumanitixIdoSellInventory PlannerJubelioKiotVietKoursesLearnWorldsLengowLibibLightspeed Retail (R-Series)Lightspeed Retail (X-Series)LinnworksLittle Green LightLooxLoyverseMarketTimeMegaventoryMemberfulMemberRunMembers.devMemberSuiteMemberVaultMyOnlineStoreNembolNeon CRMOpenWaterOrder DeskOwnerRezPatreonPHP Point of SalePlentyONEpretixPrice2SpyPrintfulPrintifyPrisyncProdigiQgivRackbeatRaiselyRechargeRecurpayReturnLogicREVIEWS.ioRock Gym ProSalesBinderSalsa EngageSamitaSapoSearchaniseSellasistSelloShoprocketSmaregiSmile.ioSOS InventorySpektrixStampedSteadyStoreRocketSugarWODSwellTeamUpTicimaxTicketsauceTicketSpiceTillhubTiltifyTitoTourCMSUniverseUnleashed SoftwareVeeqoVirtuousWhite Label LoyaltyWild ApricotZettleZylvie

All Commerce & Memberships servers →