SmartKasa MCP Server
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., "@SmartKasa MCP Servershow me today's sales report for the Kyiv store"
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.
SmartKasa MCP Server
Production-ready Model Context Protocol (MCP) server for SmartKasa POS API
πΊπ¦ Π£ΠΊΡΠ°ΡΠ½ΡΡΠΊΠ° Π²Π΅ΡΡΡΡ Π½ΠΈΠΆΡΠ΅
Overview
SmartKasa MCP Server enables AI assistants (Claude, GPT, etc.) to interact with SmartKasa - Ukrainian POS system with fiscal compliance. Through natural language, you can manage:
πͺ Shops - Create, update, manage retail locations
π¦ Products - Full inventory management with categories
π§Ύ Receipts - Sales transactions and fiscal operations
π₯ Employees - Staff management with roles
π Reports - Z-reports and sales statistics
π³ Terminals - POS terminal configuration
Related MCP server: pancake-pos-mcp
Features
β 58 API tools covering all SmartKasa endpoints
β HTTP/2 with connection pooling for high performance
β Automatic token refresh with exponential backoff
β Rate limiting protection with smart retries
β Secure credential handling - memory-only storage
β Multi-user support via process isolation
β Structured logging for debugging
β Two transport modes: stdio (local) and SSE (remote server)
β Docker support for easy deployment
How MCP Works
β οΈ Important: You do NOT need to manually run this server!
MCP uses stdio transport by default - your LLM client (Claude Desktop, Cursor, etc.) automatically starts the server as a child process and communicates via stdin/stdout.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LLM Client (Claude Desktop / Cursor / VS Code) β
β β
β 1. Reads your config file β
β 2. Spawns: python smartkasa-mcp-server.py β
β 3. Communicates via stdin/stdout β
β 4. Server runs as long as client is open β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββYou only configure the path - the client handles everything else.
Quick Start
1. Installation
# Clone the repository
git clone https://github.com/1212bogdan/smartkasa-mcp-server.git
cd smartkasa-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt2. Get SmartKasa Credentials
You need three things from SmartKasa:
API Key - Get from SmartKasa dashboard or support
Phone Number - Your registered phone (e.g.,
380501234567)Password - Your account password
3. Configure Your LLM Client
See Client Configuration section below for your specific client.
Client Configuration
Claude Desktop (macOS)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"smartkasa": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/smartkasa-mcp-server/smartkasa-mcp-server.py"],
"env": {
"SMARTKASA_API_KEY": "your_api_key_here",
"SMARTKASA_PHONE": "380501234567",
"SMARTKASA_PASSWORD": "your_password"
}
}
}
}Claude Desktop (Windows)
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"smartkasa": {
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\smartkasa-mcp-server\\smartkasa-mcp-server.py"],
"env": {
"SMARTKASA_API_KEY": "your_api_key_here",
"SMARTKASA_PHONE": "380501234567",
"SMARTKASA_PASSWORD": "your_password"
}
}
}
}Claude Desktop (Linux)
Edit ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"smartkasa": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/smartkasa-mcp-server/smartkasa-mcp-server.py"],
"env": {
"SMARTKASA_API_KEY": "your_api_key_here",
"SMARTKASA_PHONE": "380501234567",
"SMARTKASA_PASSWORD": "your_password"
}
}
}
}VS Code with Continue Extension
Add to ~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "/path/to/venv/bin/python",
"args": ["/path/to/smartkasa-mcp-server/smartkasa-mcp-server.py"]
}
}
]
}
}Cursor IDE
Add to Cursor settings (Cmd/Ctrl + , β search "MCP"):
{
"mcp.servers": {
"smartkasa": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/smartkasa-mcp-server/smartkasa-mcp-server.py"]
}
}
}Cline (VS Code Extension)
Configure in Cline settings panel:
Server Name:
smartkasaCommand:
/path/to/venv/bin/pythonArguments:
/path/to/smartkasa-mcp-server/smartkasa-mcp-server.py
Usage Guide
First Time Setup
If you didn't configure environment variables, set credentials via chat:
Please set my SmartKasa credentials:
- API Key: sk_live_xxxxx
- Phone: 380501234567
- Password: mypassword
Then authenticate and show my shops.Example Conversations
List all products:
Show me all products in my SmartKasa accountCreate a new product:
Create a new product called "Espresso" with price 45 UAH,
tax group 1 (20% VAT), sold by units (not weight)Get sales report:
Show me sales statistics for the last week for shop ID 123Check inventory:
What products have low stock in my main shop?Manage employees:
List all employees with their roles, then show me details for employee ID 5Available Tools (58 total)
Authentication (4 tools)
Tool | Description |
| Set API key, phone, password |
| Authenticate and get token |
| Check auth status and expiry |
| Logout and clear session |
Terminals (4 tools)
Tool | Description |
| List all POS terminals |
| Get terminal by ID |
| Update terminal config |
| Delete terminal |
Shops (6 tools)
Tool | Description |
| List all shops |
| Get shop by ID |
| Create new shop |
| Update shop |
| Delete shop |
| List shop employees |
Employees (5 tools)
Tool | Description |
| List all employees |
| Get employee by ID |
| Create employee |
| Update employee |
| Delete employee |
Categories (6 tools)
Tool | Description |
| List categories |
| Create category |
| Update category |
| Delete category |
| Batch create |
| Batch delete |
Products (8 tools)
Tool | Description |
| Search/list products |
| Get product by UUID |
| Create product |
| Update product |
| Delete product |
| Batch create |
| Batch delete |
Inventory Cards (5 tools)
Tool | Description |
| List inventory cards |
| Get card by ID |
| Create card |
| Update stock |
| Delete card |
Receipts (7 tools)
Tool | Description |
| List receipts |
| Get receipt by UUID |
| Create receipt |
| Update receipt |
| Delete receipt |
| Batch create |
| Batch delete |
Reports (2 tools)
Tool | Description |
| Get Z-reports |
| Sales statistics |
Other Tools
smartkasa_unit_types_list- Unit typessmartkasa_subgroups_*- Product subgroups (4 tools)smartkasa_import_*- Product import (3 tools)smartkasa_shifts_*- Fiscal shifts (2 tools)smartkasa_transactions_get- Payment transactions
Security
Credential Storage
π Credentials are stored in memory only and are never written to disk by the server.
The security model:
Each MCP client spawns a separate process for this server
Process memory is isolated - credentials cannot leak between users
When the process ends, all credentials are cleared
Tokens auto-expire (typically 12 hours for access, 30 days for refresh)
Environment Variables
Variable | Description |
| Your SmartKasa API key |
| Phone number (e.g., 380501234567) |
| Account password |
| Logging level (DEBUG/INFO/WARNING/ERROR) |
| API URL (default: https://core.smartkasa.ua) |
Multi-User Architecture
How It Works
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β User Alice β β User Bob β β User Carol β
β (Claude App) β β (VS Code) β β (Cursor) β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β MCP Process 1 β β MCP Process 2 β β MCP Process 3 β
β (Alice's creds)β β (Bob's creds) β β (Carol's creds) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββββ΄ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββ
β SmartKasa API β
β core.smartkasa.ua β
βββββββββββββββββββββββββKey points:
Each user's LLM client spawns its own MCP server process
Credentials are isolated in process memory
No session conflicts between users
Process termination = automatic cleanup
Session Persistence
β οΈ Sessions do NOT persist across:
Application restarts
System reboots
Process crashes
To maintain access:
Configure credentials in environment variables
Server auto-authenticates on startup if env vars are set
Or re-set credentials via
smartkasa_set_credentialstool
Troubleshooting
Common Issues
"Import mcp could not be resolved"
pip install mcp"Authentication failed: 401"
Verify API key is correct
Check phone number format (no + prefix, just 380...)
Verify password
"Connection timeout"
Check internet connection
Verify https://core.smartkasa.ua is accessible
Try increasing
SMARTKASA_REQUEST_TIMEOUT
"Rate limited"
Server automatically handles this with retry
Reduce request frequency if persistent
Debug Mode
Enable verbose logging:
export SMARTKASA_LOG_LEVEL=DEBUGOr in config:
{
"env": {
"SMARTKASA_LOG_LEVEL": "DEBUG"
}
}Development
Running Tests
pip install pytest pytest-asyncio
pytest tests/Local Development
# Run server directly
python smartkasa-mcp-server.py
# With debug logging
SMARTKASA_LOG_LEVEL=DEBUG python smartkasa-mcp-server.pyRemote Deployment (Server Mode)
For hosting on a server, use SSE (Server-Sent Events) transport instead of stdio.
Deployment Options
Platform | Suitability | Notes |
Docker + VPS | β Best | Full control, persistent connections |
Coolify | β Excellent | Easy Docker deployment |
Railway | β Good | Supports long-running processes |
Fly.io | β Good | Global edge deployment |
Render | β Good | Free tier available |
AWS ECS/Fargate | β Good | Enterprise-grade |
Vercel | β No | Serverless, no persistent connections |
Cloudflare Workers | β No | No long-running processes |
AWS Lambda | β No | Timeout limits, no SSE |
Option 1: Docker (Recommended)
# Build image
docker build -t smartkasa-mcp .
# Run with credentials
docker run -d \
--name smartkasa-mcp \
-p 8080:8080 \
-e SMARTKASA_API_KEY="your_api_key" \
-e SMARTKASA_PHONE="380501234567" \
-e SMARTKASA_PASSWORD="your_password" \
--restart unless-stopped \
smartkasa-mcpOption 2: Docker Compose
Create .env file:
SMARTKASA_API_KEY=your_api_key
SMARTKASA_PHONE=380501234567
SMARTKASA_PASSWORD=your_passwordRun:
docker-compose up -dOption 3: Coolify
Create new service in Coolify
Select "Docker Compose" or "Dockerfile"
Point to your repository
Add environment variables in Coolify UI
Deploy
Option 4: Direct Python (with systemd)
Create /etc/systemd/system/smartkasa-mcp.service:
[Unit]
Description=SmartKasa MCP Server
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/smartkasa-mcp-server
Environment=SMARTKASA_API_KEY=your_key
Environment=SMARTKASA_PHONE=380501234567
Environment=SMARTKASA_PASSWORD=your_password
Environment=SMARTKASA_TRANSPORT=sse
ExecStart=/opt/smartkasa-mcp-server/venv/bin/python smartkasa-mcp-server.py --transport sse
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl enable smartkasa-mcp
sudo systemctl start smartkasa-mcpOption 5: Process Manager (PM2)
# Install PM2
npm install -g pm2
# Start server
pm2 start smartkasa-mcp-server.py \
--name smartkasa-mcp \
--interpreter python \
-- --transport sse --port 8080
# Save and enable startup
pm2 save
pm2 startupHTTPS with Reverse Proxy
For production, put behind nginx/Caddy with HTTPS:
Caddy (automatic HTTPS):
mcp.yourdomain.com {
reverse_proxy localhost:8080
}Nginx:
server {
listen 443 ssl http2;
server_name mcp.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
proxy_cache off;
# SSE specific
proxy_set_header Cache-Control no-cache;
proxy_read_timeout 86400s;
}
}Connecting to Remote MCP Server
Claude Desktop (Remote SSE)
Edit config to use SSE transport:
{
"mcpServers": {
"smartkasa": {
"transport": {
"type": "sse",
"url": "https://mcp.yourdomain.com/sse"
}
}
}
}VS Code with Continue (Remote)
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "sse",
"url": "https://mcp.yourdomain.com/sse"
}
}
]
}
}Health Check Endpoint
Your remote server exposes /health endpoint:
curl https://mcp.yourdomain.com/health
# {"status": "healthy", "server": "smartkasa-mcp", "transport": "sse", "authenticated": true}License
MIT License - see LICENSE file.
SmartKasa MCP Server (Π£ΠΊΡΠ°ΡΠ½ΡΡΠΊΠ°)
Production-ready MCP ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ SmartKasa POS API
ΠΠ³Π»ΡΠ΄
SmartKasa MCP Server Π΄ΠΎΠ·Π²ΠΎΠ»ΡΡ AI-Π°ΡΠΈΡΡΠ΅Π½ΡΠ°ΠΌ (Claude, GPT ΡΠΎΡΠΎ) ΠΏΡΠ°ΡΡΠ²Π°ΡΠΈ Π· SmartKasa - ΡΠΊΡΠ°ΡΠ½ΡΡΠΊΠΎΡ ΠΊΠ°ΡΠΎΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π· ΡΡΡΠΊΠ°Π»ΡΠ·Π°ΡΡΡΡ. Π§Π΅ΡΠ΅Π· Π·Π²ΠΈΡΠ°ΠΉΠ½Ρ ΠΌΠΎΠ²Ρ Π²ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ΅ΡΡΠ²Π°ΡΠΈ:
πͺ ΠΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌΠΈ - ΡΡΠ²ΠΎΡΠ΅Π½Π½Ρ, ΠΎΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ, ΠΊΠ΅ΡΡΠ²Π°Π½Π½Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΡ
π¦ Π’ΠΎΠ²Π°ΡΠ°ΠΌΠΈ - ΠΏΠΎΠ²Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ½Π½Ρ ΡΠΊΠ»Π°Π΄ΠΎΠΌ Π· ΠΊΠ°ΡΠ΅Π³ΠΎΡΡΡΠΌΠΈ
π§Ύ Π§Π΅ΠΊΠ°ΠΌΠΈ - ΠΏΡΠΎΠ΄Π°ΠΆΡ ΡΠ° ΡΡΡΠΊΠ°Π»ΡΠ½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΡΡ
π₯ ΠΡΠ°ΡΡΠ²Π½ΠΈΠΊΠ°ΠΌΠΈ - ΡΠΏΡΠ°Π²Π»ΡΠ½Π½Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΎΠΌ Π· ΡΠΎΠ»ΡΠΌΠΈ
π ΠΠ²ΡΡΠ°ΠΌΠΈ - Z-Π·Π²ΡΡΠΈ ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ΄Π°ΠΆΡΠ²
π³ Π’Π΅ΡΠΌΡΠ½Π°Π»Π°ΠΌΠΈ - ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ POS ΡΠ΅ΡΠΌΡΠ½Π°Π»ΡΠ²
Π¨Π²ΠΈΠ΄ΠΊΠΈΠΉ ΡΡΠ°ΡΡ
1. ΠΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ
# ΠΠ»ΠΎΠ½ΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΡΠΉ
git clone https://github.com/1212bogdan/smartkasa-mcp-server.git
cd smartkasa-mcp-server
# Π‘ΡΠ²ΠΎΡΡΡΡ Π²ΡΡΡΡΠ°Π»ΡΠ½Π΅ ΡΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΈΡΠ΅
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# ΠΡΡΠ°Π½ΠΎΠ²ΡΡΡ Π·Π°Π»Π΅ΠΆΠ½ΠΎΡΡΡ
pip install -r requirements.txt2. ΠΡΡΠΈΠΌΠ°ΠΉΡΠ΅ Π΄Π°Π½Ρ Π΄Π»Ρ SmartKasa
ΠΠ°ΠΌ ΠΏΠΎΡΡΡΠ±Π½Ρ:
API Key - ΠΎΡΡΠΈΠΌΠ°ΠΉΡΠ΅ Π² ΠΎΡΠΎΠ±ΠΈΡΡΠΎΠΌΡ ΠΊΠ°Π±ΡΠ½Π΅ΡΡ SmartKasa Π°Π±ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΄ΡΡΠΈΠΌΠΊΡ
ΠΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ - Π²Π°Ρ Π·Π°ΡΠ΅ΡΡΡΡΠΎΠ²Π°Π½ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄,
380501234567)ΠΠ°ΡΠΎΠ»Ρ - ΠΏΠ°ΡΠΎΠ»Ρ Π²Π°ΡΠΎΠ³ΠΎ ΠΎΠ±Π»ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΡ
3. ΠΠ°Π»Π°ΡΡΡΠΉΡΠ΅ Π²Π°Ρ LLM ΠΊΠ»ΡΡΠ½Ρ
Claude Desktop (macOS)
Π Π΅Π΄Π°Π³ΡΠΉΡΠ΅ ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"smartkasa": {
"command": "/ΡΠ»ΡΡ
/Π΄ΠΎ/venv/bin/python",
"args": ["/ΡΠ»ΡΡ
/Π΄ΠΎ/smartkasa-mcp-server/smartkasa-mcp-server.py"],
"env": {
"SMARTKASA_API_KEY": "Π²Π°Ρ_api_ΠΊΠ»ΡΡ",
"SMARTKASA_PHONE": "380501234567",
"SMARTKASA_PASSWORD": "Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ"
}
}
}
}Claude Desktop (Windows)
Π Π΅Π΄Π°Π³ΡΠΉΡΠ΅ %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"smartkasa": {
"command": "C:\\ΡΠ»ΡΡ
\\Π΄ΠΎ\\venv\\Scripts\\python.exe",
"args": ["C:\\ΡΠ»ΡΡ
\\Π΄ΠΎ\\smartkasa-mcp-server\\smartkasa-mcp-server.py"],
"env": {
"SMARTKASA_API_KEY": "Π²Π°Ρ_api_ΠΊΠ»ΡΡ",
"SMARTKASA_PHONE": "380501234567",
"SMARTKASA_PASSWORD": "Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ"
}
}
}
}ΠΡΠΈΠΊΠ»Π°Π΄ΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ
ΠΠ΅ΡΡΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΡΡ (ΡΠΊΡΠΎ Π½Π΅ Π½Π°Π»Π°ΡΡΠΎΠ²Π°Π½Ρ env vars):
ΠΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΌΠΎΡ Π΄Π°Π½Ρ SmartKasa:
- API Key: sk_live_xxxxx
- Π’Π΅Π»Π΅ΡΠΎΠ½: 380501234567
- ΠΠ°ΡΠΎΠ»Ρ: ΠΌΡΠΉ_ΠΏΠ°ΡΠΎΠ»Ρ
ΠΠΎΡΡΠΌ Π°Π²ΡΠΎΡΠΈΠ·ΡΠΉΡΡ Ρ ΠΏΠΎΠΊΠ°ΠΆΠΈ ΠΌΠΎΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΈ.ΠΠΎΠΊΠ°Π·Π°ΡΠΈ Π²ΡΡ ΡΠΎΠ²Π°ΡΠΈ:
ΠΠΎΠΊΠ°ΠΆΠΈ Π²ΡΡ ΡΠΎΠ²Π°ΡΠΈ Π² ΠΌΠΎΡΠΌΡ Π°ΠΊΠ°ΡΠ½ΡΡ SmartKasaΠ‘ΡΠ²ΠΎΡΠΈΡΠΈ Π½ΠΎΠ²ΠΈΠΉ ΡΠΎΠ²Π°Ρ:
Π‘ΡΠ²ΠΎΡΠΈ Π½ΠΎΠ²ΠΈΠΉ ΡΠΎΠ²Π°Ρ "ΠΡΠΏΡΠ΅ΡΠΎ" Π· ΡΡΠ½ΠΎΡ 45 Π³ΡΠ½,
Π³ΡΡΠΏΠ° ΠΎΠΏΠΎΠ΄Π°ΡΠΊΡΠ²Π°Π½Π½Ρ 1 (ΠΠΠ 20%), ΠΏΡΠΎΠ΄Π°ΡΡΡΡΡ ΡΡΡΠΊΠ°ΠΌΠΈΠΠ²ΡΡ ΠΏΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΠ°Ρ :
ΠΠΎΠΊΠ°ΠΆΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΡΠΎΠ΄Π°ΠΆΡΠ² Π·Π° ΠΎΡΡΠ°Π½Π½ΡΠΉ ΡΠΈΠΆΠ΄Π΅Π½Ρ Π΄Π»Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ ID 123ΠΠ΅ΡΠ΅Π²ΡΡΠΈΡΠΈ Π·Π°Π»ΠΈΡΠΊΠΈ:
Π―ΠΊΡ ΡΠΎΠ²Π°ΡΠΈ ΠΌΠ°ΡΡΡ Π½ΠΈΠ·ΡΠΊΠΈΠΉ Π·Π°ΠΏΠ°Ρ Π² Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΌΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ?ΠΠ΅Π·ΠΏΠ΅ΠΊΠ°
ΠΠ±Π΅ΡΡΠ³Π°Π½Π½Ρ Π΄Π°Π½ΠΈΡ
π ΠΠ°Π½Ρ Π·Π±Π΅ΡΡΠ³Π°ΡΡΡΡΡ ΡΡΠ»ΡΠΊΠΈ Π² ΠΏΠ°ΠΌ'ΡΡΡ Ρ Π½ΡΠΊΠΎΠ»ΠΈ Π½Π΅ Π·Π°ΠΏΠΈΡΡΡΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
ΠΠΎΠ΄Π΅Π»Ρ Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ:
ΠΠΎΠΆΠ΅Π½ LLM ΠΊΠ»ΡΡΠ½Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΎΠΊΡΠ΅ΠΌΠΈΠΉ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ°ΠΌ'ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ² ΡΠ·ΠΎΠ»ΡΠΎΠ²Π°Π½Π° - Π΄Π°Π½Ρ Π½Π΅ ΠΌΠΎΠΆΡΡΡ Π²ΠΈΡΡΠΊΠ°ΡΠΈ ΠΌΡΠΆ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°ΠΌΠΈ
ΠΠΎΠ»ΠΈ ΠΏΡΠΎΡΠ΅Ρ Π·Π°Π²Π΅ΡΡΡΡΡΡΡΡ, Π²ΡΡ Π΄Π°Π½Ρ ΠΎΡΠΈΡΠ°ΡΡΡΡΡ
Π’ΠΎΠΊΠ΅Π½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΠΊΡΠ½ΡΡΡΡΡΡΡ (Π·Π°Π·Π²ΠΈΡΠ°ΠΉ 12 Π³ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ access, 30 Π΄Π½ΡΠ² Π΄Π»Ρ refresh)
ΠΡΠ»ΡΡΠΈΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΡΠΊΠ° Π°ΡΡ ΡΡΠ΅ΠΊΡΡΡΠ°
Π―ΠΊ ΡΠ΅ ΠΏΡΠ°ΡΡΡ
ΠΠΎΠΆΠ΅Π½ LLM ΠΊΠ»ΡΡΠ½Ρ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Ρ Π²Π»Π°ΡΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅Ρ MCP ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ°Π½Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΡΡ ΡΠ·ΠΎΠ»ΡΠΎΠ²Π°Π½Ρ Π² ΠΏΠ°ΠΌ'ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ
ΠΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΡΠ»ΡΠΊΡΡΠ² ΡΠ΅ΡΡΠΉ ΠΌΡΠΆ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°ΠΌΠΈ
ΠΠ°Π²Π΅ΡΡΠ΅Π½Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡ = Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π΅ ΠΎΡΠΈΡΠ΅Π½Π½Ρ
ΠΠ±Π΅ΡΠ΅ΠΆΠ΅Π½Π½Ρ ΡΠ΅ΡΡΠΉ
β οΈ Π‘Π΅ΡΡΡ ΠΠ Π·Π±Π΅ΡΡΠ³Π°ΡΡΡΡΡ ΠΏΡΡΠ»Ρ:
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΡ Π΄ΠΎΠ΄Π°ΡΠΊΠ°
ΠΠ΅ΡΠ΅Π·Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½Π½Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ
ΠΠ²Π°ΡΡΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡ
ΠΠ»Ρ Π·Π±Π΅ΡΠ΅ΠΆΠ΅Π½Π½Ρ Π΄ΠΎΡΡΡΠΏΡ:
ΠΠ°Π»Π°ΡΡΡΠΉΡΠ΅ Π΄Π°Π½Ρ Ρ Π·ΠΌΡΠ½Π½ΠΈΡ ΠΎΡΠΎΡΠ΅Π½Π½Ρ
Π‘Π΅ΡΠ²Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π°Π²ΡΠΎΡΠΈΠ·ΡΡΡΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΡ
ΠΠ±ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°ΠΉΡΠ΅ Π΄Π°Π½Ρ ΡΠ΅ΡΠ΅Π·
smartkasa_set_credentials
Π£ΡΡΠ½Π΅Π½Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
"Authentication failed: 401"
ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡΡΡ API ΠΊΠ»ΡΡΠ°
ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅ ΡΠΎΡΠΌΠ°Ρ Π½ΠΎΠΌΠ΅ΡΠ° (Π±Π΅Π· +, ΠΏΡΠΎΡΡΠΎ 380...)
ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ
"Connection timeout"
ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅ Π·'ΡΠ΄Π½Π°Π½Π½Ρ Π· ΡΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ
ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡΡΡ https://core.smartkasa.ua
Π Π΅ΠΆΠΈΠΌ Π½Π°Π»Π°Π³ΠΎΠ΄ΠΆΠ΅Π½Π½Ρ
export SMARTKASA_LOG_LEVEL=DEBUGΠΡΠ΄Π΄Π°Π»Π΅Π½ΠΈΠΉ ΡΠΎΠ·Π³ΠΎΡΡΠ°Π½Π½Ρ (Π‘Π΅ΡΠ²Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ)
ΠΠ»Ρ Ρ ΠΎΡΡΠΈΠ½Π³Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ SSE (Server-Sent Events) transport.
Π―ΠΊ ΡΠ΅ ΠΏΡΠ°ΡΡΡ
ΠΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ (stdio) - LLM ΠΊΠ»ΡΡΠ½Ρ ΡΠ°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠ΅ΡΠ²Π΅Ρ.
ΠΡΠΈ Π²ΡΠ΄Π΄Π°Π»Π΅Π½ΠΎΠΌΡ (SSE) - ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠ°ΡΡΡ ΠΏΠΎΡΡΡΠΉΠ½ΠΎ, ΠΊΠ»ΡΡΠ½ΡΠΈ ΠΏΡΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡΡ ΠΏΠΎ HTTP.
ΠΠ°ΡΡΠ°Π½ΡΠΈ ΡΠΎΠ·Π³ΠΎΡΡΠ°Π½Π½Ρ
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° | ΠΡΠΈΠ΄Π°ΡΠ½ΡΡΡΡ | ΠΡΠΈΠΌΡΡΠΊΠΈ |
Docker + VPS | β ΠΠ°ΠΉΠΊΡΠ°ΡΠ΅ | ΠΠΎΠ²Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ |
Coolify | β ΠΡΠ΄ΠΌΡΠ½Π½ΠΎ | ΠΠ΅Π³ΠΊΠ΅ Docker ΡΠΎΠ·Π³ΠΎΡΡΠ°Π½Π½Ρ |
Railway | β ΠΠΎΠ±ΡΠ΅ | ΠΡΠ΄ΡΡΠΈΠΌΡΡ long-running |
Fly.io | β ΠΠΎΠ±ΡΠ΅ | Global edge |
Vercel | β ΠΡ | Serverless, Π½Π΅ΠΌΠ°Ρ SSE |
Lambda | β ΠΡ | Timeout, Π½Π΅ΠΌΠ°Ρ SSE |
Docker
# ΠΠ±ΡΡΠΊΠ°
docker build -t smartkasa-mcp .
# ΠΠ°ΠΏΡΡΠΊ
docker run -d \
--name smartkasa-mcp \
-p 8080:8080 \
-e SMARTKASA_API_KEY="Π²Π°Ρ_ΠΊΠ»ΡΡ" \
-e SMARTKASA_PHONE="380501234567" \
-e SMARTKASA_PASSWORD="Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ" \
--restart unless-stopped \
smartkasa-mcpDocker Compose
# Π‘ΡΠ²ΠΎΡΡΡΡ .env ΡΠ°ΠΉΠ» Π· credentials
docker-compose up -dSystemd (Linux ΡΠ΅ΡΠ²Π΅Ρ)
Π‘ΡΠ²ΠΎΡΡΡΡ /etc/systemd/system/smartkasa-mcp.service:
[Unit]
Description=SmartKasa MCP Server
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/smartkasa-mcp-server
Environment=SMARTKASA_API_KEY=Π²Π°Ρ_ΠΊΠ»ΡΡ
Environment=SMARTKASA_TRANSPORT=sse
ExecStart=/opt/smartkasa-mcp-server/venv/bin/python smartkasa-mcp-server.py --transport sse
Restart=always
[Install]
WantedBy=multi-user.targetΠΡΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½Ρ Π΄ΠΎ Π²ΡΠ΄Π΄Π°Π»Π΅Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°
Π£ ΠΊΠΎΠ½ΡΡΠ³Ρ Claude Desktop:
{
"mcpServers": {
"smartkasa": {
"transport": {
"type": "sse",
"url": "https://mcp.yourdomain.com/sse"
}
}
}
}Π‘ΠΊΡΡΠ½ΡΠΎΡΠΈ
Π ΠΎΠ±ΠΎΡΠ° Π·Ρ SmartKasa API ΡΠ΅ΡΠ΅Π· Claude Desktop Π· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ΅Π½ΠΈΠΌ MCP








ΠΡΡΠ΅Π½Π·ΡΡ
MIT License - Π΄ΠΈΠ²ΡΡΡΡΡ ΡΠ°ΠΉΠ» 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.
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/1212bogdan/smartkasa-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server