Skip to main content
Glama

Battery ERP — управление материалами, ячейками, пакетами и цепочкой поставок с ценами на сырьё в реальном времени

и аналитикой Microsoft Fabric Lakehouse.

Покрывает всю цепочку создания стоимости батарей: литий, кобальт, никель, марганец, графит

через химию ячеек (NMC-811, NCA, LFP, LMO) до батарейных пакетов с расчётом стоимости BOM,

оценкой поставщиков, управлением запасами и сценариями «что если» для затрат.

Python PyPI License Tests Fabric

mcp-name: io.github.icohangar-ops/battery-erp


Что это такое

Battery ERP управляет полной цепочкой создания стоимости батарей — от закупки сырья через производство ячеек до сборки пакетов. Каждая затрата прослеживается до конкретного материала, поставщика и ценовой точки.

Слой

Роль

Модели данных

RawMaterial, CellChemistry, BatteryCell, BatteryPack, BOMItem, Supplier, InventoryRecord, PurchaseOrder, ManufacturingBatch

Бизнес-правила

Сводка затрат BOM, управление статусом запасов, оценка поставщиков (композитная оценка A-D), отслеживание производственного выхода, анализ ценовых трендов, сценарии «что если» для затрат

Ценовой движок

Таблица цен по умолчанию для материалов (20+ материалов), интеграция AlphaVantage для цен на сырьё в реальном времени, макро-оверлей FRED

Аналитика

Отчёты о состоянии запасов, отчёты по цепочке поставок, отчёты о производственном выходе, панели сравнения затрат по химии

Fabric Lakehouse

11 таблиц Delta для постоянного хранения и SQL-аналитики


Related MCP server: Factory Insight MCP Server

Быстрый старт

# From PyPI — https://pypi.org/project/battery-erp/
python3 -m pip install 'battery-erp[mcp]'   # MCP tools
python3 -m pip install 'battery-erp[api]'   # REST adapter

# From source
git clone https://github.com/icohangar-ops/battery-erp.git
cd battery-erp
python3 -m pip install -e '.[dev]'
PYTHONPATH=src python3 -m pytest tests/ -v

# Domain modules
python3 -c "
from battery_erp.pricing import calculate_cell_cost_summary, get_material_price_table
prices = get_material_price_table()
for chem in ['NMC-811', 'NMC-622', 'NCA', 'LFP', 'LMO']:
    r = calculate_cell_cost_summary(chem, 50.0, prices)
    print(f'{chem}: \${r[\"cost_per_kwh\"]:.1f}/kWh (BOM: \${r[\"bom_cost_usd\"]:.2f})')
"

Архитектура

                    ┌──────────────────────────────────────┐
                    │  Raw Materials (20+ tracked)          │
                    │  Lithium · Cobalt · Nickel · Mn · Gr  │
                    └──────────────┬───────────────────────┘
                                   │ BOM
                    ┌──────────────▼───────────────────────┐
                    │  Cell Chemistries                     │
                    │  NMC-811 · NMC-622 · NCA · LFP · LMO  │
                    └──────────────┬───────────────────────┘
                                   │ cells + components
                    ┌──────────────▼───────────────────────┐
                    │  Battery Packs                        │
                    │  EV · ESS · Consumer · Industrial     │
                    └──────────────────────────────────────┘

Side modules:
  ┌─────────────────┐  ┌──────────────────┐  ┌──────────────────┐
  │ Supplier Scoring │  │ Inventory Mgmt   │  │ Cost Scenarios    │
  │ Composite 0-100  │  │ Reorder logic    │  │ What-if analysis  │
  │ A/B/C/D grades   │  │ Status tracking  │  │ Price shock model │
  └─────────────────┘  └──────────────────┘  └──────────────────┘

Основные модули

battery_erp.core.models

Все доменные dataclass:

  • RawMaterial — каталог материалов с ценами, кодами HS, опасностями

  • CellChemistry — NMC-111/622/811, NCA, LFP, LMO с плотностью энергии и сроком службы

  • BatteryCell — характеристики ячейки (ёмкость, напряжение, форм-фактор, вес)

  • BatteryPack — сборка пакета (ячейки + BMS + терморегулирование)

  • BOMItem — позиция спецификации (BOM) с коэффициентом отходов

  • Supplier — каталог поставщиков с рейтингом качества, сроком поставки, сертификатами

  • InventoryRecord — складские позиции с логикой повторного заказа

  • PurchaseOrder — отслеживание жизненного цикла заказа на поставку

  • ManufacturingBatch — отслеживание выхода производственной партии

  • PriceHistory — временные ряды цен на сырьё

battery_erp.core.rules

Детерминированные бизнес-правила:

  • rollup_bom_cost() — общая стоимость BOM с разбивкой по материалам и стоимостью отходов

  • calculate_cell_bom() — генерация репрезентативной BOM для любой химии

  • calculate_pack_bom() — BOM на уровне пакета (ячейки + корпус + BMS + охлаждение)

  • update_inventory_status() — пересчёт статусов in_stock/low/out_of_stock

  • check_reorder_suggestions() — генерация предложений по заказам на поставку

  • calculate_batch_metrics() — агрегированный производственный выход

  • analyze_price_history() — анализ ценовых трендов с волатильностью

  • estimate_cell_cost_impact() — моделирование сценариев «что если» для затрат

  • calculate_pack_metrics() — плотность энергии и эффективность пакета

