iikoServer MCP
Click on "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityCmaintenanceAn 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
- Alicense-qualityCmaintenanceExposes any OpenAPI spec endpoints as AI agent tools via stdio, requiring no code generation or maintenance.18MIT
- Alicense-qualityCmaintenanceA 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.6Apache 2.0
- Flicense-qualityCmaintenanceDynamically exposes over 100 Jira Software Cloud REST API operations as fully typed tools for LLMs to interact with, supporting SSE and Stdio transports.
Related MCP Connectors
Universal AI API Orchestrator — 1,554 tools, 96 services. One install.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/simba87/iiko-server-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server