96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
# Clover MCP Server
|
|
|
|
MCP server for [Clover POS](https://www.clover.com/) API integration. Access orders, inventory, customers, payments, and merchant data.
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Required | Description |
|
|
|----------|----------|-------------|
|
|
| `CLOVER_API_KEY` | Yes | OAuth access token or API token |
|
|
| `CLOVER_MERCHANT_ID` | Yes | 13-character merchant ID |
|
|
| `CLOVER_SANDBOX` | No | Set to `"true"` for sandbox environment |
|
|
| `CLOVER_REGION` | No | `"US"` (default), `"EU"`, or `"LA"` |
|
|
|
|
## API Endpoints
|
|
|
|
- **Production US/Canada:** `https://api.clover.com`
|
|
- **Production Europe:** `https://api.eu.clover.com`
|
|
- **Production LATAM:** `https://api.la.clover.com`
|
|
- **Sandbox:** `https://apisandbox.dev.clover.com`
|
|
|
|
## Tools
|
|
|
|
### Orders
|
|
- **list_orders** - List orders with optional filtering by state
|
|
- **get_order** - Get order details including line items and payments
|
|
- **create_order** - Create new orders (supports atomic orders with line items)
|
|
|
|
### Inventory
|
|
- **list_items** - List products/menu items available for sale
|
|
- **get_inventory** - Get stock counts for items
|
|
|
|
### Customers & Payments
|
|
- **list_customers** - List customer database entries
|
|
- **list_payments** - List payment transactions
|
|
|
|
### Merchant
|
|
- **get_merchant** - Get merchant account information
|
|
|
|
## Usage with Claude Desktop
|
|
|
|
Add to your `claude_desktop_config.json`:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"clover": {
|
|
"command": "node",
|
|
"args": ["/path/to/mcp-servers/clover/dist/index.js"],
|
|
"env": {
|
|
"CLOVER_API_KEY": "your-api-token",
|
|
"CLOVER_MERCHANT_ID": "your-merchant-id",
|
|
"CLOVER_SANDBOX": "true"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Authentication
|
|
|
|
Clover uses OAuth 2.0. You need either:
|
|
1. **Test API Token** - Generate in Clover Developer Dashboard for sandbox testing
|
|
2. **OAuth Access Token** - Obtained through OAuth flow for production apps
|
|
|
|
See [Clover Authentication Docs](https://docs.clover.com/dev/docs/use-oauth) for details.
|
|
|
|
## Examples
|
|
|
|
List open orders:
|
|
```
|
|
list_orders(filter: "state=open", limit: 10)
|
|
```
|
|
|
|
Get order with line items:
|
|
```
|
|
get_order(order_id: "ABC123", expand: "lineItems,payments")
|
|
```
|
|
|
|
Create an order with items:
|
|
```
|
|
create_order(
|
|
title: "Table 5",
|
|
line_items: [
|
|
{ item_id: "ITEM123", quantity: 2 },
|
|
{ name: "Custom Item", price: 999 }
|
|
]
|
|
)
|
|
```
|