Kash — POS, Invoicing, CRM & Webshop
# Kash MCP Server — Official Integration > **Connect your Kash business to Claude, ChatGPT, and any MCP-compatible AI — and run your entire operation through natural conversation.** Kash has been a free, cloud-based point-of-sale solution since 2011, trusted by thousands of merchants across restaurants, retail, bakeries, florists, food trucks, and more. This MCP server is the official bridge between Kash and the new generation of AI assistants, turning every tool in your business into something you can simply talk to. --- ## What is Kash? Kash (kash.click) is a complete, free business management platform built for small and medium businesses. It goes far beyond a simple cash register: - **Point of Sale** — touchscreen-ready, works on any device (Android, iOS, Windows, Mac), online and offline - **Invoicing & Quotes** — generate PDF invoices, quotes, delivery notes, and expense reports in seconds - **CRM** — manage your full customer base with contact details, purchase history, loyalty points, credits, and custom fields - **Online Store / Webshop** — built-in e-commerce storefront synced with your catalog and inventory - **Inventory Management** — real-time stock tracking, alerts, supplier management, and buying prices - **Delivery Management** — table service, takeaway, drive-through, home delivery, relay points, and shipping - **Loyalty & Marketing** — loyalty cards, loyalty points, coupons, vouchers, referral programs, and marketing campaigns - **Payment Flexibility** — cash, card (SumUp, Yavin, Viva.com), PayPal, Lydia, GoCardless, direct debit, and even cryptocurrency - **Reporting & Analytics** — sales reports, revenue charts, export to CSV, accounting chapter mapping, and Pennylane integration - **Multi-user & Multi-cashbox** — manage staff access, roles, and multiple physical or virtual cashboxes All of this is **free** for small businesses, with no mandatory subscription. --- ## What Does This MCP Server Do? This server exposes the full Kash API as
How to connect
https://kash.run.tools
tools/list returns the expected tools before relying on them in production.Tools
(39)-
account_listList all Kash / free-cash-register.net accounts linked to an email address. Use this before account_create to check if the user already has an account. Returns an array of accounts, each with accountTitle, accountID, and a getOTPForAccount URL that can be used to request a one-time password (OTP) to retrieve the APIKEY. This endpoint is public and requires no authentication.
-
account_createCreate a new Kash / free-cash-register.net account. Requires an email address and a shop name (accountTitle). Optional: configType to pre-load a dataset matching your business type (e.g. 'Restaurant', 'Bakery', 'Bar', 'Retail'...), plus address and legal info. On success, returns APIKEY and SHOPID and automatically initializes the session so all other tools can be used immediately. IMPORTANT: the user must validate their email via the link sent automatically, otherwise the account may be deleted
-
auth_request_otpStep 1 of 2 for in-conversation authentication. Sends a one-time password (OTP) to the user's email address. If the user has multiple accounts, provide accountID (obtained from account_list) to target the right one. On success, an OTP code is sent by email — then call auth_login_with_otp with that code.
-
auth_login_with_otpStep 2 of 2 for in-conversation authentication. Exchange the OTP received by email for an APIKEY and SHOPID, and automatically initialize the session so all other tools work immediately. Call auth_request_otp first to receive the OTP by email.
-
account_editModify the settings of the authenticated shop account. All fields are optional. Covers: basic info (name, address, legal numbers), receipt display options, order requirements, feature flags (stock, barcodes, variations, webshop, coupons...), delivery method toggles, and third-party integrations (PayPal, Prestashop, Yavin, Viva.com).
-
account_show_infosRetrieve all current settings of the authenticated shop account as a JSON object. Returns the full shop configuration: name, address, legal numbers, receipt options, order requirements, enabled features, delivery methods, webshop colours, and third-party integration settings. Use this to verify invoice prerequisites before creating orders: shopName, adressline1, and companyRegistrationNum must all be set for legally valid invoices. If any are missing, prompt the user to fill them in via account_
-
auth_logoutClear the current authentication session (APIKEY and SHOPID). After this, all tools requiring authentication will fail until a new login is performed.
-
report_getDownload a synthetic HTML sales report for a given period. Period logic: omit all date fields to get yesterday's report; provide y only for a full-year report; y + m for a full-month report; y + m + d for a specific day. Returns an HTML summary including total revenue, number of orders, breakdown by department, VAT summary, and payment methods.
-
order_createRecord a new order in the connected shop. Input includes paymentMode, and items[]. Each item can be of type 'catalog' (with productId), 'department' (with price and deptId) or 'free' (with title and price). Check if the client already exists using data_list_clients and if the client exists, only specify idClient. If provided, paymentMode should correspond to a payment ID from data_list_payments_modes tool. Returns a sale confirmation JSON including: a link to the PDF invoice, and a link to a pri
-
order_editModify an existing order by its ID. Use the payment field to control the order state: -2 = keep as unvalidated quote (not paid); -1 = validate as invoice without payment; a payment method ID (from data_list_payments_modes) = record an actual payment and validate the order. Use paymentAmount to specify a partial payment amount (omit for full payment). Items can only be added or changed on unvalidated orders. Once validated, only payments can be recorded. Returns the orderID, a payment link, and a
-
data_list_productsRetrieve the list of articles (products) configured in the shop. Returns an array of products with fields like id, title, price, and departmentId. Optional parameter 'format' allows output as json, csv, or html.
-
data_list_departmentsGet all departments (product categories) defined in the shop, including their names and default tax rates. Supports format=json|csv|html.
-
data_list_department_groupsReturn the list of department groups, used to organize product categories. Each group may include multiple department IDs.
-
data_list_clientsGet the list of clients registered in the shop, including contact info, loyalty points.
-
data_list_variationsRetrieve product variations (declinaisons) such as size or color. Returns an array of variant definitions with value and optional price delta.
-
data_list_delivery_menList all delivery methods available for the shop, such as in-store pickup, home delivery, or courier services.
-
data_list_payments_modestools.data.list.payments.description
-
data_list_cashboxesList the registered cashboxes (physical or virtual) linked to the shop, including their current status and identifiers.
-
data_list_delivery_zonesReturn all configured delivery zones, including area names, postal codes, and applicable delivery fees or restrictions.
-
data_list_relay_pointsList all relay points where customers can pick up their orders, including address, city, and postal code.
-
data_list_discountsReturn all available discounts or promotions, including their names, types (percentage or fixed), values, and conditions.
-
data_list_usersList all users (cashiers, managers, etc.) associated with the shop, including their roles and identifiers.
-
data_list_tablesRetrieve the list of tables configured in the app, used for restaurant mode or table management.
-
data_list_vatsRetrieve the list of VAT rates configured in the shop, including their title, rate percentage, and optional accounting chapter.
-
data_list_pending_ordersRetrieve the list of unvalidated orders (that can still be modified)
-
data_list_ordersList either: unvalidated orders (called quotes) with creation date between from_date_ISO8601 and to_date_ISO8601 OR validated orders (called orders, invoices) with date of value between from_date_ISO8601 and to_date_ISO8601. You can also filter delivery methods (using filterDeliveryMethod).
-
order_detailRetrieve full order information by its unique ID, including items, client data, payment mode, and total amount.
-
vat_addAdd a new VAT rate to the shop configuration. Requires a title and a rate (e.g. 20 for 20%). Optional fields: accountingChapter, legal mention.
-
vat_editModify an existing VAT rate by its ID. All fields are optional except the ID.
-
vat_deletePermanently remove a VAT rate from the shop configuration by its ID.
-
plu_addAdd a new item/article to the shop catalog. Requires a title. Optional fields include price, department (deptID), VAT rate (vatID), barcode, stock, variations, and many more.
-
plu_editEdit an existing item/article in the catalog by its ID. All fields are optional except the ID. Use data_list_products to find the article ID first.
-
plu_deletePermanently remove an item/article from the catalog by its ID.
-
dept_addAdd a new department (product category) to the catalog. Requires a title. Optional fields include VAT rate (vatID), price, discount, position, department group, and variations.
-
dept_editEdit an existing department/category by its ID. All fields are optional except the ID. Use data_list_departments to find the department ID first.
-
dept_deletePermanently remove a department/category from the catalog by its ID.
-
client_addAdd a new customer to the shop's customer file. All fields are optional: name, surname, email, phone, address, company registration number, VAT number, barcode, private/public comment, blacklist status, birth date, etc. Use data_list_clients to check if the customer already exists first.
-
client_editEdit an existing customer by their ID. All fields are optional except the ID. Use data_list_clients to find the customer ID first.
-
client_deletePermanently remove a customer from the shop's customer file by their ID.