Next free-source huntWe check for new free data every weekday.
FinancialMCP serverFirst audited Nov 13, 2026

EasyStore MCP by usefulapi

Read EasyStore orders, products and customers; manage stock, fulfillments and customer records.The vendor's description, from its MCP Registry listing.

Passed public checksAudited Nov 13, 2026

Every public check ran and passed. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit

Does it work?
YesConnected in 336 ms.
Sign-up?
None neededIt answered without any account or key.
Can it change things?
YesSome tools say they can change things. Your AI client should ask you first.
Endpointhttps://easystore.usefulapi.io/mcp

Source code Website Streamable HTTP · protocol 2025-11-25 · server version 1.11.1

What we checked, the evidence, and the tools it offers.

What we checked

Security

  • Passed: Connections are encrypted (HTTPS).

  • Passed: No hidden instructions found in tool text.

Safety labels

  • Note: 7 tools are labelled as able to change things.

    Expected for tools that send, write or buy. Your AI client should ask before calling them.

    • easystore_set_inventory_level
    • easystore_adjust_inventory_level
    • easystore_update_variant
    • easystore_cancel_order
    • easystore_create_fulfillment
    • easystore_create_customer
    • easystore_update_customer
  • Passed: Every tool says whether it only reads or can change things.

Tools

  • Passed: 29 tools listed.

  • Passed: Every tool describes its inputs with a valid schema.

Protocol

  • Passed: The MCP handshake works (Streamable HTTP).

  • Passed: Protocol version 2025-11-25 (latest).

  • Passed: Unknown requests are refused.

Connection

  • Passed: The server responds.

Tools (29)

As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.

  • easystore_get_storeThe store behind this access token: name, contact emails, easystore domain, plan, locale, country, time zone, currencies and locations. Needs no API access scope. GET /api/3.0/store.json.Read-only
  • easystore_list_locationsThe 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. GET /api/3.0/locations.json.Read-only
  • easystore_list_productsList products with variants, prices, SKUs, stock, images and collections. Filter by collection, SKU, published status or dates. Needs read_products. GET /api/3.0/products.json.Read-only
  • easystore_get_productOne product by id with its variants, options, images and collections. Needs read_products. GET /api/3.0/products/{id}.json.Read-only
  • easystore_list_product_variantsThe variants of one product (price, SKU, barcode, stock, weight, enabled flag). Needs read_products. GET /api/3.0/products/{id}/variants.json.Read-only
  • easystore_list_collectionsList product collections. Needs read_products. GET /api/3.0/collections.json.Read-only
  • easystore_get_collectionOne collection by id. Needs read_products. GET /api/3.0/collections/{id}.json.Read-only
  • easystore_list_inventory_levelsStock 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. GET /api/4.0/invent…Read-only
  • easystore_list_ordersList 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. GE…Read-only
  • easystore_get_orderOne order by id. Ask for extra sections with fields: items, addresses, transactions, fulfillments, refunds, taxes, customer, shipping_fees, discounts, points, cancellation, note_attributes. Needs rea…Read-only
  • easystore_list_order_fulfillmentsThe fulfillments (shipments with tracking details and status) of one order. Needs read_fulfillments. GET /api/3.0/orders/{id}/fulfillments.json.Read-only
  • easystore_list_order_transactionsThe payment transactions of one order (gateway, amount, status). Needs read_orders. GET /api/3.0/orders/{id}/transactions.json.Read-only
  • easystore_list_checkoutsList checkouts (carts in progress or abandoned). Cart tokens are not returned. Needs read_orders. GET /api/3.0/checkouts.json.Read-only
  • easystore_list_customersList customers with contact details, order count, total spent, groups and store credit. Search by name or email with query. Needs read_customers. GET /api/3.0/customers.json.Read-only
  • easystore_search_customersFind customers by exact email, phone number or customer code. Pass at least one. Needs read_customers. GET /api/3.0/customers/search.json.Read-only
  • easystore_get_customerOne customer by id. Add fields=points,membership for loyalty data. Needs read_customers. GET /api/3.0/customers/{id}.json.Read-only
  • easystore_list_customer_addressesThe saved addresses of one customer. Needs read_customers. GET /api/3.0/customers/{id}/addresses.json.Read-only
  • easystore_get_customer_pointsThe loyalty points balance of one customer. Needs read_customers. GET /api/3.0/customers/{id}/points.json.Read-only
  • easystore_list_customer_groupsList customer groups (for example VIP). Needs read_customers. GET /api/3.0/groups.json.Read-only
  • easystore_list_pagesList the store's content pages. Needs read_content. GET /api/3.0/pages.json.Read-only
  • easystore_list_blogsList the store's blogs. Needs read_content. GET /api/3.0/blogs.json.Read-only
  • easystore_list_articlesList blog articles. Needs read_content. GET /api/3.0/articles.json.Read-only
  • easystore_set_inventory_levelWRITE. 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…Can change things
  • easystore_adjust_inventory_levelWRITE. 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…Can change things
  • easystore_update_variantWRITE. 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. PUT /api…Can change things
  • easystore_cancel_orderWRITE, hard to undo. Cancel an order, with an optional reason. Confirm the order id and number with the user first. Needs write_orders. POST /api/3.0/orders/{id}/cancel.json.Can change things
  • easystore_create_fulfillmentWRITE. 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…Can change things
  • easystore_create_customerWRITE. Create a customer. Pass at least one of first_name, last_name, email or phone. Not idempotent. Needs write_customers. POST /api/3.0/customers.json.Can change things
  • easystore_update_customerWRITE. Change fields of an existing customer; only the fields you pass change. Needs write_customers. PUT /api/3.0/customers/{id}.json.Can change things

Audit history

  1. Nov 13Passed

What we sent

Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.

RequestAnswerTime
initializeHTTP 200336 ms
initializedHTTP 20299 ms
tools/listHTTP 200257 ms
prompts/listHTTP 20027 ms
unknown-methodHTTP 40194 ms

Run this server, or disagree with the result?

Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.