Initial commit: omnichannel-mcp — MCP-сервер управления платформой Omnichannel
ci / test (push) Successful in 2m22s
ci / lint (push) Successful in 4m31s

This commit is contained in:
Maksim Totmin
2026-10-07 20:13:23 +07:00
commit fdbd4a4fb6
54 changed files with 5672 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
# Демо и e2e
Два сценария для локальной проверки без прода.
## 1. Сквозной пример через MCP (`demo.py`)
Поднимает только `config_server`; задачи создаются, но их никто не исполняет —
показывает вызовы инструментов и ответы.
```bash
docker compose -f examples/demo/docker-compose.yml up -d
go build -o omnichannel-mcp .
python3 examples/demo/demo.py
```
## 2. Полный e2e деплоя с агентом (`e2e.py`)
Дополнительно запускает настоящий **config-agent**, который опрашивает
`config_server` и реально выполняет задачи через `docker-compose`. Проверяется
жизненный цикл: `set_env` → `set_compose` → `deploy` → `restart` → `down`, а
также защита (`down` без `confirm` отклоняется).
```bash
docker compose -f examples/demo/docker-compose.yml up -d
go build -o omnichannel-mcp .
python3 examples/demo/e2e.py
```
Что делает `e2e.py`:
1. создаёт каталог `/tmp/omni-e2e/opt/demo_e2e` с `docker-compose.yml`;
2. поднимает контейнер `omni-e2e-agent` (образ `config-agent:v1.1.0`) с
проброшенным `docker.sock` и `/opt`;
3. ждёт регистрации приложения агентом;
4. гоняет жизненный цикл через MCP и проверяет состояние контейнеров;
5. удаляет тестовый агент.
Требуется доступ к `registry.devlexicom.ru` (образ агента).
## Очистка
```bash
docker compose -f examples/demo/docker-compose.yml down -v
docker rm -f omni-e2e-agent 2>/dev/null; docker network rm demo_e2e_default 2>/dev/null
rm -rf /tmp/omni-e2e
```