battery_erp.supply_chain

Управление цепочкой поставок:

  • score_supplier() — композитная оценка (качество 35%, OTD 35%, срок поставки 20%, сертификаты 10%)

  • rank_suppliers() — ранжирование по оценке, фильтрация по материалу

  • create_purchase_order() — создание заказа на поставку из данных поставщика

  • analyze_po_pipeline() — анализ конвейера заказов (обнаружение просрочек, отслеживание сроков поставки)

  • suggest_dual_sourcing() — рекомендация стратегии двойного sourcing

battery_erp.pricing

Цены на сырьё:

  • get_material_price_table() — цены по умолчанию для 20+ материалов для батарей

  • calculate_cell_cost_summary() — быстрая оценка затрат по химии

  • update_prices_from_alpha_vantage() — получение цен на сырьё в реальном времени

  • update_prices_from_fred() — макроэкономические индикаторы

battery_erp.analytics

Отчётность:

  • generate_inventory_report() — полная панель состояния запасов

  • generate_supply_chain_report() — отчёт по поставщикам и конвейеру заказов

  • generate_manufacturing_report() — метрики выхода

  • generate_pricing_report() — сравнение затрат по химии + ценовые тренды


Сравнение затрат по химии (цены по умолчанию, ячейка 50Ah)

Химия

Стоимость BOM

$/кВт·ч

Доля катода

Ключевая особенность

LFP

Самая низкая

~$50-55

~35%

Нет Co/Ni, сверхбезопасно, 4000+ циклов

LMO

Низкая

~$55-60

~40%

Низкая стоимость, электроинструменты

NMC-111

Средняя

~$70-80

~50%

Сбалансированная, устаревшая

NMC-622

Средняя

~$75-85

~48%

Хороший баланс энергии и стоимости

NMC-811

Выше

~$80-90

~52%

Высокая энергия, доминирует в EV

NCA

Самая высокая

~$85-95

~55%

Флагман Tesla, 270 Вт·ч/кг


Интеграция с Microsoft Fabric

Записные книжки Fabric

Записная книжка

Назначение

fabric_setup_lakehouse.py

Создание всех 11 таблиц Delta с начальными данными

fabric_cost_dashboard.py

Полная панель аналитики затрат (сравнение химии, стоимость пакетов, запасы, поставщики, ценовые тренды, сценарии)

Схема таблиц Delta

Таблица

Ключевые столбцы

raw_materials

material_id, name, category, unit_price_usd, price_source, hs_code

cell_chemistries

chemistry_id, name, cathode_type, energy_density_wh_per_kg, cycle_life

battery_cells

cell_id, sku, chemistry, form_factor, nominal_capacity_ah, energy_wh, weight_kg

battery_packs

pack_id, sku, cell_sku, total_cells, nominal_capacity_kwh, pack_weight_kg

bill_of_materials

bom_id, parent_sku, material_name, quantity_per_unit, unit_cost_usd, waste_factor_pct

suppliers

supplier_id, name, country, materials_supplied, quality_rating, lead_time_days

inventory

record_id, sku, material_name, quantity_on_hand, quantity_reserved, reorder_point

purchase_orders

po_id, po_number, supplier_name, quantity, total_usd, status, expected_delivery

price_history

material_name, price_usd, as_of, source

manufacturing_batches

batch_id, product_sku, chemistry, quantity_produced, quantity_pass, yield_pct

cost_scenarios

scenario_id, scenario_name, material_name, current_price_usd, scenario_price_usd, pct_change

Быстрый старт с Fabric

  1. Запустите fabric_setup_lakehouse.py для создания всех 11 таблиц Delta

  2. Запустите fabric_cost_dashboard.py для полной панели аналитики

  3. Панель охватывает: сравнение затрат по химии, расчёт стоимости пакетов, состояние запасов, оценку поставщиков, ценовые тренды, производственный выход, сценарии затрат


Адаптеры инвентаризации (REST + MCP)

Battery ERP — это доменная библиотека, а не размещённая ERP-система. Для SMS / текстовых и агентских рабочих процессов общий InventoryService находится как под тонким REST API, так и под MCP-сервером. Подробности: docs/INTEGRATION.md.

SMS / ClickSend          Cursor / Claude (stdio MCP)
        │                         │
        ▼                         ▼
  REST API (port 8088)      battery_erp.mcp
        └──────────┬──────────────┘
                   ▼
           InventoryService
                   ▼
        InMemoryInventoryStore (demo)
                   ▼
          Human bin confirmation

Не вызывайте MCP из браузера. Держите REST и MCP в отдельных терминалах.

Установка (macOS / zsh)

Используйте python3. Заключайте pip extras в кавычки, чтобы zsh не интерпретировал их как glob:

cd ~/Desktop/icohangar-repos/battery-erp
python3 -m pip install -e '.[dev]'   # api + mcp + pytest

