Lightspeed Retail (X-Series) MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.19.3Updated Nov 7, 2026

Read Lightspeed X-Series products, stock, sales, customers, stock orders; one-call sales reports.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for a Lightspeed Retail (X-Series) store: look up products, stock, sales, customers and stock orders, and run one-call sales reports.

What you can do
  • Read store setup: retailer, outlets, registers, taxes, staff and customer groups
  • Browse and search the catalog: products, brands, tags, suppliers and per-outlet inventory levels
  • Review sales: list the change feed, search by date/outlet/register/user, get one sale, or get period totals with breakdowns
  • Track stock orders, transfers, stocktakes and returns with their product lines
  • Find and read customers, including balances and loyalty
  • Write: create or update customers, set a product price, set stock and reorder levels at one outlet
When to use it
Useful when you want to ask questions about a Lightspeed X-Series store in plain language — daily sales by outlet or payment type, products below reorder point, pending supplier orders — or make small catalog and customer edits without opening the back office.
Requirements
Remote endpoint at lightspeed-x-series.usefulapi.io/mcp; no local install. Sign-in is OAuth with your Lightspeed Retail (X-Series) account on first connect; no API key or Authorization header is added to the client config. One subscription covers one store account. Free tier allows 50 tool calls per month.
Before you install
Four tools write to the store: create_customer, update_customer, update_product_prices and set_product_stock; the stock tool overwrites the on-hand count rather than adjusting it, so sales since the last read are lost from the count. update_customer sends the vendor a full record. Paid plans are billed through a Stripe checkout link returned by the upgrade tool, and cancellation gives no refund for the current period. Customer contact data is read from and written to Lightspeed.

Installation

In SourceWeft

  1. Open Lightspeed Retail (X-Series) MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Flightspeed-x-series/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "lightspeed-retail-x-series-by-usefulapi": {
      "type": "http",
      "url": "https://lightspeed-x-series.usefulapi.io/mcp"
    }
  }
}

README

Lightspeed Retail (X-Series) MCP by usefulapi

Work with your Lightspeed Retail (X-Series) store (formerly Vend) from Claude, Cursor, or any MCP client — look up products, stock per outlet, sales, customers, suppliers, stock orders, registers and staff; get a sales report for a period in one call; create and update customers, set prices and set stock levels. Hosted, no local install: connect with your Lightspeed Retail account over OAuth.

Live endpoint: https://lightspeed-x-series.usefulapi.io/mcp · Homepage: https://usefulapi.io/lightspeed-x-series

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://lightspeed-x-series.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http lightspeed-x-series https://lightspeed-x-series.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "lightspeed-x-series": {      "url": "https://lightspeed-x-series.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, and you sign in with your Lightspeed Retail (X-Series) account.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/lightspeed-x-series/

On first connect you'll be sent to Lightspeed to sign in and approve access for your store; no API keys to paste. You can remove the access any time in your Lightspeed Retail back office. One subscription covers one store account.

Tools

