# Lightspeed MCP connector

Connect Lightspeed to Elaichi and Claude, ChatGPT, Cursor or any MCP client can look up sales, customers, products and suppliers, and keep customer and product records current, inside each person's own access with every action logged.

Source: https://elaichi.ai/connectors/lightspeed/

## Facts

| | |
| --- | --- |
| Application | Lightspeed |
| Category | Ecommerce |
| AI tools | 45 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Lightspeed is connected

- Which outlets had the most sales this week?
- Create a product called Linen Tote under the Marlow brand.
- Find the customer Priya Shah and update her phone number.

## Connect Lightspeed in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Lightspeed.
2. Optionally set Share with, then press Connect.
3. Paste a Lightspeed API key. One person generates a token in Lightspeed and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Lightspeed tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Lightspeed MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Lightspeed MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Lightspeed MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Lightspeed to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Lightspeed tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Lightspeed through Elaichi

### Check today's sales across every outlet

Store operations. Ask how each outlet and register did today and get the answer from live Lightspeed sales, without opening the back office.

### Add a new product line in minutes

Merchandising. Describe the new range, its brand and its pricing, and the products are created in Lightspeed ready for the shelf.

### Fix a customer record after a visit

Customer service. Update a phone number, email or address the moment a shopper mentions it at the counter, and pull up their past sales while they wait.

### Raise a consignment for incoming stock

Purchasing. Create the consignment for a supplier delivery before it arrives, then check it against what the supplier actually sent.

### Keep product details consistent online and in store

Ecommerce. Ask which products are missing a brand or a description and correct them in Lightspeed before they go live.

### Pull a sale when a receipt is questioned

Finance. Look up any Lightspeed sale by its number to see what was sold, at which register and for how much.

## Frequently asked questions

### How do I connect Lightspeed to Claude?

Connecting Lightspeed to Claude takes two steps. First, in Elaichi, choose Lightspeed and paste in the API key from your Lightspeed account, and you are connected. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp.

### Does Lightspeed work with ChatGPT and Cursor as well as Claude?

Yes. Once Lightspeed is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Lightspeed once and every client you use picks it up.

### What can an AI agent actually do with my Lightspeed data?

An agent can look up Lightspeed customers, products, brands, suppliers, outlets, registers, users and sales, and answer questions about them in plain language. It can also create and update customers, products and brands, and create consignments for incoming stock. Because Lightspeed has a large set of tools, short concrete asks like "find the customer Priya Shah" work better than long paragraphs.

### Does connecting Lightspeed give the AI my whole store?

No. The Lightspeed API key carries the access of the account that created it, and each person signs in to Elaichi as themselves, so every request runs under that identity. Elaichi can narrow what the AI is allowed to do in Lightspeed, for example read only, but it can never widen access beyond what the connected account already has.

### Can my team share one Lightspeed connection?

Yes. One person connects Lightspeed in Elaichi and shares the connection with a team, and nobody else ever handles the Lightspeed API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every lookup and change in Lightspeed.

### Can I stop an agent from deleting or changing things in Lightspeed?

Yes. In Elaichi, restrictions on the Lightspeed connection work per action, so you can allow reading sales and customers while blocking deletes, or blocking any change to products. A blocked action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Lightspeed connection when someone leaves?

Offboarding a person in Elaichi ends their access to Lightspeed at once, across every client they used. If they had shared a Lightspeed connection, it keeps working for everyone else on the team. Disconnecting Lightspeed once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client in one step.

### Does the Lightspeed MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Lightspeed is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 45 Lightspeed tools

