1C MCP Sales Analyst
AI-аналитик 1С + MCP + DeepSeek
AI-аналитик склада и продаж на базе 1С:УНФ, MCP и DeepSeek. Замена ручного построения отчётов на текстовые запросы, AI-инсайты, симуляцию сценариев и распознавание документов.
🚀 Быстрый старт
# Клонировать
git clone https://github.com/Av75057/1c-mcp-sales-analyst.git
cd 1c-mcp-sales-analyst
# Настроить
cp .env.example .env
# Отредактировать .env: DEEPSEEK_API_KEY, C1_BASE_URL, C1_USERNAME, C1_PASSWORD
# Установить
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Запустить Web UI
./start.sh web
# → http://localhost:8000 | admin / admin123📊 Страницы Web UI
Страница | URL | Описание |
📊 Дашборд |
| Ключевые метрики |
📦 Остатки |
| Поиск, фильтр |
💰 Продажи |
| Фильтры, аналитика |
💬 AI Чат |
| Natural language + история сессий |
🔍 Поиск |
| FTS5 + fuzzy + фильтры + фасеты |
📄 Реализации |
| Список документов с фильтрами |
🔮 What-If |
| 4 сценария + графики |
📊 ABC/XYZ |
| Матрица 3×3 |
🤖 Инсайты |
| AI-инсайты |
📄 Документы |
| OCR + распознавание |
⚙️ Статус |
| Мониторинг |
🔐 Админка |
| Управление системой |
🔧 Функции
AI Чат с историей
Сессии с авто-названием из первого сообщения
Сохранение всех сообщений и tool calls
Контекст sliding window (3000 токенов)
Поиск по истории, экспорт в JSON
Продвинутый поиск номенклатуры
FTS5 + BM25 ранжирование (локальный SQLite кэш)
Нечёткий поиск (rapidfuzz, обработка опечаток)
Автодополнение (Trie-структура)
Синонимы (ноут→ноутбук, телефон→смартфон)
Фильтры: группа, тип, наличие, цена
Фасеты в результатах
Аналитика поисковых запросов
Batch-запросы к 1С
Группировка нескольких запросов в один HTTP-вызов
Автоматический fallback на последовательные запросы
Агрегированные эндпоинты
Безопасность
JWT-аутентификация (Bearer + httponly cookies)
RBAC: admin, analyst, viewer, api_client
Rate limiting по ролям (slowapi)
Security headers (CSP, HSTS, X-Frame-Options)
CORS с белым списком
Аудит действий (audit.log)
Маскирование sensitive data в логах
Админ-панель (11 модулей)
Dashboard: метрики и алерты
Users: CRUD + блокировка + сброс сессий
Audit: просмотр + фильтры + экспорт CSV
Monitoring: производительность, endpoint stats
Settings: управление + история + откат
Integrations: health check 1С / DeepSeek
Tools: 15 MCP инструментов + статистика
API Keys: создание + отзыв
IP Blocks: блокировка IP
Search Analytics: топ запросов
System: ресурсы сервера
Стабильность (Фаза 1)
Health checks:
/health,/health/live,/health/readyCircuit Breaker для DeepSeek и 1С
Prometheus метрики:
/metricsGuardrails: верификация чисел AI + защита от инъекций
X-Request-ID для корреляции запросов
🔌 API Endpoints
# Аутентификация
POST /api/auth/login # username + password → JWT
POST /api/auth/logout # сброс cookie
GET /api/auth/me # текущий пользователь
# Чат
GET /api/chat/sessions # список сессий
POST /api/chat/sessions # создать сессию
GET /api/chat/sessions/{id}/messages
POST /api/chat/sessions/{id}/messages # отправить сообщение
GET /api/chat/search?q= # поиск по сообщениям
# Поиск
POST /api/search/nomenclature # поиск с фильтрами
GET /api/search/autocomplete?q= # автодополнение
GET /api/search/synonyms # список синонимов
# Админка
GET /admin/ # дашборд
GET /admin/users/ # пользователи
GET /admin/audit/ # логи аудита
GET /admin/monitoring/ # мониторинг
GET /admin/settings/ # настройки
GET /admin/integrations/ # интеграции
GET /admin/tools/ # MCP инструменты
GET /admin/system/ # система
# Мониторинг
GET /health # health check
GET /health/live # liveness probe
GET /metrics # Prometheus метрики
# 1С
POST /hs/api/v1/batch # batch-запросы
GET /hs/api/stock # остатки
GET /hs/api/sales # продажи🧪 Тесты
# Все тесты
pytest tests/ -v
# По модулям
pytest tests/test_search.py
pytest tests/test_chat_models.py
pytest tests/test_guardrails.py
pytest tests/test_resilience.py
pytest tests/test_admin.py
pytest tests/integration/
# С coverage
pytest tests/ --cov=src --cov=web --cov-report=term
pytest tests/ --cov=src --cov=web --cov-report=html
# → открыть htmlcov/index.html🐳 Docker
# Сборка
docker compose build
# Запуск всех сервисов
docker compose up -d
# Только proxy + web-ui
docker compose up -d proxy open-webui
# Логи
docker compose logs -f📁 Структура проекта
src/
├── admin/ # Админ-панель (16 модулей)
├── anonymization/ # Анонимизация ПДн (токены ПЕРС/ОРГ/КОНТ/ФИН/ДОК)
├── auth/ # JWT + RBAC аутентификация
├── audit/ # Аудит + AuditLogger
├── chat/ # История сессий чата
├── clients/ # C1Client + BatchC1Client
├── data_quality/ # Качество данных (Pydantic, валидация, anomalies)
├── events/ # Event Bus (publish/subscribe, dead letter)
├── guardrails/ # Верификация AI + защита
├── health/ # Health checks /health /health/live /health/ready
├── mcp/ # MCP tools registry
├── metadata/ # Метаданные 1С (config, describe, get_structure)
├── observability/ # Prometheus метрики + middleware
├── proactive/ # Proactive analytics (scheduler, отчёты)
├── query/ # Декларативный QueryBuilder для 1С
├── rag/ # База знаний (SQLite + поиск)
├── reflection/ # Self-Reflection (AI критик ответов)
├── resilience/ # Circuit Breaker
├── search/ # FTS5 + fuzzy + synonyms + autocomplete
├── security/ # Security headers + rate limiting + ReadOnlyGuard
├── workflows/ # Workflow engine + бизнес-workflow
└── whatif/ # What-If симуляции
web/
├── app.py # FastAPI приложение
└── templates/ # HTML шаблоны🔑 Переменные окружения
Переменная | Описание | По умолчанию |
| API ключ DeepSeek | — |
| URL HTTP-сервиса 1С |
|
| Пользователь 1С |
|
| Пароль 1С |
|
| Секрет для JWT | — |
| Включить аутентификацию |
|
| Использовать мок-данные |
|
📄 Лицензия
MIT License. Copyright (c) 2026 Av75057.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Av75057/1c-mcp-sales-analyst'
If you have feedback or need assistance with the MCP directory API, please join our Discord server