Loyverse MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOYVERSE_API_BASE | No | Override the API host | https://api.loyverse.com/v1.0 |
| LOYVERSE_TIMEOUT_MS | No | Per-request timeout | 30000 |
| LOYVERSE_ACCESS_TOKEN | Yes | Loyverse access token (required) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loyverse_get_merchantA | Fetch the account profile: business name, country, and the currency with its decimal places. Call this first to know how to format money in every other result. |
| loyverse_list_storesA | List the stores on the account with their addresses. Most filters elsewhere take a store_id from here. |
| loyverse_get_storeA | Fetch one store by id. |
| loyverse_list_employeesA | List employees and their roles. Receipts and shifts reference employees by id. |
| loyverse_get_employeeA | Fetch one employee by id. |
| loyverse_list_shiftsA | List till shifts with their opening and closing cash amounts. Use this to reconcile a day's cash drawer. |
| loyverse_get_shiftA | Fetch one shift by id. |
| loyverse_list_payment_typesA | List the payment types configured on the account. Creating a receipt requires a payment_type_id from here. |
| loyverse_list_pos_devicesB | List the till devices registered to the account. |
| loyverse_upsert_pos_deviceA | Register a till device against a store, or rename one by passing its id. |
| loyverse_list_suppliersB | List suppliers with their contact details. |
| loyverse_get_supplierC | Fetch one supplier by id. |
| loyverse_upsert_supplierB | Create a supplier, or update one by passing its id. |
| loyverse_list_itemsA | List catalogue items with their variants, prices and SKUs. Use this to find the variant_id that the inventory and receipt tools need. |
| loyverse_get_itemA | Fetch one catalogue item by id, including all of its variants. |
| loyverse_upsert_itemA | Create a catalogue item, or update one by passing its id. Loyverse uses POST for both. Stock cannot be set here; create the item first, then call loyverse_set_inventory. |
| loyverse_list_variantsA | List item variants, optionally filtered by SKU or parent item. A variant is the sellable unit that inventory and receipts refer to. |
| loyverse_get_variantA | Fetch one variant by id, including its per-store pricing. |
| loyverse_upsert_variantA | Create a variant on an existing item, or update one by passing variant_id. Use this to change a price without rewriting the whole item. |
| loyverse_list_categoriesC | List item categories. |
| loyverse_upsert_categoryA | Create a category, or rename one by passing its id. |
| loyverse_list_modifiersB | List modifier groups and their options, such as sizes or extras. |
| loyverse_upsert_modifierA | Create a modifier group with its options, or update one by passing its id. |
| loyverse_list_discountsB | List the discounts configured on the account. |
| loyverse_upsert_discountA | Create a discount, or update one by passing its id. |
| loyverse_list_taxesA | List tax rates and whether each is included in or added to the price. |
| loyverse_upsert_taxA | Create a tax rate, or update one by passing its id. |
| loyverse_get_inventoryB | Read current stock per variant per store. Filter by store_ids or variant_ids to keep the result small. |
| loyverse_set_inventoryA | Set stock to an absolute figure for one or more variants at a store. stock_after is the resulting stock level, not a delta: sending 5 leaves 5 in stock regardless of what was there before. Read the current level with loyverse_get_inventory first if you mean to add or remove a quantity. |
| loyverse_list_customersB | List loyalty customers with visit counts, total spend and points balance. Filter by email to find one person. |
| loyverse_get_customerA | Fetch one customer by id, including loyalty points and visit history totals. |
| loyverse_upsert_customerA | Create a customer, or update one by passing its id. This writes personal data to the merchant's Loyverse account, so only pass details the customer has given. |
| loyverse_list_receiptsA | List sales and refund receipts with their line items, taxes, discounts and payments. Without the Unlimited Sales History add-on the account only serves the last 31 days, and older ranges return a payment-required error. |
| loyverse_get_receiptA | Fetch one receipt by its receipt number. |
| loyverse_create_receiptA | Record a sale. This posts a real transaction to the merchant's books and affects stock and reporting, so confirm the line items and total with the user before calling it. A receipt created through the API can carry only one payment type; split tender is not supported. |
| loyverse_refund_receiptA | Issue a refund against an existing receipt, in full or for named line items. This moves money and restores stock, and it cannot be undone through the API. Always confirm the receipt number, the lines and the quantities with the user first. |
| loyverse_sales_summaryA | Aggregate receipts over a date range into totals and a breakdown, without the model having to page through raw receipts. Reports gross sales, refunds, discounts, tax, tips and net, plus a ranked breakdown by day, item, category, payment type, employee or store. Cancelled receipts are excluded. Without the Unlimited Sales History add-on the account only serves the last 31 days. |
| loyverse_deleteA | Delete one record from the merchant's Loyverse account. This removes live business data and cannot be undone through the API. Name the record back to the user and get an explicit yes before calling it. Deleting an item also removes its variants and their stock history. |
| loyverse_set_item_imageA | Attach an image to a catalogue item from a public URL, replacing any existing one. |
| loyverse_list_webhooksA | List the webhook subscriptions registered on the account. |
| loyverse_create_webhookA | Subscribe an https endpoint to a Loyverse event. The endpoint will receive the merchant's live business data, so only register a URL the user has given you. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 41 tools
Each resource has its own list/get/upsert family, and actions like create_receipt, refund_receipt, and sales_summary are clearly separated. The only real ambiguity is loyverse_delete, which is a generic deletion tool with no resource in the name, plus some overlap between list_items/list_variants and get_item/get_variant.
The loyverse_ prefix and snake_case verb_noun pattern are used almost everywhere (list_*, get_*, upsert_*, create_*, set_*). It loses a point for loyverse_delete lacking a noun and loyverse_sales_summary not following the verb_noun convention.
At 41 tools this is far above the comfortable range, even for a broad retail POS domain. The count is defensible because it covers many entities, but it is heavy and likely to increase the agent's selection overhead.
The catalogue, inventory, sales/refund, reporting, customer, and loyalty workflows are well covered with list/get/upsert and lifecycle actions. Gaps remain around store/employee/payment-type management and webhook deletion, but most are either account-level or workaroundable via the generic delete tool.