Every tool below is callable through https://api.elaichi.ai/mcp once Lightspeed is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a Lightspeed customer** (Create). Create a new customer in Lightspeed. Returns the created customer including id, first_name, last_name, email, customer_code, customer_group_id, balance, loyalty_balance, created_at, updated_at, and version. Requires first_name and last_name.
- **Delete a Lightspeed customer by ID** (Delete). Delete a Lightspeed customer by id. Returns an empty 204 response on success. Required: id.
- **Get single Lightspeed customer by ID** (Get). Get a single Lightspeed customer by id. Returns the full customer record including id, first_name, last_name, email, customer_code, customer_group_id, phone, loyalty_balance, and version. Required: id.
- **List all Lightspeed customers** (List). List customers in Lightspeed with optional version-range and deleted-record filters. Returns: id, version, first_name, last_name, name, company_name, email, customer_code, customer_group_id, date_of_birth, gender, phone, mobile, fax, twitter, website, physical_address_1, physical_address_2, physical_suburb, physical_city, physical_state, physical_postcode, physical_country_id, postal_address_1,…
- **Update a Lightspeed customer by ID** (Update). Update a customer in Lightspeed by id. Returns the updated customer including id, first_name, last_name, email, customer_group_id, loyalty_balance, and version. Required: id and first_name; the body also accepts last_name, email, phone, customer_group_id, and address fields.
- **Create a Lightspeed product** (Create). Create a product in Lightspeed. Returns the created product object including id, name, sku, retail_price, supply_price, tax_id, and variant fields (has_variants, variant_parent_id).
- **Delete a Lightspeed product by ID** (Delete). Delete a single Lightspeed product by id; if the id belongs to a variant, only that variant is removed from its family. Returns an empty 204 response on success. Required: id.
- **Get single Lightspeed product by ID** (Get). Get a single product from Lightspeed by id. Returns the product object including id, name, sku, retail_price, supply_price, tax_id, brand_id, and variant fields. Required: id.
- **List all Lightspeed products** (List). List Lightspeed (X-Series) products. Returns a paginated collection of product records including id, name, sku, version, created_at, and updated_at. For attribute-based product search (sku, brand, supplier, tag), use the dedicated Search endpoint instead.
- **Update a Lightspeed product by ID** (Update). Update an existing Lightspeed (X-Series) product by id. Returns the updated product record including id, name, sku, version, created_at, and updated_at. Required: id.
- **List all Lightspeed outlets** (List). List outlets in Lightspeed Retail (X-Series). Returns each outlet's id, name, currency, currency_symbol, display_prices, time_zone, attributes, and physical address fields.
- **List all Lightspeed registers** (List). List Lightspeed Retail (X-Series) registers for the authenticated retailer, ordered by creation date for stable sync pages. Returns: id. No additional query parameters are supported for this endpoint.
- **Get single Lightspeed sale by ID** (Get). Get a single sale in Lightspeed Retail (X-Series) by id. Returns the sale record including id, status, state, invoice_number, customer_id, and register_id. Required: id.
- **List all Lightspeed sales** (List). List sales in Lightspeed Retail (X-Series). Returns a paginated list of sale records with id, status, state, invoice_number, customer_id, and outlet_id. For date-range, status, or attribute-filtered and sorted sales searches, use the Search endpoint.
- **List all Lightspeed suppliers** (List). List suppliers in Lightspeed Retail (X-Series). Returns a paginated collection of supplier records, each including id, created_at, and updated_at.
- **List all Lightspeed users** (List). List users in the Lightspeed Retail (X-Series) store. Returns a paginated list of user records, each including its id.
- **Create a Lightspeed brand** (Create). Create a new brand in Lightspeed. Returns the id of the created brand. Required: name.
- **Delete a Lightspeed brand by ID** (Delete). Delete a Lightspeed brand by id; any products associated with the brand are disassociated by an asynchronous job. Returns a payload containing the deleted brand's id and job_id. Required: id.
- **Get single Lightspeed brand by ID** (Get). Get a single Lightspeed brand by id. Returns: id, name, description, version, deleted_at. Required: id.
- **List all Lightspeed brands** (List). List Lightspeed brands. Returns brand records including id, name, description, version, and deleted_at.
- **Update a Lightspeed brand by ID** (Update). Update a Lightspeed brand by id. Returns the id of the updated brand. Required: id, name.
- **Create a Lightspeed consignment** (Create). Create a new consignment in Lightspeed Retail (X-Series) as a SUPPLIER, OUTLET, STOCKTAKE, or RETURN order. Returns the created consignment including id, name, type, status, outlet_id, and version. Required: name, outlet_id, and type. DISPATCHED or RECEIVED consignments cannot be created directly.
- **Delete a Lightspeed consignment by ID** (Delete). Delete a Lightspeed consignment by id. Returns an empty 204 response on success.
- **Get single Lightspeed consignment by ID** (Get). Get a single Lightspeed consignment by id. Returns the consignment including id, name, type, status, outlet_id, consignment_date, due_at, received_at, supplier_id, and version. Required: id.
- **Lightspeed consignments get totals** (Get). Get the sent and received count and cost totals for a Lightspeed consignment. Returns: total_sent_count, total_sent_cost, total_received_count, total_received_cost. Required: consignment_id. Not available for STOCKTAKE consignments.
- **List all Lightspeed consignments** (List). List Lightspeed consignments, returning a paginated collection of consignment records. Returns: id, name, outlet_id, type, status, supplier_id, supplier_invoice, reference, source_outlet_id, consignment_date, due_at, received_at, created_at, updated_at, deleted_at, version, show_inactive, filters, total_count_gain, total_count_loss, total_cost_gain, total_cost_loss.
- **Update a Lightspeed consignment by ID** (Update). Update a Lightspeed Retail (X-Series) consignment by id. Returns the updated consignment with id, name, type, status, outlet_id, and updated_at. Required: id, plus a data object containing name, outlet_id, and type. SUPPLIER consignments cannot change type and cannot be updated once RECEIVED or CANCELLED.
- **Create a Lightspeed consignment product** (Create). Add a product to a Lightspeed consignment. Returns the created consignment product item with product_id, count, received, cost, status, and created_at. Required: consignment_id, data (with product_id). Cannot add products to RECEIVED or CANCELLED SUPPLIER orders, or composite products.
- **Delete a Lightspeed consignment product by ID** (Delete). Remove a product from a Lightspeed consignment. Returns an empty 204 response on success. Required: consignment_id, id. Deletion is blocked for consignments with status DISPATCHED, RECEIVED or CANCELLED (SUPPLIER), SENT or RECEIVED (OUTLET), or SENT (RETURN).
- **List all Lightspeed consignment products** (List). List all products for a specific Lightspeed consignment. Returns consignment products with product_id, cost, count, received, status, is_included, and version. Required: consignment_id. Supports filtering by version range via after and before.
- **Update a Lightspeed consignment product by ID** (Update). Update a specific product within a Lightspeed consignment. Returns the updated product with product_id, count, received, cost, status, and updated_at. Required: consignment_id, id, data. Updating received on a SENT SUPPLIER consignment marks it DISPATCHED.
- **Lightspeed consignment products bulk update** (Update). Add or update products in a Lightspeed consignment in bulk. Returns a map keyed by product_id with the applied count and received values. Required: consignment_id and an array of products (each with product_id and either count or received). Avoid updating more than 500 products at a time.
- **Create a Lightspeed customer group** (Create). Create a new customer group in Lightspeed. Returns the created group object including id, name, created_at, updated_at, deleted_at, and version. Required: name.
- **Get single Lightspeed customer group by ID** (Get). Get a single customer group by id in Lightspeed. Returns the group object including id, name, group_id, retailer_id, created_at, updated_at, deleted_at, and version. Required: id.
- **List all Lightspeed customer groups** (List). List customer groups in Lightspeed. Returns each group's id, name, group_id, retailer_id, created_at, updated_at, deleted_at, and version. Supports after/before version bounds and a deleted flag to include deleted groups.
- **Lightspeed customer groups list customers** (List). List the customers belonging to a customer group in Lightspeed. Returns each customer's id, name, email, customer_code, balances, and address fields. Required: customer_group_id.
- **Lightspeed customer groups add customers** (Add). Add one or more customers to a customer group in Lightspeed. Returns a boolean success indicator. Required: customer_group_id and customer_ids.
- **Lightspeed customer groups remove customers** (Delete). Remove customers from a customer group in lightspeed. Only the group membership link is deleted — the customers themselves are not. Returns an empty 204 response on success. Required: customer_group_id.
- **Update a Lightspeed customer group by ID** (Update). Update a customer group in lightspeed by id. Returns the updated group: id, name, created_at, updated_at, version. Required: id, name.
- **Create a Lightspeed gift card** (Create). Create and activate a new Lightspeed gift card, recorded with an initial ACTIVATION transaction containing the starting balance. Returns the created gift card including id, number, balance, status, and gift_card_transactions. Requires number and amount.
- **Get single Lightspeed gift card by ID** (Get). Get a single Lightspeed gift card by id, including all transactions associated with the card. Returns: id, number, balance, status, expires_at, created_at, total_sold, total_redeemed, sale_id, sale_source, gift_card_transactions. Required: id.
- **Lightspeed gift cards get by number** (Get). Find a Lightspeed gift card by its card number, including all transactions associated with the card. Returns: id, number, balance, status, expires_at, created_at, total_sold, total_redeemed, sale_id, sale_source, gift_card_transactions. Required: card_number.
- **List all Lightspeed gift cards** (List). List Lightspeed gift cards, ordered newest to oldest. Returns: id, number, balance, status, expires_at, created_at, total_sold, total_redeemed, sale_id, sale_source, gift_card_transactions. Filter by card_number or status; max 1000 per page.
- **Lightspeed gift cards void** (Action). Void a Lightspeed gift card by id, setting its balance to zero and its status to VOIDED. Returns the voided gift card including id, number, balance, status, and gift_card_transactions. Required: by_id.
- **Lightspeed gift cards void by number** (Action). Void a Lightspeed gift card by its card number. The card's balance is set to zero and its status changes to VOIDED. Returns the voided gift card with id, number, balance, status, created_at, total_sold, total_redeemed, and gift_card_transactions. Required: card_number.
