iikoServer MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iikoServer MCPshow me today's top dishes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
iikoServer MCP Server
MCP (Model Context Protocol) server exposing the iiko restaurant management system REST API as 42+ LLM-callable tools over stdio.
Features
42+ tools — products, employees, orders, payments, OLAP reports, assembly charts
Auto-auth — SHA1 password hashing + session cookie, re-authenticates on 401
Graceful shutdown — sends logout to release iiko license slot
Self-signed cert support —
IIKO_VERIFY_SSL=falseby defaultVenue mapping — optional
IIKO_VENUE_MAPto tag cash register numbers with namesBusiness-level helpers —
get_checks,get_venues_revenue,get_staff_meals,get_top_dishes,compare_revenueDocker-ready — Python 3.12-slim, stdio protocol
Related MCP server: @spec2tools/stdio-mcp
Quick Start
Local (pip)
git clone https://github.com/your-org/iiko-server-mcp.git
cd iiko-server-mcp
pip install -r requirements.txtIIKO_URL=https://your-restaurant.iiko.it:443 \
IIKO_LOGIN=your_login \
IIKO_PASS=your_password \
python3 server.pyDocker
docker build -t iiko-server-mcp .
docker run -i --rm \
-e IIKO_URL=https://your-restaurant.iiko.it:443 \
-e IIKO_LOGIN=your_login \
-e IIKO_PASS=your_password \
iiko-server-mcpImportant: MCP servers use stdio (not HTTP). The container must run with -i (interactive) so the MCP client can communicate via stdin/stdout. Do not use -d (detached).
Configuration
Copy .env.example to .env and fill in real values:
Variable | Required | Default | Description |
| yes | — | iikoServer base URL, e.g. |
| yes | — | Login username |
| yes | — | Plain password (SHA1-hashed before sending) |
| no | — |
|
| no |
| Set to |
MCP Client Configuration
Hermes Agent
# ~/.hermes/config.yaml
mcp_servers:
iiko-server:
command: python3
args: ["/path/to/iiko-server-mcp/server.py"]
env:
IIKO_URL: "https://your-restaurant.iiko.it:443"
IIKO_LOGIN: "your_login"
IIKO_PASS: "your_password"
IIKO_VENUE_MAP: "Cafe A=4,Cafe B=5"For Docker:
mcp_servers:
iiko-server:
command: docker
args: ["run", "-i", "--rm",
"-e", "IIKO_URL=https://your-restaurant.iiko.it:443",
"-e", "IIKO_LOGIN=your_login",
"-e", "IIKO_PASS=your_password",
"iiko-server-mcp"]Claude Desktop
{
"mcpServers": {
"iiko-server": {
"command": "python3",
"args": ["/path/to/iiko-server-mcp/server.py"],
"env": {
"IIKO_URL": "https://your-restaurant.iiko.it:443",
"IIKO_LOGIN": "your_login",
"IIKO_PASS": "your_password"
}
}
}
}Cursor
{
"mcpServers": {
"iiko-server": {
"command": "python3",
"args": ["/path/to/iiko-server-mcp/server.py"],
"env": {
"IIKO_URL": "https://your-restaurant.iiko.it:443",
"IIKO_LOGIN": "your_login",
"IIKO_PASS": "your_password"
}
}
}
}Available Tools
System
ping — Health check, server URL + auth state
list_endpoints — All 42 tools with descriptions
Products / Nomenclature
get_products / get_nomenclature — All products
get_product_groups — Product categories with hierarchy
get_product_sizes — Sizes/units
get_corporate_structure — Departments structure
get_corporate_groups — Corporate groups
search_products — Substring search by name
Employees
get_employees / get_employee / get_employee_roles / get_persons
Entities
get_entity_types / get_entities / get_entity_by_id
get_stores — Warehouses
get_contractors — Suppliers
Documents
get_incoming_invoices / get_outgoing_invoices — by date range (DD.MM.YYYY)
get_incoming_invoice_by_id / get_outgoing_invoice_by_id
get_waste_documents — Write-off documents
get_menu_changes / get_menu_change_by_id
Recipes (Assembly Charts)
get_assembly_charts — All tech cards
get_assembly_chart_by_id — Single chart
save_assembly_chart — Create/update (⚠️ modifies production data)
Cash & Payments
get_payment_types
get_cash_shifts / get_cash_shift — by session UUID
get_payments / get_payment — per session
create_encashment — Cash in/out (⚠️ modifies production data)
Prices
get_price_categories / get_price_category
Reports & OLAP
get_olap_columns — Schema for a report type (e.g.
SALES)run_olap_report — Raw OLAP with custom columns/filters (DD.MM.YYYY)
get_olap_presets / run_olap_by_preset — Saved presets
run_custom_report — Named custom reports (DD.MM.YYYY)
get_venues_revenue — Daily revenue by venue (YYYY-MM-DD)
get_staff_meals — Free staff meals per venue (YYYY-MM-DD)
get_top_dishes — Top N dishes by revenue (YYYY-MM-DD)
compare_revenue — Day-over-day revenue comparison
get_checks — Individual orders with payment type & masked card (YYYY-MM-DD)
Raw
raw_request — Direct authenticated HTTP call to any iikoServer endpoint
Date Format
Tool Group | Format | Example |
Business helpers ( | YYYY-MM-DD |
|
Legacy OLAP ( | DD.MM.YYYY |
|
All business tools default to Moscow time (UTC+3) if no date is provided.
Known Limitations
get_cash_shifts— requires a date parameter; currently returns 409 if called without oneget_payment_types— returns 404 on some iikoServer versions (endpoint may not exist)Staff meal detection — filters by
"(без оплаты)"payment type label; verify this matches your iiko configurationCardTypeName— may return"(нет карты)"depending on acquirer integrationSelf-signed certs — default
verify=False; setIIKO_VERIFY_SSL=truefor CA-signed certificates
Development
# Syntax check
python3 -m py_compile server.py
# Run locally with test env
IIKO_URL=... IIKO_LOGIN=... IIKO_PASS=... python3 server.py
# Build Docker
docker build -t iiko-server-mcp .Adding a Tool
Write a handler with the
@tool("name", "description", input_schema)decoratorAdd
"name"to the appropriate category inENDPOINT_CATALOGPython will auto-register it — no other wiring needed
License
MIT — see LICENSE
This server cannot be deployed
Maintenance
Related MCP Connectors
Universal AI API Orchestrator — 1,554 tools, 96 services. One install.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Related MCP Servers
- AlicenseCqualityDmaintenanceAn MCP server that bridges AI agents to the eyeot ERP, exposing ~600 business actions (CRM, sales, stock, HR, finance, etc.) as MCP tools over stdio via OAuth 2.1 authentication.331MIT
- AlicenseNot gradedqualityCmaintenanceExposes any OpenAPI spec endpoints as AI agent tools via stdio, requiring no code generation or maintenance.18MIT
- AlicenseAqualityCmaintenanceA local-first, read-only MCP server for the Loyverse POS API that lets AI assistants query receipts, items, employees, customers, stores, and sales analytics — built for secure local use with Personal Access Tokens.157 npmApache 2.0
- FlicenseNot gradedqualityCmaintenanceDynamically exposes over 100 Jira Software Cloud REST API operations as fully typed tools for LLMs to interact with, supporting SSE and Stdio transports.-