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…
Что умеет
- Account List: List 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
- Account Create: Create 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.
- Auth Request Otp: Step 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 accou
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
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 35 MCP tools, letting any compatible AI assistant — Claude, ChatGPT, n8n, or your own automation — interact with your Kash account through natural language.
No more clicking through menus. Just talk.
What You Can Do
🔐 Account & Authentication
Get started without leaving the conversation. You can create a Kash account, find existing accounts linked to your email, and authenticate via a secure one-time password (OTP) sent to your inbox — all from within the chat.
"Create a Kash account for my restaurant"
"Log me in with my email"
"I received the OTP code: 847291"
🧾 Sales & Orders
Record sales in real time, attach them to tables or customers, apply payment methods, add comments, and handle delivery modes — all from a single sentence.
"Record a sale of 2 espressos and a croissant at table 5, paid by card"
"Show me today's sales"
"What orders are pending for delivery tonight?"
"Give me the detail of order #1042"
📦 Catalog Management
Add, update, or remove items, departments, and VAT rates on the fly. Adjust prices, link variations, set stock levels, toggle visibility — without opening the back office.
"Add a new item called 'Seasonal Tart' at €4.50 in the Pastries department"
"Update the price of the Margherita pizza to €12"
"Create a new department called 'Summer Menu'"
"Add a 10% VAT rate"
👥 Customer Management (CRM)
Maintain a full customer database. Add new customers, update contact details, manage addresses, company registration numbers, VAT numbers, blacklist status, and private notes.
"Add a new customer: John Smith, john@example.com, +33612345678"
"Update the address for customer #204"
"Show me all my customers"
📊 Data & Reporting
Retrieve any data from your shop instantly — products, departments, VAT rates, users, cashboxes, payment methods, delivery zones, discounts, tables, relay points, and more.
"List all my products"
"What payment methods are configured?"
"Show me this week's orders"
"How many tables do I have?"
Example Conversations
Here are real things you can ask once connected:
"Show me today's sales" "Record a sale of 2 coffees and 1 croissant at table 84" "How is the business doing so far this year?" "Can you analyse my sales history and give me recommendations?" "Add a new seasonal item to my menu at €8.50" "Which customers haven't ordered in the last 3 months?" "Generate a cash register report for the week" "How many orders have to be delivered tonight?" "I need to add a new VAT rate of 5.5% for food items"
Available Tools (35)
| Category | Tools |
|---|---|
| Account | account_list, account_create |
| Authentication | auth_request_otp, auth_login_with_otp, auth_logout |
| Sales | sale_create, order_detail, data_list_orders |
| Catalog — Items | plu_add, plu_edit, plu_delete, data_list_products |
| Catalog — Departments | dept_add, dept_edit, dept_delete, data_list_departments, data_list_department_groups |
| Catalog — VAT | vat_add, vat_edit, vat_delete, data_list_vats |
| CRM | client_add, client_edit, client_delete, data_list_clients |
| Data | data_list_users, data_list_tables, data_list_cashboxes, data_list_payments, data_list_discounts, data_list_variations, data_list_delivery_men, data_list_delivery_zones, data_list_relay_points |
| Utility | ping |
Who Is This For?
This MCP server is ideal for:
- Restaurant & café owners who want to record orders, track tables, and analyse revenue through conversation
- Retail shop managers who need to quickly update prices, add items, or check stock without navigating the back office
- Bakeries, florists, food trucks and any local business that wants an AI assistant deeply connected to their daily operations
- Developers & agencies building AI-powered workflows on top of a proven POS platform
- n8n / automation users who want to trigger Kash actions from workflows
Getting Started
Option 1 — You already have a Kash account
Simply connect via OAuth. The server will ask for your login email and send you a one-time password to verify your identity. Once authenticated, all 35 tools are immediately available.
Option 2 — You don't have a Kash account yet
No problem — just ask the AI to create one for you:
"Create a Kash account for my bakery, my email is hello@mybakery.com"
The account is created instantly, the session is initialized automatically, and you're ready to go. Don't forget to validate your email via the link sent to your inbox.
Technical Details
- Protocol: MCP (Model Context Protocol) over HTTP Streamable
- Authentication: OAuth 2.0 with PKCE (S256) — secure, no password required
- Hosted server:
https://mcp.kash.click/mcp - Self-hosted option: Available via
npx caisse-enregistreuse-mcp-serveror Docker - Open source: github.com/paracetamol951/caisse-enregistreuse-mcp-server
- License: GPL v3
Links
- 🌐 kash.click — Kash website
- 📖 Documentation — Full help center
- 🔧 API Reference — MCP & API docs
- 💻 GitHub — Source code
- 🆓 Register for free — Create your account
Список инструментов сервера (39)
Технические названия из tools/list. Нужны только разработчикам.
| account_list | List 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_create | Create 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 after a period of inactivity. |
| auth_request_otp | Step 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_otp | Step 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_edit | Modify 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_infos | Retrieve 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_edit. |
| auth_logout | Clear the current authentication session (APIKEY and SHOPID). After this, all tools requiring authentication will fail until a new login is performed. |
| report_get | Download 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_create | Record 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 private order page showing full order details which can also be used by the client to pay online. IMPORTANT: before creating a validated invoice (payment ≠ -2), call account_show_infos to verify that shopName, adressline1, and companyRegistrationNum are all set. If any of these fields are empty, warn the user and suggest using account_edit to fill them in before issuing invoices. |
| order_edit | Modify 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 PDF invoice or quote URL. |
| data_list_products | Retrieve 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_departments | Get all departments (product categories) defined in the shop, including their names and default tax rates. Supports format=json|csv|html. |
| data_list_department_groups | Return the list of department groups, used to organize product categories. Each group may include multiple department IDs. |
| data_list_clients | Get the list of clients registered in the shop, including contact info, loyalty points. |
| data_list_variations | Retrieve product variations (declinaisons) such as size or color. Returns an array of variant definitions with value and optional price delta. |
| data_list_delivery_men | List all delivery methods available for the shop, such as in-store pickup, home delivery, or courier services. |
| data_list_payments_modes | tools.data.list.payments.description |
| data_list_cashboxes | List the registered cashboxes (physical or virtual) linked to the shop, including their current status and identifiers. |
| data_list_delivery_zones | Return all configured delivery zones, including area names, postal codes, and applicable delivery fees or restrictions. |
| data_list_relay_points | List all relay points where customers can pick up their orders, including address, city, and postal code. |
| data_list_discounts | Return all available discounts or promotions, including their names, types (percentage or fixed), values, and conditions. |
| data_list_users | List all users (cashiers, managers, etc.) associated with the shop, including their roles and identifiers. |
| data_list_tables | Retrieve the list of tables configured in the app, used for restaurant mode or table management. |
| data_list_vats | Retrieve the list of VAT rates configured in the shop, including their title, rate percentage, and optional accounting chapter. |
| data_list_pending_orders | Retrieve the list of unvalidated orders (that can still be modified) |
| data_list_orders | List 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_detail | Retrieve full order information by its unique ID, including items, client data, payment mode, and total amount. |
| vat_add | Add 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_edit | Modify an existing VAT rate by its ID. All fields are optional except the ID. |
| vat_delete | Permanently remove a VAT rate from the shop configuration by its ID. |
| plu_add | Add 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_edit | Edit 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_delete | Permanently remove an item/article from the catalog by its ID. |
| dept_add | Add 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_edit | Edit 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_delete | Permanently remove a department/category from the catalog by its ID. |
| client_add | Add 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_edit | Edit an existing customer by their ID. All fields are optional except the ID. Use data_list_clients to find the customer ID first. |
| client_delete | Permanently remove a customer from the shop's customer file by their ID. |