ToolTypeWhat it does
lightspeedxseries_get_retailerreadGet retailer
lightspeedxseries_list_outletsreadList outlets
lightspeedxseries_get_outletreadGet outlet
lightspeedxseries_list_registersreadList registers
lightspeedxseries_get_register_payments_summaryreadGet register payments summary
lightspeedxseries_list_taxesreadList taxes
lightspeedxseries_list_usersreadList users
lightspeedxseries_get_user_sale_totalsreadGet user sale totals
lightspeedxseries_list_productsreadList products
lightspeedxseries_get_productreadGet product
lightspeedxseries_search_productsreadSearch products
lightspeedxseries_get_inventory_levelsreadGet inventory levels
lightspeedxseries_list_brandsreadList brands
lightspeedxseries_list_tagsreadList tags
lightspeedxseries_list_suppliersreadList suppliers
lightspeedxseries_list_consignmentsreadList stock orders (consignments)
lightspeedxseries_get_consignmentreadGet consignment
lightspeedxseries_list_consignment_productsreadList consignment products
lightspeedxseries_list_salesreadList sales (change feed)
lightspeedxseries_get_salereadGet sale
lightspeedxseries_search_salesreadSearch sales
lightspeedxseries_sales_summaryreadSales summary (totals for a period)
lightspeedxseries_list_customersreadList customers
lightspeedxseries_search_customersreadSearch customers
lightspeedxseries_get_customerreadGet customer
lightspeedxseries_list_customer_groupsreadList customer groups
lightspeedxseries_create_customerwriteCreate customer
lightspeedxseries_update_customerwriteUpdate customer
lightspeedxseries_update_product_priceswriteUpdate product prices
lightspeedxseries_set_product_stockwriteSet product stock and reorder levels
lightspeedxseries_usage_statusmetaUsage status (free-tier meter)
lightspeedxseries_request_featuremetaRequest a missing feature
lightspeedxseries_upgrademetaUpgrade to Pro or Pro+
lightspeedxseries_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per store account)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with lightspeedxseries_upgrade (it returns a Stripe Checkout link). Cancel any time with lightspeedxseries_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running lightspeedxseries_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. This repo contains documentation only; the server is hosted.

Source: servers/lightspeed-x-series/README.md at commit 4046075

Tools

30

lightspeedxseries_get_retailer

Get retailer

The connected store: id, name, domain prefix, store URL, country, currency, time zone, tax-exclusive setting, loyalty and gift-card settings. Good first call (use the time zone to turn a local day into UTC for sales searches). GET /retailer.

Takes no parameters.

lightspeedxseries_list_outlets

List outlets

List the store's outlets (locations): id, name, address, currency, time zone, default tax. Use the outlet id to filter sales, stock and stock orders. Paginate with next_after. GET /outlets.

Parametersafterbeforedeletedpage_size

lightspeedxseries_get_outlet

Get outlet

One outlet by id. GET /outlets/{outlet_id}.

Parametersoutlet_idrequired

lightspeedxseries_list_registers

List registers

List registers (tills): id, name, outlet_id, is_open, open/close times and invoice numbering. Paginate with next_after. GET /registers.

Parametersafterbeforedeletedpage_size

lightspeedxseries_get_register_payments_summary

Get register payments summary

Payment totals by payment type for one register since it was opened (the end-of-day / cash-up view). GET /registers/{register_id}/payments_summary.

Parametersregister_idrequired

lightspeedxseries_list_taxes

List taxes

List tax groups and their rates (id, name, is_default, rates). The vendor returns the whole list in one reply (no cursor). GET /taxes.

Takes no parameters.

lightspeedxseries_list_users

List users

List the store's users (staff): id, username, display name, email, account type (cashier, manager, admin), enabled flag, restricted outlets. Paginate with next_after. GET /users.

Parametersafterbeforepage_size

lightspeedxseries_get_user_sale_totals

Get user sale totals

Sales totals for one staff user, as the vendor computes them (no date filter; use sales_summary for a period). GET /users/{user_id}/sale_totals.

Parametersuser_idrequired

lightspeedxseries_list_products

List products

List products (variants) in the catalog: id, family_id, sku, variant_name, prices (price_excluding_tax / price_including_tax), active flags, codes, suppliers, version. The product NAME lives on the product family: add includes=["families"] to get it. Paginate with next_after (stop when data is empty). With sku set, only that SKU is looked up and the other filters are ignored. For text/brand/supplier filters use search_products; for stock use get_inventory_levels. GET /products.

Parametersskuafterincludespage_size

lightspeedxseries_get_product

Get product

One product (variant) by id, with its prices, codes, suppliers and outlet taxes. GET /products/{product_id}.

Parametersincludesproduct_idrequired

lightspeedxseries_search_products

Search products

Filter products by SKU, brand, supplier, tag, product type or variant parent. Uses offset paging: pass next_offset to continue (null = last page). GET /search?type=products.

