241 lines
8.1 KiB
Markdown

> **🚀 Don't want to self-host?** [Join the waitlist for our fully managed solution →](https://mcpengage.com/lightspeed)
>
> Zero setup. Zero maintenance. Just connect and automate.
---
# 🚀 Lightspeed MCP Server — 2026 Complete Version
## 💡 What This Unlocks
**This MCP server gives AI direct access to your Lightspeed Retail POS system.** Instead of manually managing sales, inventory, and customer data through the POS interface, you just *tell* the AI what you need — in plain English.
### 🎯 Retail POS Power Moves
The AI can directly control your Lightspeed Retail system with natural language:
1. **Sales Analytics** — "Show me all sales from the last 24 hours broken down by employee and location"
2. **Inventory Tracking** — "List all items with stock below reorder point and generate a purchase order list"
3. **Product Management** — "Find all items in the 'Electronics' category and show their current stock levels"
4. **Customer Intelligence** — "Get all customers who made purchases over $500 in the last month"
5. **Register Operations** — "Show me register status for all locations and today's cash counts"
### 🔗 The Real Power: Combining Tools
AI can chain multiple Lightspeed operations together in one conversation:
- Query sales data → Filter by employee → Generate performance report
- Check inventory levels → Identify low stock → Create reorder workflow
- Pull customer data → Match with purchase history → Generate loyalty insights
- Analyze category performance → Adjust pricing → Update inventory levels
## 📦 What's Inside
**8 powerful API tools** covering Lightspeed Retail POS operations:
- `list_sales` — Browse completed transactions with filters
- `get_sale` — Get complete sale details with line items and payments
- `list_items` — Query inventory catalog with advanced filters
- `get_item` — Get full item details including pricing and stock
- `update_inventory` — Adjust stock levels for items at specific locations
- `list_customers` — Browse customer database
- `list_categories` — View product category hierarchy
- `get_register` — Get POS terminal information and status
All with proper error handling, automatic authentication, and TypeScript types.
## 🚀 Quick Start
### Option 1: Claude Desktop (Local)
1. **Clone and build:**
```bash
git clone https://github.com/BusyBee3333/Lightspeed-MCP-2026-Complete.git
cd lightspeed-mcp-2026-complete
npm install
npm run build
```
2. **Get your Lightspeed API credentials:**
- Log in to Lightspeed Back Office
- Go to **Account Settings → API Settings → Generate Token**
- Complete OAuth authorization flow
- Copy your **Access Token** and **Account ID**
3. **Configure Claude Desktop:**
On macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"lightspeed": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/lightspeed-mcp-2026-complete/dist/index.js"],
"env": {
"LIGHTSPEED_ACCESS_TOKEN": "your-access-token-here",
"LIGHTSPEED_ACCOUNT_ID": "your-account-id"
}
}
}
}
```
4. **Restart Claude Desktop**
### Option 2: Deploy to Railway
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/lightspeed-mcp)
1. Click the button above
2. Set your Lightspeed API credentials in Railway dashboard
3. Use the Railway URL as your MCP server endpoint
### Option 3: Docker
```bash
docker build -t lightspeed-mcp .
docker run -p 3000:3000 \
-e LIGHTSPEED_ACCESS_TOKEN=your-token \
-e LIGHTSPEED_ACCOUNT_ID=your-account-id \
lightspeed-mcp
```
## 🔐 Authentication
**Lightspeed uses OAuth2 authentication with Access Tokens and Account IDs.**
**Setup Steps:**
1. In Lightspeed Back Office: **Account Settings → API Settings**
2. Click **Generate Token** or create an OAuth application
3. Complete the OAuth authorization flow
4. Save these credentials:
- **Access Token** — Your OAuth bearer token
- **Account ID** — Your Lightspeed account identifier (found in URL: `/Account/{ID}/`)
**API Documentation:** https://developers.lightspeedhq.com/retail/introduction/authentication
**Token Management:**
- Access tokens expire after 1 hour
- Use refresh tokens to obtain new access tokens
- This MCP server requires a valid access token
The MCP server handles all API requests automatically using your credentials.
## 🎯 Example Prompts
Once connected to Claude, you can use natural language for retail POS operations:
**Sales Tracking:**
- *"Show me all completed sales from today"*
- *"Get sales for employee ID 5 from the last week"*
- *"List sales over $100 from location 'Downtown Store'"*
**Inventory Management:**
- *"Show me all items with quantity on hand below 10"*
- *"Update inventory for item shop ID 12345 to 50 units"*
- *"List all items in category 'Apparel' with their stock levels"*
**Product Catalog:**
- *"Get all items with UPC barcode '012345678901'"*
- *"Show me items from manufacturer 'Apple' with inventory details"*
- *"List all items that need reordering based on reorder point"*
**Customer Management:**
- *"Find all customers with last name 'Smith'"*
- *"Get customers who joined in the last 30 days"*
- *"List customers with email containing '@gmail.com'"*
**Register Operations:**
- *"Show me all register terminals at location 'Main St Store'"*
- *"Get register status and cash count for register ID 3"*
- *"List all active registers across all locations"*
**Analytics & Reporting:**
- *"Generate a sales report for the last 7 days grouped by category"*
- *"Show me top-selling items from this month"*
- *"Export all customer purchase data from Q4 2024"*
## 🛠️ Development
### Prerequisites
- Node.js 18+
- npm or yarn
- Lightspeed Retail account with API access
- Valid OAuth access token and account ID
### Setup
```bash
git clone https://github.com/BusyBee3333/Lightspeed-MCP-2026-Complete.git
cd lightspeed-mcp-2026-complete
npm install
cp .env.example .env
# Edit .env with your Lightspeed credentials
npm run build
npm start
```
### Testing
```bash
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
```
## 🐛 Troubleshooting
### "Authentication failed"
- Verify your **Access Token** is current (tokens expire after 1 hour)
- Check that your **Account ID** matches your Lightspeed account
- Regenerate your access token if needed
### "Tools not appearing in Claude"
- Restart Claude Desktop after updating config
- Check that the path in `claude_desktop_config.json` is **absolute** (not relative)
- Verify the build completed successfully (`dist/index.js` exists)
### "401 Unauthorized" errors
- Your access token has likely expired (1-hour lifetime)
- Use your refresh token to obtain a new access token
- Update your `.env` or Claude config with the new token
### "Rate limit exceeded"
- Lightspeed has rate limits: 10 requests/second (burst), 600 requests/minute
- The server respects rate limits automatically
- Space out large batch operations
## 📖 Resources
- [Lightspeed Retail API Documentation](https://developers.lightspeedhq.com/retail/)
- [Lightspeed API Reference](https://developers.lightspeedhq.com/retail/endpoints/)
- [OAuth Authentication Guide](https://developers.lightspeedhq.com/retail/introduction/authentication/)
- [MCP Protocol Specification](https://modelcontextprotocol.io/)
- [Claude Desktop Documentation](https://claude.ai/desktop)
## 🤝 Contributing
Contributions are welcome! Please:
1. Fork the repo
2. Create a feature branch (`git checkout -b feature/amazing-tool`)
3. Commit your changes (`git commit -m 'Add amazing tool'`)
4. Push to the branch (`git push origin feature/amazing-tool`)
5. Open a Pull Request
## 📄 License
MIT License - see [LICENSE](LICENSE) for details
## 🙏 Credits
Built by [MCPEngage](https://mcpengage.com) — AI infrastructure for business software.
Want more MCP servers? Check out our [full catalog](https://mcpengage.com) covering 30+ business platforms.
---
**Questions?** Open an issue or join our [Discord community](https://discord.gg/mcpengine).