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.3.tar.gz (154.8 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.3-py3-none-any.whl (64.0 kB view details)

Uploaded Python 3

File details

Details for the file yzel-0.1.3.tar.gz.

File metadata

  • Download URL: yzel-0.1.3.tar.gz
  • Upload date:
  • Size: 154.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for yzel-0.1.3.tar.gz
Algorithm Hash digest
SHA256 58036a625fc6373901adb4419fb64a306818861c84c4b84204acaf9ac2ffe062
MD5 841b5cf21a831d28148ba3adb66815b9
BLAKE2b-256 73eb7f4e25276f8bc2f147120f87ece6bdf003d1017916667218f2214bbb82e8

See more details on using hashes here.

File details

Details for the file yzel-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: yzel-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 64.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for yzel-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 01230bcd4281408043fb0df0c93369abc081b3977dbba89be9c704a3e543cbbd
MD5 a5ccca2e2bc7cce61b4fb38bc6b51a72
BLAKE2b-256 98e1965721a4a364b6d0631db5f4b959a9ee755a46d9742067ca9fed7d9335b0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

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