Clover POS MCP Server
A comprehensive Model Context Protocol (MCP) server for Clover POS platform integration. Provides 50+ tools and 15+ React applications for complete point-of-sale management.
Features
🛠️ Tools (50+)
Complete API coverage across all Clover POS domains:
Orders Management
clover_list_orders- List all orders with filteringclover_get_order- Get order detailsclover_create_order- Create new orderclover_update_order- Update order informationclover_delete_order- Delete an orderclover_add_line_item- Add item to orderclover_remove_line_item- Remove item from orderclover_add_order_discount- Apply discount to orderclover_list_order_payments- List order paymentsclover_fire_order- Send order to kitchen
Line Items
clover_get_line_item- Get line item detailsclover_update_line_item- Update line itemclover_exchange_line_item- Mark item as exchangedclover_add_line_item_modification- Add modifier to itemclover_remove_line_item_modification- Remove modifierclover_add_line_item_discount- Apply discount to itemclover_remove_line_item_discount- Remove discount from item
Inventory Management
clover_list_items- List inventory itemsclover_get_item- Get item detailsclover_create_item- Create new inventory itemclover_update_item- Update item informationclover_delete_item- Delete itemclover_update_stock- Update stock countclover_bulk_update_stock- Bulk stock updates
Categories
clover_list_categories- List all categoriesclover_get_category- Get category detailsclover_create_category- Create new categoryclover_update_category- Update categoryclover_delete_category- Delete categoryclover_add_item_to_category- Add item to categoryclover_remove_item_from_category- Remove item from categoryclover_list_category_items- List items in category
Modifiers
clover_list_modifier_groups- List modifier groupsclover_get_modifier_group- Get group detailsclover_create_modifier_group- Create modifier groupclover_update_modifier_group- Update groupclover_delete_modifier_group- Delete groupclover_list_modifiers- List modifiers in groupclover_get_modifier- Get modifier detailsclover_create_modifier- Create new modifierclover_update_modifier- Update modifierclover_delete_modifier- Delete modifier
Customers
clover_list_customers- List all customersclover_get_customer- Get customer detailsclover_create_customer- Create new customerclover_update_customer- Update customer informationclover_delete_customer- Delete customerclover_list_customer_orders- List customer orders
Employees & Shifts
clover_list_employees- List all employeesclover_get_employee- Get employee detailsclover_create_employee- Create new employeeclover_update_employee- Update employeeclover_delete_employee- Delete employeeclover_list_shifts- List all shiftsclover_get_shift- Get shift detailsclover_create_shift- Clock in employeeclover_update_shift- Update shiftclover_clock_out- Clock out employeeclover_delete_shift- Delete shiftclover_list_employee_shifts- List employee shiftsclover_get_active_shifts- Get active shifts
Payments & Refunds
clover_list_payments- List all paymentsclover_get_payment- Get payment detailsclover_list_refunds- List all refundsclover_get_refund- Get refund detailsclover_create_refund- Create refundclover_list_order_refunds- List order refundsclover_list_payment_refunds- List payment refunds
Tips
clover_get_payment_tip- Get payment tip infoclover_update_payment_tip- Update tip amountclover_get_employee_tips- Get employee tipsclover_get_shift_tips- Get shift tipsclover_add_cash_tip_to_shift- Add cash tips
Discounts & Taxes
clover_list_discounts- List all discountsclover_get_discount- Get discount detailsclover_create_discount- Create discountclover_list_tax_rates- List tax ratesclover_get_tax_rate- Get tax rateclover_create_tax_rate- Create tax rate
Cash Management
clover_list_cash_events- List cash drawer eventsclover_add_cash_event- Record cash event
Devices
clover_list_devices- List all devicesclover_get_device- Get device detailsclover_get_device_by_serial- Find device by serialclover_list_device_payments- List device paymentsclover_open_cash_drawer- Open cash drawerclover_print_receipt- Print receipt
Apps
clover_list_apps- List installed appsclover_get_app- Get app detailsclover_get_app_metered_events- Get app usage dataclover_list_app_notifications- List app notifications
Reports & Analytics
clover_sales_summary- Get sales summaryclover_revenue_by_item- Revenue breakdown by itemclover_revenue_by_category- Revenue by categoryclover_employee_performance- Employee sales performanceclover_payment_trends- Payment method trendsclover_hourly_sales- Sales by hourclover_daily_sales- Daily sales reportclover_top_items- Top selling items
Merchants
clover_get_merchant- Get merchant informationclover_update_merchant- Update merchant details
📱 React Applications (15)
Modern, dark-themed React applications built with TypeScript and Tailwind CSS:
- Order Dashboard - Real-time order monitoring and management
- Order Detail - Detailed order view with line items and actions
- Payment Dashboard - Payment tracking and processing
- Customer Directory - Customer management and search
- Customer Detail - Individual customer profiles and history
- Inventory Manager - Stock management and tracking
- Product Catalog - Product browsing and management
- Employee Schedule - Employee scheduling and management
- Shift Manager - Shift tracking and clock in/out
- Discount Manager - Discount creation and management
- Tax Configuration - Tax rate configuration
- Sales Analytics - Comprehensive sales reporting
- Refund Manager - Refund processing and tracking
- Device Manager - Device status and management
- Merchant Settings - Merchant configuration
Each app includes:
App.tsx- Main React componentindex.html- HTML entry pointmain.tsx- React DOM rendervite.config.ts- Vite configuration
Installation
npm install
Configuration
Set environment variables or configure via MCP client:
{
"mcpServers": {
"clover": {
"command": "node",
"args": ["/path/to/clover/dist/main.js"],
"env": {
"CLOVER_API_KEY": "your_api_key",
"CLOVER_ACCESS_TOKEN": "your_access_token",
"CLOVER_MERCHANT_ID": "your_merchant_id",
"CLOVER_ENVIRONMENT": "sandbox"
}
}
}
}
Configuration Options
CLOVER_API_KEY- API key for authentication (optional if using access token)CLOVER_ACCESS_TOKEN- OAuth bearer token (recommended)CLOVER_MERCHANT_ID- Your Clover merchant ID (required)CLOVER_ENVIRONMENT-sandboxorproduction(default: sandbox)
Usage
With Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"clover": {
"command": "node",
"args": ["/path/to/servers/clover/dist/main.js"],
"env": {
"CLOVER_ACCESS_TOKEN": "your_token",
"CLOVER_MERCHANT_ID": "your_merchant_id"
}
}
}
}
Direct Usage
npm run build
npm start
Development
npm run dev
API Client
The CloverClient class provides:
- OAuth Bearer Authentication - Secure token-based auth
- Merchant ID Path Integration - All endpoints include merchant ID
- Automatic Pagination - Fetch large datasets seamlessly
- Error Handling - Comprehensive error messages
- TypeScript Types - Full type safety
Architecture
src/
├── clients/
│ └── clover.ts # API client with auth & pagination
├── tools/
│ ├── orders-tools.ts
│ ├── inventory-tools.ts
│ ├── customers-tools.ts
│ ├── employees-tools.ts
│ ├── payments-tools.ts
│ ├── refunds-tools.ts
│ ├── line-items-tools.ts
│ ├── categories-tools.ts
│ ├── modifiers-tools.ts
│ ├── discounts-tools.ts
│ ├── taxes-tools.ts
│ ├── tips-tools.ts
│ ├── shifts-tools.ts
│ ├── cash-tools.ts
│ ├── devices-tools.ts
│ ├── apps-tools.ts
│ ├── reports-tools.ts
│ └── merchants-tools.ts
├── types/
│ └── index.ts # TypeScript type definitions
├── ui/
│ └── react-app/
│ └── src/
│ └── apps/ # 15 React applications
├── server.ts # MCP server implementation
└── main.ts # Entry point
TypeScript Configuration
- Target: ES2022
- Module: Node16 with ESM
- Strict Mode: Enabled
- JSX: react-jsx for React apps
- Libraries: ES2022 + DOM
Development
Build
npm run build
Type Check
npx tsc --noEmit
Running React Apps
Each React app can be run independently:
cd src/ui/react-app/src/apps/order-dashboard
npm install
npm run dev
Testing
Test tools via MCP client or programmatically:
import { CloverClient } from './clients/clover.js';
const client = new CloverClient({
accessToken: 'your_token',
merchantId: 'your_merchant_id',
environment: 'sandbox'
});
// List orders
const orders = await client.fetchPaginated('/orders', {}, 100);
console.log(orders);
API Documentation
Full Clover API documentation: https://docs.clover.com/reference
License
MIT
Author
MCPEngine - Complete MCP Server Solutions
Version
1.0.0
50+ Tools | 15 React Apps | Production Ready