Терминал A — REST (текстовый бэкенд)

cd ~/Desktop/icohangar-repos/battery-erp
export BATTERY_ERP_CONFIRM_TOKEN=dev-secret
export BATTERY_ERP_AUDIT_LOG=/tmp/battery-erp-audit.jsonl
PYTHONPATH=src python3 -m battery_erp.api
# Uvicorn → http://127.0.0.1:8088
curl -s http://127.0.0.1:8088/health
curl -s http://127.0.0.1:8088/inventory/lookup/lithium

Терминал B — MCP (только для агентов / Cursor)

Оставьте терминал A работающим. В новом терминале:

cd ~/Desktop/icohangar-repos/battery-erp
export BATTERY_ERP_CONFIRM_TOKEN=dev-secret
PYTHONPATH=src python3 -m battery_erp.mcp

Этот процесс остаётся тихим на stdio — это нормально для MCP-хостов. Не вставляйте это в терминал API.

Конфигурация MCP для Cursor

Добавьте в ~/.cursor/mcp.json (абсолютные пути; python3, а не python):

{
  "mcpServers": {
    "battery-erp": {
      "command": "python3",
      "args": ["-m", "battery_erp.mcp"],
      "env": {
        "PYTHONPATH": "/Users/YOU/Desktop/icohangar-repos/battery-erp/src",
        "BATTERY_ERP_CONFIRM_TOKEN": "replace-me",
        "BATTERY_ERP_AUDIT_LOG": "/tmp/battery-erp-audit.jsonl"
      }
    }
  }
}

Затем перезагрузите MCP-серверы в Cursor. Доступные инструменты: lookup_inventory, get_inventory_status, get_inventory_record, list_inventory, create_bin_check_request, record_bin_confirmation.

Поверхность

Вход

Общий слой

REST

GET /inventory/lookup/{part}, bin-check / bin-confirm

battery_erp.services.InventoryService

MCP

инструменты выше (mcp SDK 2.x MCPServer)

тот же

Для изменения подтверждения bin требуется BATTERY_ERP_CONFIRM_TOKEN и опционально записывается JSONL-аудит в BATTERY_ERP_AUDIT_LOG.

Упаковка каталога / реестра: см. PUBLISH.md (glama.json, Dockerfile, server.json). После слияния в main заявите на Glama как @icohangar-ops/battery-erp.


Тесты

PYTHONPATH=src python3 -m pytest tests/ -v
# Domain tests + inventory service / REST / MCP scaffold

Варианты использования

  • Производители ячеек — отслеживание затрат BOM по химиям, оптимизация выхода

  • Интеграторы пакетов — оценка затрат на уровне пакета, выбор поставщиков

  • Закупки — оценка поставщиков, двойной sourcing, управление конвейером заказов

  • Финансы — ценовой риск на сырьё, сценарии «что если», оценка запасов

  • Руководство — панель с трендами $/кВт·ч, устойчивость цепочки поставок, возможности снижения затрат


Лицензия

MIT. См. LICENSE.


Управление CHP

Этот репозиторий укреплён с помощью Consensus Hardening Protocol (CHP), уровня управления решениями Cubiczan для мультиагентных ИИ-систем.

Уровни протокола

  • R0 Gate: Все решения должны проходить проверки Solvable, Scoped, Valid, Worth_it

  • Foundation Disclosure: 1-3 самых слабых допущения, 1-2 условия инвалидации, 1 ключевая уязвимость

  • Adversarial Layer: Обязательный адвокат дьявола на Фазе 0 и Раунде 3

  • State Machine: EXPLORING → PROVISIONAL → PROVISIONAL_LOCK → LOCKED

  • Third-Party Validation: Независимое CONFIRM/REJECT перед блокировкой

Конфигурация домена

  • Категория: Горнодобыча / Цепочка поставок

  • Порог Foundation: 75

  • CFO Accuracy Guard: Отключён

Артефакты соответствия

Файл

Назначение

.chp/STATE_MACHINE.md

Переходы состояний решений

.chp/R0_CONFIG.yaml

Пороги, откалиброванные по домену

.chp/ADVERSARIAL_PROMPTS.md

Стандартизированные шаблоны вызовов

.chp/CHP_COMPLIANCE.md

Отслеживание соответствия и аудит

Версия CHP

cognitive-mesh-orchestrator 0.1.0 | Документация протокола

Демо

Портативное устройство — текстовое поле для контейнеров с деталями

Мобильный захват с живой страницы лида (parts-bin-text-line--icohangar.replit.app). SMS → текст → проверка запасов в ERP для аккумуляторов → подтверждение контейнера оператором.

Демонстрационное видео

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A custom implementation for real-time supply chain optimization that enables parallel tool calling to provide intelligent inventory management recommendations and actionable insights in response to live supply chain events.
    6
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides manufacturing enterprise production capability analysis including capacity assessment, equipment details, manufacturing processes, and factory distribution. Enables users to search factories, evaluate suppliers, analyze production capabilities, and make informed procurement and investment decisions.
    1

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/icohangar-ops/battery-erp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server