Query Loyverse POS receipts, shifts, items, inventory and customers, and update stock and customers. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"loyverse": {
"url": "https://loyverse.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
loyverse_get_merchant | read | Get the merchant Fetch the merchant account this token belongs to — business name, email, country and currency. A cheap way to confirm the token works. Loyverse: GET /merchant/. |
loyverse_list_stores | read | List stores List the merchant's stores (locations) with their addresses. Store ids are what the receipt, shift and inventory filters take. Loyverse: GET /stores. |
loyverse_list_employees | read | List employees List employees, with the stores each can access and whether they are the owner. Loyverse: GET /employees. |
loyverse_list_receipts | read | List receipts List sales and refund receipts, newest first, with line items, payments, discounts and taxes. Filter by store, time range or receipt numbers — the core of any sales question. Loyverse: GET /receipts. |
loyverse_get_receipt | read | Get one receipt Fetch a single receipt by its receipt number (e.g. 2-1008), with line items, modifiers, discounts, taxes and payments. Loyverse: GET /receipts/{receipt_number}. |
loyverse_list_shifts | read | List shifts List cash-register shifts with their cash, gross/net sales, refunds, discounts, taxes, per-payment-type totals and pay-in/pay-out movements — the end-of-day view. Loyverse: GET /shifts. |
loyverse_list_items | read | List items List catalog items with their variants (SKU, barcode, price, cost, per-store pricing), category, taxes and modifiers. Loyverse: GET /items. |
loyverse_get_item | read | Get one item Fetch a single catalog item by id, with its variants. Loyverse: GET /items/{item_id}. |
loyverse_list_variants | read | List item variants List item variants — the sellable SKUs — optionally for given items or one SKU. Variant ids are what inventory levels are keyed on. Loyverse: GET /variants. |
loyverse_list_categories | read | List categories List item categories. Loyverse: GET /categories. |
loyverse_list_inventory | read | List inventory levels List current stock (`in_stock`) per variant per store. Filter by stores and/or variants — the answer to 'what is running low?'. Loyverse: GET /inventory. |
loyverse_list_customers | read | List customers List loyalty customers, newest first, with visits, total spent and points balance. Filter by email or ids. Loyverse: GET /customers. |
loyverse_get_customer | read | Get one customer Fetch a single customer by id, with visits, total spent and points balance. Loyverse: GET /customers/{customer_id}. |
loyverse_list_payment_types | read | List payment types List the payment types (cash, card, integrated terminals…) and the stores where each is available. Receipt payments reference these ids. Loyverse: GET /payment_types. |
loyverse_list_discounts | read | List discounts List configured discounts (fixed/variable percent or amount, discount-by-points) and where they apply. Loyverse: GET /discounts. |
loyverse_list_taxes | read | List taxes List taxes with their rate, whether they are INCLUDED in or ADDED to the price, and the stores they apply in. Loyverse: GET /taxes. |
loyverse_list_suppliers | read | List suppliers List suppliers with their contact details. Loyverse: GET /suppliers/. |
loyverse_upsert_customer | write | Create or update a customer Create a loyalty customer, or update one by passing its `id`. Loyverse does not document whether omitted fields survive an update, so on update fetch the customer first and send the full record. Loyverse: POST /customers. |
loyverse_upsert_category | write | Create or update a category Create an item category, or rename/recolor one by passing its `id`. Loyverse: POST /categories. |
loyverse_upsert_supplier | write | Create or update a supplier Create a supplier, or update one by passing its `id`. Loyverse does not document whether omitted fields survive an update, so on update send the full record. Loyverse: POST /suppliers/. |
loyverse_set_inventory_levels | write | Set inventory levels Set the ABSOLUTE stock (`stock_after`) of one or more variants at given stores — e.g. after a stock count. This overwrites the current level rather than adding to it; read the current levels with loyverse_list_inventory first so they can be restored. Loyverse: POST /inventory. |
loyverse_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
loyverse_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Loyverse tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.