Skip to main content

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.

MIT License Python 3.11+ MCP Compatible CI PyPI

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
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 — планируется через wacli sidecar. [#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

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

yzel-0.1.2.tar.gz (154.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yzel-0.1.2-py3-none-any.whl (63.6 kB view details)

Uploaded Python 3

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

Hashes for yzel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e5885bef5b232d74678a8813bf782870380eea29e345f28acc8212549b5c2e5b
MD5 40f5c4f2a4d9eabd55bd08b3df1bfee7
BLAKE2b-256 ba594fddbfd18506c5b2148d98b3ccfeff97650123337ab6cb329356b8a6c6be

See more details on using hashes here.

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

Hashes for yzel-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 38438c8292274d9f95485b48083e956cbf2c4efd086e7a5b1a96070d942fdbca
MD5 a87fe0cd8b29167d6f8fb5cbc726f8af
BLAKE2b-256 1bf4b0bcff01ccaef82bece9d38e3e4a76aa28ee8908e808e7927cb2152e558b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.3

2 files

This release

0.1.2 This release

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page