Программное обеспечение

MCP-сервер над MCS

Standalone сервис, который ставится рядом с MCS/Niagara 4 и говорит с LLM-агентами по протоколу MCP (Model Context Protocol). Read-инструменты возвращают трендовые данные, алармы и fuzzy-оценку состояния оборудования. Bayes-движок считает вероятность отказа в горизонте 1-30 дней. Write-инструменты (квитирование алармов, изменение уставок) защищены approval-flow.

MCP tools
20+
Fuzzy-классов состояния
5
Latency tool-call
< 200 мс
MCP-сервер над MCS

О продукте

Задача: дать любому LLM-агенту (десктоп-клиент GigaChat, наш MCP-клиент, Hermes Agent, n8n с MCP-нодой) безопасный доступ к данным реальной BMS и аналитике, накопленной над ними. Без этого LLM может только пересказать документацию — со MCP-сервером он реально читает текущее давление, тренд за сутки и предлагает действие.

Сервер реализует full MCP spec: tools, resources, prompts. Tools = функции (getTrend, getAlarmTimeline, getFuzzyState, predictFailure, acknowledgeAlarm, setSetpoint). Resources = read-only справочники (BACnet-схема, точки оборудования). Prompts = шаблоны для типовых задач (объясни аларм, дай рекомендацию по уставке).

Fuzzy-движок мапит сырые значения точек в 5 нечётких классов: нормально / деградация / повышенный риск / критично / отказ. Используем trapezoidal membership functions, конфигурируемые на equipment-type (для AHU и chiller свои пороги). Bayesian risk-network объединяет fuzzy-метки с историей алармов и mean-time-between-failures из паспорта оборудования — даёт распределение вероятностей отказа на горизонте 1-30 дней.

Write-операции (acknowledgeAlarm, setSetpoint, runScene) идут через approval-flow: LLM формирует tool-call с обоснованием, сервер записывает intent в очередь, оператор подтверждает в admin-UI. После подтверждения сервер исполняет команду в Niagara через BACnet/Niagara REST. Каждое действие — audit-log с tool-call payload, обоснованием LLM и подписью оператора.

Деплой — Docker Compose на Proxmox VE рядом с контроллером MCS. Postgres + TimescaleDB для трендов, Redis для очереди approvals, Caddy reverse-proxy. Для on-premise заказчика — тот же compose-файл, никаких облачных зависимостей. Подключается к MCS по SCRAM-SHA-256 (наш существующий стек для Niagara 4.8).

Ключевые возможности

Полный MCP spec

Tools, resources, prompts. Совместим с десктоп-клиентами GigaChat, Cursor, Continue, нашим MCP-клиентом — любым host-приложением, говорящим по MCP.

Fuzzy-аналитика состояния

5 нечётких классов: норма / деградация / повышенный риск / критично / отказ. Конфигурируемые membership-функции на equipment-type. Объяснение каждой метки в человеческих терминах.

Bayes-предсказание отказов

Bayesian network объединяет fuzzy-метки, историю алармов и MTBF паспорта. Возвращает P(отказ) на горизонте 1, 7, 30 дней с confidence interval.

Read-инструменты

getTrend, getAlarmTimeline, getEquipmentState, getFuzzyExplanation, predictFailure, getMaintenanceLog. Все возвращают структурированный JSON, готовый к подстановке в LLM-контекст.

Write через approval

acknowledgeAlarm, setSetpoint, runScene — LLM формирует intent, оператор подтверждает в admin-UI. Audit-log с обоснованием. Без operator-confirm никакая запись в Niagara не уходит.

Niagara 4 / BACnet

SCRAM-SHA-256 auth с MCS 4.8, BACnet/IP для real-time, Niagara REST для history-trends. Адресация точек: sites/{site}/equipment/{eq}/points/{name}.

Audit + наблюдаемость

Каждый tool-call логируется: payload, latency, обоснование LLM, кто подтвердил. OpenTelemetry traces, Prometheus metrics, Grafana дашборд из коробки.

Технологический стек

Core
  • Node.js 20
  • TypeScript strict
  • MCP SDK
  • Zod-схемы tools
Аналитика
  • Trapezoidal fuzzy logic
  • pgmpy / самописный Bayes-engine
  • Prophet (anomaly fallback)
  • Конфиг через YAML
BMS-integration
  • Niagara REST
  • BACnet/IP (bacstack)
  • SCRAM-SHA-256 (MCS 4.8)
  • Modbus TCP (опц.)
Хранение
  • PostgreSQL 16 + TimescaleDB
  • Redis (approval queue)
  • S3-compatible (MinIO) для audit-bundle
Наблюдаемость
  • OpenTelemetry traces
  • Prometheus metrics
  • Grafana дашборд
  • Loki логи
Инфраструктура
  • Docker Compose
  • Proxmox VE
  • Caddy reverse-proxy
  • Self-hosted, on-premise

Что под капотом

  • MCP spec full: tools / resources / prompts — совместим с десктоп-клиентами GigaChat, Cursor, нашим MCP-клиентом, Hermes Agent
  • Fuzzy-аналитика на trapezoidal membership: 5 классов состояния с человекочитаемым объяснением каждой метки
  • Bayesian risk-network: P(отказ) с confidence interval на 1/7/30 дней — кормит KPI и предиктивное обслуживание
  • Write-операции через approval-flow с обоснованием LLM и audit-log — никакой случайной команды в Niagara
  • SCRAM-SHA-256 auth для MCS 4.8 — наш проверенный стек из niagara-proxy
  • Развёрнут одной командой docker compose up — Postgres+TimescaleDB+Redis+Caddy на нашем Proxmox или у заказчика
  • OpenTelemetry + Grafana — каждый tool-call виден с latency и обоснованием

Посмотреть вживую

Нужна похожая разработка?

Обсудим задачу, соберём команду под стек и сроки, предложим прозрачную оценку.