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

Lightspeed Retail (X-Series) MCP by usefulapi

Read Lightspeed X-Series products, stock, sales, customers, stock orders; one-call sales reports.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 267 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://lightspeed-x-series.usefulapi.io/mcp

Source code Website Streamable HTTP · protocol 2025-11-25 · server version 1.22.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: 4 tools are labelled as able to change things.

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

    • lightspeedxseries_create_customer
    • lightspeedxseries_update_customer
    • lightspeedxseries_update_product_prices
    • lightspeedxseries_set_product_stock
  • Passed: Every tool says whether it only reads or can change things.

Tools

  • Passed: 30 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 (30)

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

  • lightspeedxseries_get_retailerThe 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 in…Read-only
  • lightspeedxseries_list_outletsList 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.Read-only
  • lightspeedxseries_get_outletOne outlet by id. GET /outlets/{outlet_id}.Read-only
  • lightspeedxseries_list_registersList registers (tills): id, name, outlet_id, is_open, open/close times and invoice numbering. Paginate with next_after. GET /registers.Read-only
  • lightspeedxseries_get_register_payments_summaryPayment totals by payment type for one register since it was opened (the end-of-day / cash-up view). GET /registers/{register_id}/payments_summary.Read-only
  • lightspeedxseries_list_taxesList tax groups and their rates (id, name, is_default, rates). The vendor returns the whole list in one reply (no cursor). GET /taxes.Read-only
  • lightspeedxseries_list_usersList 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.Read-only
  • lightspeedxseries_get_user_sale_totalsSales 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.Read-only
  • lightspeedxseries_list_productsList 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 p…Read-only
  • lightspeedxseries_get_productOne product (variant) by id, with its prices, codes, suppliers and outlet taxes. GET /products/{product_id}.Read-only
  • lightspeedxseries_search_productsFilter 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.Read-only
  • lightspeedxseries_get_inventory_levelsStock 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 outl…Read-only
  • lightspeedxseries_list_brandsList product brands (id, name). Paginate with next_after. GET /brands.Read-only
  • lightspeedxseries_list_tagsList product tags (id, name). Paginate with next_after. GET /tags.Read-only
  • lightspeedxseries_list_suppliersList suppliers: id, name, default markup and contact details. Paginate with next_after. GET /suppliers.Read-only
  • lightspeedxseries_list_consignmentsList consignments: supplier stock orders (type SUPPLIER), transfers between outlets (OUTLET), stocktakes (STOCKTAKE) and returns (RETURN), with status (OPEN, SENT, DISPATCHED, RECEIVED, STOCKTAKE_*,…Read-only
  • lightspeedxseries_get_consignmentOne consignment (stock order, transfer, stocktake or return) by id. GET /consignments/{consignment_id}.Read-only
  • lightspeedxseries_list_consignment_productsThe 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.Read-only
  • lightspeedxseries_list_salesSales 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, stat…Read-only
  • lightspeedxseries_get_saleOne sale by id with its line items, payments, taxes and totals. GET /sales/{sale_id}.Read-only
  • lightspeedxseries_search_salesFind 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 l…Read-only
  • lightspeedxseries_sales_summaryTotals 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 b…Read-only
  • lightspeedxseries_list_customersList 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_a…Read-only
  • lightspeedxseries_search_customersFind 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.Read-only
  • lightspeedxseries_get_customerOne customer by id: contact details, addresses, customer group, balance, loyalty balance, year-to-date spend. GET /customers/{customer_id}.Read-only
  • lightspeedxseries_list_customer_groupsList customer groups (id, name). Use the id as customer_group_id when creating or updating a customer. Paginate with next_after. GET /customer_groups.Read-only
  • lightspeedxseries_create_customerWRITE: 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.Can change things
  • lightspeedxseries_update_customerWRITE: 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…Can change things
  • lightspeedxseries_update_product_pricesWRITE: 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 use…Can change things
  • lightspeedxseries_set_product_stockWRITE: 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,…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 200267 ms
initializedHTTP 20295 ms
tools/listHTTP 200146 ms
prompts/listHTTP 20032 ms
unknown-methodHTTP 40132 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.