Clover MCP Server

MCP server for Clover POS API integration. Access orders, inventory, customers, payments, and merchant data.

Setup

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:

{
  "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 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 }
  ]
)