Parametersskuoffsettag_iddeletedbrand_idpage_sizesupplier_idproduct_type_idvariant_parent_id

lightspeedxseries_get_inventory_levels

Get inventory levels

Stock on hand per product per outlet: product_id, location_id (= outlet id), current_inventory_level, reorder threshold/amount, quantity_to_procure, average cost, total cost, supplier. Filter by outlet_ids, product_ids (or root_product_ids for variant families), supplier_ids; to_be_procured_only keeps products with a positive quantity_to_procure (the vendor's re-order suggestion, which accounts for open orders); for a plain below-reorder-point list, compare current_inventory_level with reorder_threshold yourself. Offset paging: pass next_offset to continue (null = last page). Read-only even though the vendor takes the filter as a POST body. POST /inventory_levels.

Parameterssizeoffsetsort_typeoutlet_idsproduct_idssupplier_idsgroup_variantssort_directioninclude_inactiveroot_product_idsinclude_compositesto_be_procured_only

lightspeedxseries_list_brands

List brands

List product brands (id, name). Paginate with next_after. GET /brands.

Parametersafterbeforedeletedpage_size

lightspeedxseries_list_tags

List tags

List product tags (id, name). Paginate with next_after. GET /tags.

Parametersafterbeforedeletedpage_size

lightspeedxseries_list_suppliers

List suppliers

List suppliers: id, name, default markup and contact details. Paginate with next_after. GET /suppliers.

Parametersafterbeforedeletedpage_size

lightspeedxseries_list_consignments

List stock orders (consignments)

List consignments: supplier stock orders (type SUPPLIER), transfers between outlets (OUTLET), stocktakes (STOCKTAKE) and returns (RETURN), with status (OPEN, SENT, DISPATCHED, RECEIVED, STOCKTAKE_*, CLOSED, CANCELLED), outlet, supplier, due and received dates, totals. Paginate with next_after. GET /consignments.

Parameterstypeafterbeforestatusoutlet_idpage_size

lightspeedxseries_get_consignment

Get consignment

One consignment (stock order, transfer, stocktake or return) by id. GET /consignments/{consignment_id}.

Parametersconsignment_idrequired

lightspeedxseries_list_consignment_products

List consignment products

The product lines of one consignment: product_id, SKU, ordered count, received quantity, cost. Paginate with next_after (stop when data is empty). GET /consignments/{consignment_id}/products.

Parametersafterbeforepage_sizeconsignment_idrequired

lightspeedxseries_list_sales

List sales (change feed)

Sales in version order, oldest changes first: the way to sync everything that changed. It has NO date filter: for a period use search_sales or sales_summary. Each sale: id, date, invoice_number, state, customer_id, source (outlet, register, user), payments, line_items, totals. Paginate with next_after (stop when data is empty). GET /sales.

Parametersafterbeforepage_size

lightspeedxseries_get_sale

Get sale

One sale by id with its line items, payments, taxes and totals. GET /sales/{sale_id}.

Parameterssale_idrequired

lightspeedxseries_search_sales

Search sales

Find sales by date range (UTC), state, outlet, register, user, customer, payment type, product or invoice number. Uses offset paging: pass next_offset to continue (null = last page). Replies can be large: for totals over a period use sales_summary instead of paging through this. GET /search?type=sales.

Parametersstateoffsetdate_touser_iddate_fromoutlet_idpage_sizeproduct_idcustomer_idregister_idinvoice_numberpayment_type_id

lightspeedxseries_sales_summary

Sales summary (totals for a period)

Totals for a period computed here from up to max_pages x page_size sales, so a report needs ONE tool call instead of dozens: sale count and net / tax / gross (tax-inclusive) totals, plus breakdowns by state, UTC day, outlet and payment type name, and the top products by quantity. By default only closed sales are counted (states containing 'closed'); set counted_states to change that. Dates are UTC (convert local days with the retailer's time zone). If the reply says truncated, call again with offset = next_offset and add the figures up. Uses GET /search?type=sales.

Parametersstateoffsetdate_touser_iddate_frommax_pagesoutlet_idpage_sizeproduct_idcustomer_idregister_idcounted_states+2 more

lightspeedxseries_list_customers

List customers

List customers in version order: id, customer_code, name, email, phone, balance, loyalty_balance, year_to_date, customer group. To find one by name or email use search_customers. Paginate with next_after (stop when data is empty). GET /customers.

Parametersafterbeforedeletedpage_size

lightspeedxseries_search_customers

Search customers

Find customers by email, first name, last name, company name, phone, mobile or customer code. Uses offset paging: pass next_offset to continue (null = last page). GET /search?type=customers.

Parametersemailphonemobileoffsetdeletedlast_namepage_sizefirst_namecompany_namecustomer_code

lightspeedxseries_get_customer

Get customer

One customer by id: contact details, addresses, customer group, balance, loyalty balance, year-to-date spend. GET /customers/{customer_id}.

Parameterscustomer_idrequired

lightspeedxseries_list_customer_groups

List customer groups

List customer groups (id, name). Use the id as customer_group_id when creating or updating a customer. Paginate with next_after. GET /customer_groups.

Parametersafterbeforedeletedpage_size

lightspeedxseries_create_customer

Create customer

WRITE: create a new customer. Give at least a first name, last name or company name. Check search_customers first so you do not create a duplicate. POST /customers.

Parametersnoteemailphonemobilelast_namefirst_namecompany_namedo_not_emailcustomer_codedate_of_birthphysical_cityenable_loyalty+8 more

lightspeedxseries_update_customer

Update customer

WRITE: change fields of an existing customer. Only the fields you pass change: the tool first reads the customer and sends the vendor its full record with your changes applied (the vendor's update is a full PUT). Cannot delete a customer or change balances. Lightspeed offers no partial update for customers, so a change made by someone else in the moments between the tool's read and its write can be overwritten. PUT /customers/{customer_id}.

Parametersnoteemailphonemobilelast_namefirst_namecustomer_idrequiredcompany_namedo_not_emailcustomer_codedate_of_birthphysical_city+9 more

lightspeedxseries_update_product_prices

Update product prices

WRITE: set the selling price of one product (variant). Pass price_excluding_tax or price_including_tax as a decimal string such as "24.99" (set one; the store's tax setting decides which the till uses). Nothing else on the product changes. Read the product first and confirm the new price with the user. PATCH /products/{product_id}.

Parametersproduct_idrequiredloyalty_amountprice_excluding_taxprice_including_tax

lightspeedxseries_set_product_stock

Set product stock and reorder levels

WRITE: set the stock on hand (current_amount) and/or the reorder point and reorder amount of ONE product at ONE outlet. current_amount is the NEW TOTAL on hand, not a change: it overwrites the count, so sales made since you last read it are lost from the count. Read get_inventory_levels first and confirm the number with the user. Other outlets and all other product fields stay as they are. PATCH /products/{product_id} (outlet_inventories).

Parametersoutlet_idrequiredproduct_idrequiredreorder_pointcurrent_amountreorder_amount

Version history

16
  1. v1.19.3LatestNov 7, 2026
  2. v1.18.3Nov 5, 2026
  3. v1.18.2Nov 5, 2026
  4. v1.18.1Nov 4, 2026
  5. v1.18.0Nov 3, 2026
  6. v1.17.1Nov 3, 2026
  7. v1.16.0Nov 1, 2026
  8. v1.14.0Oct 31, 2026
  9. v1.13.0Oct 31, 2026
  10. v1.12.2Oct 30, 2026
  11. v1.12.0Oct 30, 2026
  12. v1.7.0Oct 26, 2026
  13. v1.4.3Oct 25, 2026
  14. v1.4.0Oct 25, 2026
  15. v1.3.0Oct 24, 2026
  16. v1.0.0Oct 23, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations