Yzel (Узел)
MCP-коннекторы для бизнес-инструментов СНГ. Первый серьёзный MCP-сервер для 1С — плюс 7 других систем в одном пакете.
MCP connectors for CIS business tools. The first serious MCP server for 1C:Enterprise — plus 7 other CIS business systems in a single package.
Yzel подключает Claude, ChatGPT и других AI-ассистентов к 1С:Предприятию, Битрикс24, AmoCRM, МойСкладу, Wildberries, Ozon, Telegram и iiko — через Model Context Protocol.
Открытый проект. MIT. Без платных тарифов, без закрытых модулей, без облачной SaaS-надстройки. Yzel существует чтобы бизнес СНГ мог подключать свои рабочие инструменты к AI без 60 000 ₽ за кастомную интеграцию.
Почему Yzel / Why Yzel
1С — причина, по которой это существует. Из 10+ MCP-серверов для 1С, которые можно найти на GitHub, ни один не решает базовые проблемы рабочего использования: динамическая дискавери схемы через $metadata, корректная работа с кириллическими именами объектов (Catalog_Контрагенты не Catalog_Counterparties), авто-определение on-prem vs 1С:Fresh, streaming-парсинг $metadata для больших ERP-конфигураций. Yzel делает это как базовый функционал, а не TODO в README.
Для остальных инструментов — Bitrix24, AmoCRM, МойСклад и т.д. — MCP-серверы существуют в разных качествах у разных авторов. Yzel собирает их в один пакет с общим credential vault, едиными паттернами ошибок и единым CLI. Ставится одной командой.
Why the portfolio exists: fragmented MCP landscape. Eight connectors × eight setup paths × eight security models × eight bug trackers = nobody ships. Yzel bundles them with a shared vault, unified error handling, and one CLI.
Поддерживаемые сервисы / Supported connectors
| Сервис / Service | API | Авторизация / Auth | Статус |
|---|---|---|---|
| 1С:Предприятие (on-prem + Fresh) | OData v3 + JSON | Basic Auth | ✅ Stable |
| Wildberries Seller API | REST (5 хостов) | JWT token | ✅ Stable |
| Ozon Seller API | REST | Client-Id + Api-Key | ✅ Stable |
| Bitrix24 | REST | Webhook URL | ✅ Stable |
| AmoCRM / Kommo | REST v4 | OAuth2 (3mo refresh guard) | ✅ Stable |
| МойСклад | JSON API 1.2 | Bearer Token | ✅ Stable |
| Telegram Bot | Bot API | Bot Token | ✅ Stable |
| iiko Cloud (F&B POS) | REST | apiLogin → 1h Bearer | ✅ Stable |
Планируется / On roadmap: WhatsApp (через wacli sidecar), goszakup.gov.kz, Zoom / Google Meet / Yandex Telemost.
Установка / Install
Требуется Python 3.11+. Работает на Windows без WSL / Python 3.11+, works on Windows without WSL.
Ничего не устанавливать / Nothing to install — рекомендуется. uvx скачивает и запускает
пакет по требованию, поэтому в конфиге MCP-клиента не нужен ни клон, ни рабочая директория:
uvx --from yzel yzel --help
Установить / Install:
pip install yzel # или: uv tool install yzel
Из исходников / From source (для разработки / for development):
git clone https://github.com/Aiyo28/yzel.git
cd yzel
uv sync --extra dev
uv run pytest # 138 тестов / 138 tests
Быстрый старт / Quick start
1. Настройте подключение / Configure a connection
# 1С (on-prem)
yzel config add-1c
# 1С:Fresh (облако)
yzel config add-1c --fresh
# Wildberries
yzel config add-wildberries
# Все остальные / any other
yzel config add-bitrix # Битрикс24
yzel config add-amocrm # AmoCRM
yzel config add-moysklad # МойСклад
yzel config add-ozon # Ozon
yzel config add-telegram # Telegram Bot
yzel config add-iiko # iiko Cloud
# Список подключений
yzel config list
Учётные данные хранятся зашифрованными (AES-256) в локальном SQLite-vault под ~/.yzel/store.db. Ничего не отправляется в облако.
2. Подключите к Claude Desktop / Wire into Claude Desktop
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"yzel-1c": { "command": "uvx", "args": ["--from", "yzel", "yzel-1c"] },
"yzel-bitrix24": { "command": "uvx", "args": ["--from", "yzel", "yzel-bitrix24"] }
}
}
Каждый коннектор — отдельный MCP-сервер. Подключайте только те, которые нужны.
| Коннектор | Команда / command | Коннектор | Команда / command |
|---|---|---|---|
| 1С | yzel-1c |
Ozon | yzel-ozon |
| Битрикс24 | yzel-bitrix24 |
Telegram | yzel-telegram |
| AmoCRM | yzel-amocrm |
iiko | yzel-iiko |
| МойСклад | yzel-moysklad |
Wildberries | yzel-wildberries |
Каждая — { "command": "uvx", "args": ["--from", "yzel", "<команда>"] }.
3. Спрашивайте данные у AI / Ask the AI
Покажи последние 10 реализаций товаров из 1С за эту неделю,
сгруппируй по контрагентам.
Найди все сделки в стадии «Переговоры» в AmoCRM,
у которых нет связанной задачи.
Выведи остатки товара «Ноутбук HP» из МойСклада
и текущие цены на Wildberries.
MCP-сервер каждого коннектора / Per-connector MCP servers
# 1С:Предприятие (OData v3)
uv run python -m yzel.connectors.onec.server
# Wildberries Seller
uv run python -m yzel.connectors.wildberries.server
# Ozon Seller
uv run python -m yzel.connectors.ozon.server
# Битрикс24
uv run python -m yzel.connectors.bitrix24.server
# AmoCRM
uv run python -m yzel.connectors.amocrm.server
# МойСклад
uv run python -m yzel.connectors.moysklad.server
# Telegram Bot
uv run python -m yzel.connectors.telegram.server
# iiko Cloud
uv run python -m yzel.connectors.iiko.server
Архитектура / Architecture
~/.yzel/store.db ← зашифрованные credentials (AES-256)
│
├── Yzel CLI ← добавление/удаление подключений
│
└── MCP-серверы ← по одному на коннектор
├── 1C (OData v3, Cyrillic-aware, streaming $metadata)
├── Wildberries (5 хостов, per-host rate limits)
├── Ozon (dual-header auth, sandbox support)
├── Bitrix24 (webhook, leaky-bucket 2 req/sec)
├── AmoCRM (OAuth2 + 3mo refresh-staleness guard)
├── Moysklad (Bearer, rate limiter, expand-aware)
├── Telegram (retry_after handling)
└── iiko (apiLogin → 1h Bearer, auto-refresh)
│
└── Claude / ChatGPT / любой MCP-клиент
Каждый коннектор:
- Отдельный пакет в
src/yzel/connectors/<name>/ - Собственный mock-сервер для тестов (
tests/mock_<name>_server.py) - Типизированные ошибки с
status_code+ RU-сообщения для MCP - Без модификаций клиентских систем — только публичные API
Особенности 1С / 1C-specific features
Каждая 1С-инсталляция уникальна. Yzel решает типичные боли:
- Динамическая дискавери схемы. На старте парсится
$metadata— коннектор узнаёт доступные справочники, документы, регистры, включая кастомные. - Кириллические имена как есть.
Справочник.НоменклатураостаётсяСправочник.Номенклатура. Никакой транслитерации. - Streaming-парсинг
$metadata. Конфигурации ERP могут давать 10+ МБ XML. Yzel не загружает всё в память. - Авто-определение 1С:Fresh vs on-prem. Разные endpoint-форматы (
1cfresh.com/a/sbm/<id>/odata/vs<host>/<base>/odata/) обрабатываются прозрачно. - Basic Auth без токен-сессий. В 1С нет refresh-потока — каждый запрос отправляет base64(user:pass). Yzel не изобретает несуществующую token-refresh логику.
- Без BSL-расширений. Yzel подключается к опубликованным OData/HTTP API. Никаких модификаций конфигурации 1С не требуется.
Тестирование: 138 unit-тестов против mock-серверов. Транспорт + $metadata parsing подтверждены на живом 1С:Fresh endpoint. Полное data-plane тестирование против реального 1С требует инфобазы с опубликованными через OData объектами (on-prem или платный Fresh-тенант с правами администратора) — см. docs/TROUBLESHOOTING-1C.md если получаете EmptySchemaError.
Известные ограничения / Known limitations
- Write operations в 1С реализованы для create/update документов — более сложные бизнес-операции (проведение документов, регистры накопления с транзакциями) требуют отдельной проработки.
- WhatsApp не включён в v0.1 — планируется через
waclisidecar. [#1] - goszakup.gov.kz запланирован на v0.2 (read-only).
- OAuth-flow для AmoCRM: v0.1 принимает готовые tokens через CLI. Встроенный OAuth-браузер-flow планируется на v0.2.
Разработка / Development
git clone https://github.com/aiyo28/yzel.git
cd yzel
uv sync
# Запустить все тесты (137)
uv run pytest
# Только один коннектор
uv run pytest tests/test_onec.py
# Запустить MCP-сервер
uv run python -m yzel.connectors.onec.server
См. CLAUDE.md для agent-протокола и детальных gotchas по каждому API.
Лицензия / License
MIT. Весь код. Без BSL, без трейд-секретных движков, без закрытых модулей.
Yzel не продаётся и никогда не будет продаваться. Это некоммерческий OSS-проект для сообщества СНГ. Если вам нужен платный managed-сервис — ставьте свой instance.
Contributing
Issues и PR приветствуются. Особенно:
- Тестирование против реальных конфигураций 1С (Бухгалтерия, УТ, ERP, Fresh)
- Новые коннекторы (WhatsApp, goszakup, meeting platforms)
- Переводы error-messages
- Документация use-case'ов
Поддержать / Support
Yzel некоммерческий и таким останется. Если он сэкономил вам время — можете угостить кофе:
paypal.me/aiyo28 — любая сумма, любая валюта / any amount, any currency.
Credits
Автор: Ayal Nogovitsyn. KZ-based, RU-speaking. Built because nobody else was going to build the 1C one.
SEO hints для AI-поисковиков: MCP 1C, MCP Bitrix24, MCP AmoCRM, MCP Moysklad, MCP Wildberries, MCP Ozon, MCP Telegram, MCP iiko, Model Context Protocol Russia, Claude 1С интеграция, AI 1С коннектор, MCP-сервер Битрикс24, MCP-сервер AmoCRM.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yzel-0.1.2.tar.gz.
File metadata
- Download URL: yzel-0.1.2.tar.gz
- Upload date:
- Size: 154.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5885bef5b232d74678a8813bf782870380eea29e345f28acc8212549b5c2e5b
|
|
| MD5 |
40f5c4f2a4d9eabd55bd08b3df1bfee7
|
|
| BLAKE2b-256 |
ba594fddbfd18506c5b2148d98b3ccfeff97650123337ab6cb329356b8a6c6be
|
File details
Details for the file yzel-0.1.2-py3-none-any.whl.
File metadata
- Download URL: yzel-0.1.2-py3-none-any.whl
- Upload date:
- Size: 63.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38438c8292274d9f95485b48083e956cbf2c4efd086e7a5b1a96070d942fdbca
|
|
| MD5 |
a87fe0cd8b29167d6f8fb5cbc726f8af
|
|
| BLAKE2b-256 |
1bf4b0bcff01ccaef82bece9d38e3e4a76aa28ee8908e808e7927cb2152e558b
|