Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Lightspeed Retail (X-Series) in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Lightspeed Retail X-Series (formerly Vend) for one store: outlets, registers and till totals, sales search by date, products and product families, categories, brands, suppliers, price books and promotions, stock levels, adjustments, consignments and purchase orders, customers, store credit and gift cards. Returns and deletes install switched off.
Try asking
Example prompts for Lightspeed Retail (X-Series)
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Lightspeed Retail (X-Series), paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Lightspeed Retail (X-Series) + Gemini
Lightspeed Retail X-Series (formerly Vend) for one store: outlets, registers and till totals, sales search by date, products and product families, categories, brands, suppliers, price books and promotions, stock levels, adjustments, consignments and purchase orders, customers, store credit and gift cards. Returns and deletes install switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
LIGHTSPEED_DOMAIN_PREFIX, LIGHTSPEED_PERSONAL_TOKEN
Step 1 — Get credentials
X-Series only: this connector uses the Lightspeed Retail (X-Series) API, formerly Vend, date version 2026-10, of one store at https://<domain_prefix>.retail.lightspeed.app/api/2026-10. It does not cover Lightspeed Retail R-Series or Lightspeed Restaurant, which have other APIs.
Setting up takes about 2 minutes. Personal tokens need the Plus plan or above and an admin user.
- As an admin open the Retail POS back office, Setup, Personal tokens, and click Add personal token. Give it a name (and, if you like, an expiry date), generate it and copy the token.
- Paste it into
LIGHTSPEED_PERSONAL_TOKEN. It is sent asAuthorization: Bearer <token>and acts as the user who created it. - Set
LIGHTSPEED_DOMAIN_PREFIXto the first part of your store address: forhttps://mystore.retail.lightspeed.appit ismystore. - Install the connector and run
lightspeed_retail_get_retailer: it shows the store's name, currency and time zone and confirms the token.
Store setup: lightspeed_retail_get_retailer, lightspeed_retail_get_current_user, outlets with lightspeed_retail_list_outlets and lightspeed_retail_get_outlet, registers with lightspeed_retail_list_registers and lightspeed_retail_get_register, lightspeed_retail_get_register_payments_summary (expected amounts per payment type and cash movements of the open shift, as used to close the till), payment types, taxes, users (staff) and shifts.
Sales: for a period, an outlet, a register, a customer or an invoice number the AI uses lightspeed_retail_search with type: sales and date_from/date_to; the plain list ignores dates. lightspeed_retail_list_sales walks all sales by version (for syncing) and lightspeed_retail_get_sale reads one sale with its lines, payments, customer, user and register.
Catalog: lightspeed_retail_list_products (or sku for one product), lightspeed_retail_get_product, lightspeed_retail_get_product_family and lightspeed_retail_get_product_family_of_product. Since version 2026-10 a product family holds the shared data (name, brand, category, tags) and each product the per-variant data (codes, prices, suppliers). Reference data: categories, legacy product types, brands, tags, suppliers, price books and promotions.
Stock: lightspeed_retail_list_inventory_levels gives counts, average cost, reorder point and amount per product and outlet, with filters, sorting and to_be_procured_only for reorder lists; lightspeed_retail_get_product_inventory_levels shows one product in every outlet; lightspeed_retail_list_inventory_records and lightspeed_retail_list_stock_adjustments list the raw records and adjustments. Supplier orders, outlet transfers, supplier returns and stocktakes are consignments: lightspeed_retail_list_consignments, lightspeed_retail_get_consignment and lightspeed_retail_list_consignment_products (ordered and received counts). Purchase orders are read with lightspeed_retail_list_purchase_orders and lightspeed_retail_get_purchase_order.
Customers: the AI finds a customer with lightspeed_retail_search (type: customers, by email, name, code or phone), then reads lightspeed_retail_get_customer (loyalty, store credit and on-account balance, year to date spend). Also lightspeed_retail_list_customers, lightspeed_retail_list_customer_groups, lightspeed_retail_get_customer_store_credit and gift cards with lightspeed_retail_list_gift_cards and lightspeed_retail_get_gift_card.
What it writes: lightspeed_retail_create_sale records a sale (state closed completes it, parked or pending saves it for later); lightspeed_retail_update_sale changes or completes a parked or pending sale and replaces the whole sale, so the AI reads it first. Products: lightspeed_retail_create_product_family, lightspeed_retail_add_products_to_family (new variants), lightspeed_retail_update_product_family for shared data and lightspeed_retail_update_product for prices, codes, suppliers, outlet taxes and inventory settings. Also lightspeed_retail_create_supplier, lightspeed_retail_create_stock_adjustments (quantity is the change, negative to remove, with a reason such as damage, theft or stock found), lightspeed_retail_create_consignment (created in OPEN status; products are added in Lightspeed or later), lightspeed_retail_create_customer and lightspeed_retail_update_customer (first_name and last_name are required). Sales and stock adjustments change stock and the reports at once, so the AI shows you the lines and totals and waits for your yes.
Switched off at install: lightspeed_retail_return_sale, lightspeed_retail_delete_product and lightspeed_retail_delete_customer. They cannot be undone, so a workspace admin switches them on when the team needs them.
Data formats: answers wrap records in data. Ids are UUIDs. Money is a decimal number in the store currency. A sale has totals (price excluding tax, tax, price_incl_tax); on each line pricing.price is the unit price excluding tax, pricing.total the line total after discount, pricing.cost_total the cost, and tax.amount and tax.total the unit and line tax. Tax rates are fractions (0.2 = 20%). Times are UTC (ISO 8601): date_from/date_to take UTC, time_from/time_to take local time together with timezone. A sale state is closed, parked, pending (on account or layby) or voided.
Paging: most lists page by version: the answer has version with min and max, the AI passes max as after for the next page and stops when data is empty. lightspeed_retail_search and lightspeed_retail_list_inventory_levels page with offset; gift cards with before.
Limits and common errors: about 300 requests per 5 minutes per register plus 50; above that Lightspeed answers 429 with Retry-After. 401 means a wrong or expired token or a wrong domain prefix. 403 means the token's user may not do this, since personal tokens act as their user: create the token with an admin. 404 on every call means LIGHTSPEED_DOMAIN_PREFIX is wrong (only the part before .retail.lightspeed.app); on a single record it means a wrong id. 422 is a validation error with the field named.
With the tools on at install, the connector does not process returns and deletes nothing. It reads purchase orders, price books, promotions, store credit and gift cards but does not change them; a new supplier order is created as a consignment.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Lightspeed Retail (X-Series)tools.
Available tools
| Tool | What it does |
|---|---|
lightspeed_retail_get_retailer | Get the retailer (store account): name, domain prefix, currency, time zone, tax settings and loyalty settings |
lightspeed_retail_get_current_user | Get the user the personal token belongs to: name, email, account type (admin, manager, cashier) and the outlets they can use |
lightspeed_retail_list_outlets | List the outlets (store locations) with name, address, time zone, default tax and receipt settings |
lightspeed_retail_get_outlet | Get one outlet (store location) by id with its address, time zone, default tax and settings |
lightspeed_retail_list_registers | List registers (tills) with outlet, name, open or closed state, current register opening and invoice numbering |
lightspeed_retail_get_register | Get one register (till) by id with outlet, whether it is open and the current register opening (shift) |
lightspeed_retail_get_register_payments_summary | Get the payments summary of the current opening of one register: expected amounts per payment type, cash movements and totals, as used to… |
lightspeed_retail_list_payment_types | List payment types (cash, card, gift card, store credit, on account, custom) with their id and config |
lightspeed_retail_list_taxes | List sales taxes with name, rate (a fraction, 0.2 = 20%) and components |
lightspeed_retail_get_tax | Get one sales tax by id with its name, rate as a fraction (0.2 = 20%) and tax components |
lightspeed_retail_list_users | List users (staff) with name, email, account type and outlets |
lightspeed_retail_get_user | Get one user (staff member) by id with name, display name, email, account type and outlets |
lightspeed_retail_list_shifts | List staff shifts (clock in and clock out) with user, outlet, start and end time |
lightspeed_retail_list_products | List products (each sellable item or variant) with name, SKU and codes, prices, family, supplier codes and active state |
lightspeed_retail_get_product | Get one product by id: variant name, codes, prices including and excluding tax, family, measurements, suppliers, outlet taxes and inventory |
lightspeed_retail_get_product_family | Get a product family by id: name, description, classification (STANDARD, VARIANT, COMPOSITE), brand, category, tags and all member products |
lightspeed_retail_get_product_family_of_product | Get the product family a product belongs to, with all its sibling variants or composite components |
lightspeed_retail_create_product_family | Create a product family with its products: a STANDARD product, a VARIANT family (variant attributes, one product per variant) or a COMPOSITE |
lightspeed_retail_update_product_family | Update the shared data of a product family: name, description, brand, category, tags, inventory tracking or composite components |
lightspeed_retail_add_products_to_family | Add products (new variants) to an existing product family, each with its codes, variant attribute values and prices |
lightspeed_retail_update_product | Update one product: prices, codes, supplier codes and prices, outlet taxes, inventory settings, measurements or whether it is active in… |
lightspeed_retail_delete_product | Delete one product |
lightspeed_retail_list_product_categories | List the product category tree (id, name, parent and path) |
lightspeed_retail_list_product_types | List the legacy product types with id and name |
lightspeed_retail_list_brands | List the product brands of the store with id and name, paged by version |
lightspeed_retail_list_tags | List the product tags of the store with id and name, paged by version |
lightspeed_retail_list_suppliers | List suppliers with name, description, default markup and contact details |
lightspeed_retail_get_supplier | Get one supplier by id with contact person, email, phone, addresses, description and default markup |
lightspeed_retail_create_supplier | Create a supplier with a name, description, default markup and contact details (company, person, email, phone, address) |
lightspeed_retail_list_price_books | List price books (special prices per customer group, outlet and validity dates) with their settings |
lightspeed_retail_list_promotions | List promotions (discounts, buy X get Y, promo codes) with conditions, outlets, customer groups and validity dates |
lightspeed_retail_get_promotion | Get one promotion by id with its conditions, actions, outlets, customer groups, channels and validity dates |
lightspeed_retail_list_inventory_levels | List stock levels per product and outlet with counts, average cost, reorder point and amount |
lightspeed_retail_get_product_inventory_levels | Get the stock of one product in every outlet: current count, average cost, reorder point and reorder amount |
lightspeed_retail_list_inventory_records | List raw inventory records (product, outlet, count, reorder settings) by version, for one product or the whole store |
lightspeed_retail_list_stock_adjustments | List stock adjustments (damage, theft, stock found, internal use and custom reasons) with product, outlet, quantity and reason |
lightspeed_retail_create_stock_adjustments | Adjust stock up or down with a reason (damage, expiry, theft, internal use, donation, stock found, sample). quantity is the change… |
lightspeed_retail_list_consignments | List consignments: supplier orders, outlet transfers, returns and stocktakes, with status, outlet, supplier and dates |
lightspeed_retail_get_consignment | Get one consignment by id: type, status, outlet, source outlet or supplier, reference, due and received dates and cost and count totals |
lightspeed_retail_list_consignment_products | List the products of a consignment with ordered and received counts and cost, for checking a delivery or stocktake |
lightspeed_retail_create_consignment | Create a consignment: a supplier order, an outlet transfer, a supplier return or a stocktake, in OPEN status |
lightspeed_retail_list_purchase_orders | List purchase orders to suppliers with number, supplier, outlet, status, ordered and received totals |
lightspeed_retail_get_purchase_order | Get one purchase order by id with supplier, outlet, status, dates, totals and delivery information |
lightspeed_retail_list_sales | List sales by version (oldest changes first) with line items, payments, totals, customer, user, register and status |
lightspeed_retail_get_sale | Get one sale by id: invoice number, status, date, line items with price, discount, tax and cost, payments, customer, user and register |
lightspeed_retail_search | Search sales, products or customers |
lightspeed_retail_create_sale | Record a sale: line items with product, quantity, price and tax, payments and customer. state closed completes it, parked or pending saves… |
lightspeed_retail_update_sale | Update a parked or pending sale (lines, payments, customer, note) or complete it by setting state to closed |
lightspeed_retail_return_sale | Start a return (refund) of a closed sale: Lightspeed creates a return sale linked to the original on the register |
lightspeed_retail_list_customers | List customers by version with name, code, contact details, group, loyalty balance and on-account balance |
lightspeed_retail_get_customer | Get one customer by id: name, code, email, phone, addresses, group, loyalty balance, store credit and on-account balance and year to date… |
lightspeed_retail_create_customer | Create a customer with name, contact details, address, customer group, loyalty enrolment and marketing consent |
lightspeed_retail_update_customer | Update a customer: contact details, address, group, note, loyalty or marketing consent. first_name and last_name are required by the API |
lightspeed_retail_delete_customer | Delete a customer |
lightspeed_retail_list_customer_groups | List customer groups (e.g |
lightspeed_retail_get_customer_store_credit | Get the store credit of one customer: current balance and the list of store credit transactions (issued, redeemed, reversed) |
lightspeed_retail_list_gift_cards | List gift cards with number, balance, status (ACTIVE, REDEEMED, VOIDED, EXPIRED) and expiry, newest first |
lightspeed_retail_get_gift_card | Get a gift card by its card number with balance, status, expiry and the transactions (issue, redeem, reverse) |
Example prompts
- "How much did each outlet sell yesterday, excluding and including tax?"
- "Which products at the Main Street outlet are below their reorder point? Make me a reorder list grouped by supplier."
- "Find the customer with the email [email protected] and show her loyalty balance and store credit."
- "Record a stock adjustment of minus 3 for SKU TSHIRT-BLK-M at the Main Street outlet with the reason damage. Show it to me before saving."
- "Show me the sale with invoice number 10452 with its lines, discounts and payments."
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?