Skip to main content
Glama

Battery-ERP – Material-, Zell-, Pack- und Lieferkettenmanagement mit Echtzeit-Rohstoffpreisen und Fabric-Lakehouse-Analysen.

Deckt die gesamte Batterie-Wertschöpfungskette ab: von Lithium, Kobalt, Nickel, Mangan, Graphit über Zellchemien (NMC-811, NCA, LFP, LMO) bis hin zu Batteriepacks mit BOM-Kalkulation, Lieferantenbewertung, Bestandsverwaltung und Was-wäre-wenn-Kostenszenarien.

Python PyPI License Tests Fabric

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


Worum es sich handelt

Battery ERP verwaltet die komplette Batterie-Wertschöpfungskette – von der Rohstoffbeschaffung über die Zellfertigung bis zur Packmontage. Jede Kostenposition ist einem bestimmten Material, Lieferanten und Preisniveau zuordenbar.

Ebene

Rolle

Datenmodelle

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

Geschäftsregeln

BOM-Kostenkonsolidierung, Bestandsstatusverwaltung, Lieferantenbewertung (zusammengesetzte Note A–D), Fertigungsausbeutenverfolgung, Preistrendanalyse, Was-wäre-wenn-Kostenszenarien

Preis-Engine

Standard-Preistabelle für Materialien (20+ Materialien), AlphaVantage-Integration für Live-Rohstoffpreise, FRED-Makro-Overlay

Analysen

Bestandsgesundheitsberichte, Lieferkettenberichte, Fertigungsausbeuteberichte, Dashboards zum Kostenvergleich der Chemien

Fabric Lakehouse

11 Delta-Tabellen für dauerhafte Speicherung und SQL-Analysen


Related MCP server: Factory Insight MCP Server

Schnellstart

# 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})')
"

Architektur

                    ┌──────────────────────────────────────┐
                    │  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 │
  └─────────────────┘  └──────────────────┘  └──────────────────┘

Kernmodule

battery_erp.core.models

Alle Domänen-Dataclasses:

  • RawMaterial – Materialkatalog mit Preisen, HS-Codes, Gefahrstoffen

  • CellChemistry – NMC-111/622/811, NCA, LFP, LMO mit Energiedichte und Zyklenlebensdauer

  • BatteryCell – Zellspezifikationen (Kapazität, Spannung, Bauform, Gewicht)

  • BatteryPack – Packmontage (Zellen + BMS + Thermik)

  • BOMItem – BOM-Position mit Verschnittfaktor

  • Supplier – Lieferantenkatalog mit Qualitätsbewertung, Lieferzeit, Zertifizierungen

  • InventoryRecord – Lagerpositionen mit Meldebestandslogik

  • PurchaseOrder – Verfolgung des Bestelllebenszyklus

  • ManufacturingBatch – Verfolgung der Fertigungsausbeute von Produktionschargen

  • PriceHistory – Zeitreihen der Rohstoffpreise

battery_erp.core.rules

Deterministische Geschäftsregeln:

  • rollup_bom_cost() – Gesamte BOM-Kosten mit Materialaufschlüsselung und Verschnittkosten

  • calculate_cell_bom() – Repräsentative BOM für jede Chemie erzeugen

  • calculate_pack_bom() – BOM auf Packebene (Zellen + Gehäuse + BMS + Kühlung)

  • update_inventory_status() – in_stock/low/out_of_stock neu berechnen

  • check_reorder_suggestions() – Bestellvorschläge erzeugen

  • calculate_batch_metrics() – Fertigungsausbeute aggregieren

  • analyze_price_history() – Preistrendanalyse mit Volatilität

  • estimate_cell_cost_impact() – Was-wäre-wenn-Kostenszenarien modellieren

  • calculate_pack_metrics() – Energiedichte und Effizienz des Packs

battery_erp.supply_chain

Lieferkettenmanagement:

  • score_supplier() – Zusammengesetzter Score (Qualität 35 %, OTD 35 %, Lieferzeit 20 %, Zertifikate 10 %)

  • rank_suppliers() – Nach Score einstufen, nach Material filtern

  • create_purchase_order() – Bestellung aus Lieferantendaten erstellen

  • analyze_po_pipeline() – Analyse der Bestellpipeline (Erkennung überfälliger Bestellungen, Lieferzeitverfolgung)

  • suggest_dual_sourcing() – Empfehlung für Dual-Sourcing-Strategie

battery_erp.pricing

Rohstoffpreise:

  • get_material_price_table() – Standardpreise für 20+ Batteriematerialien

  • calculate_cell_cost_summary() – Schnelle Kostenschätzung pro Chemie

  • update_prices_from_alpha_vantage() – Live-Abruf der Rohstoffpreise

  • update_prices_from_fred() – Makroökonomische Indikatoren

battery_erp.analytics

Berichtswesen:

  • generate_inventory_report() – Vollständiges Dashboard zur Bestandsgesundheit

  • generate_supply_chain_report() – Bericht zu Lieferanten + Bestellpipeline

  • generate_manufacturing_report() – Ausbeutekennzahlen

  • generate_pricing_report() – Kostenvergleich der Chemien + Preistrends


Kostenvergleich der Chemien (Standardpreise, 50-Ah-Zelle)

Chemie

BOM-Kosten

$/kWh

Kathoden-%

Hauptmerkmal

LFP

Am niedrigsten

~$50-55

~35%

Kein Co/Ni, extrem sicher, 4000+ Zyklen

LMO

Niedrig

~$55-60

~40%

Günstig, Elektrowerkzeuge

NMC-111

Mittel

~$70-80

~50%

Ausgewogen, bewährt

NMC-622

Mittel

~$75-85

~48%

Gutes Energie-Kosten-Verhältnis

NMC-811

Höher

~$80-90

~52%

Hohe Energiedichte, EV-dominant

NCA

Am höchsten

~$85-95

~55%

Tesla-Flaggschiff, 270 Wh/kg


Microsoft-Fabric-Integration

Fabric-Notebooks

Notebook

Zweck

fabric_setup_lakehouse.py

Alle 11 Delta-Tabellen mit Beispieldaten erstellen

fabric_cost_dashboard.py

Vollständiges Kostenanalyse-Dashboard (Chemievergleich, Packkalkulation, Bestand, Lieferanten, Preistrends, Szenarien)

Delta-Tabellenschema

Tabelle

Wichtige Spalten

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-Schnellstart

  1. Führen Sie fabric_setup_lakehouse.py aus, um alle 11 Delta-Tabellen zu erstellen

  2. Führen Sie fabric_cost_dashboard.py für das vollständige Analyse-Dashboard aus

  3. Das Dashboard umfasst: Kostenvergleich der Chemien, Kalkulation auf Packebene, Bestandsgesundheit, Lieferanten-Scorecard, Preistrends, Fertigungsausbeute, Kostenszenarien


Bestandsadapter (REST + MCP)

Battery ERP ist eine Domänenbibliothek, kein gehostetes ERP. Für SMS-/Textzeilen- und Agenten-Workflows liegt ein gemeinsamer InventoryService sowohl unter einer schlanken REST-API als auch unter einem MCP-Server. Ausführliche Details: docs/INTEGRATION.md.

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

Rufen Sie MCP nicht aus einem Browser auf. Halten Sie REST und MCP in getrennten Terminals.

Installation (macOS / zsh)

Verwenden Sie python3. Setzen Sie pip-Extras in Anführungszeichen, damit zsh sie nicht als Glob-Muster interpretiert:

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

Terminal A – REST (Textzeilen-Backend)

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

Terminal B – MCP (nur Agents / Cursor)

Lassen Sie Terminal A laufen. In einem neuen Terminal:

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

Dieser Prozess bleibt auf stdio still – normal für MCP-Hosts. Fügen Sie dies nicht in das API-Terminal ein.

Cursor-MCP-Konfiguration

Fügen Sie Folgendes zu ~/.cursor/mcp.json hinzu (absolute Pfade; python3 statt 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"
      }
    }
  }
}

Laden Sie dann die MCP-Server in Cursor neu. Verfügbare Tools: lookup_inventory, get_inventory_status, get_inventory_record, list_inventory, create_bin_check_request, record_bin_confirmation.

Schnittstelle

Einstieg

Gemeinsame Ebene

REST

GET /inventory/lookup/{part}, Bin-Check / Bin-Bestätigung

battery_erp.services.InventoryService

MCP

Tools oben (mcp SDK 2.x MCPServer)

gleich

Für die mutierende Behälterbestätigung ist BATTERY_ERP_CONFIRM_TOKEN erforderlich; optional wird ein JSONL-Prüfprotokoll nach BATTERY_ERP_AUDIT_LOG geschrieben.

Verzeichnis-/Registry-Paketierung: siehe PUBLISH.md (glama.json, Dockerfile, server.json). Nach dem Merge in main auf Glama als @icohangar-ops/battery-erp beanspruchen.


Tests

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

Anwendungsfälle

  • Zellhersteller – BOM-Kostenverfolgung über Chemien hinweg, Ausbeuteoptimierung

  • Pack-Integratoren – Kostenkalkulation auf Packebene, Lieferantenauswahl

  • Einkauf – Lieferantenbewertung, Dual Sourcing, Bestellpipeline-Verwaltung

  • Finanzen – Rohstoffpreisrisiko, Was-wäre-wenn-Szenarien, Bestandsbewertung

  • Führungsebene – Dashboard mit $-/kWh-Trends, Resilienz der Lieferkette, Kostensenkungspotenziale


Lizenz

MIT. Siehe LICENSE.


CHP-Governance

Dieses Repository ist mit dem Consensus Hardening Protocol (CHP) abgesichert, der Entscheidungs-Governance-Ebene von Cubiczan für Multi-Agenten-KI-Systeme.

Protokollebenen

  • R0-Gate: Alle Entscheidungen müssen die Prüfungen „Lösbar, Abgegrenzt, Gültig, Lohnend" bestehen

  • Offenlegung der Grundlage: 1–3 schwächste Annahmen, 1–2 Ungültigkeitsbedingungen, 1 zentrale Schwachstelle

  • Adversariale Ebene: Verpflichtender Advocatus Diaboli in Phase 0 und Runde 3

  • Zustandsautomat: EXPLORING → PROVISIONAL → PROVISIONAL_LOCK → LOCKED

  • Validierung durch Dritte: Unabhängiges BESTÄTIGEN/ABLEHNEN vor der Sperrung

Domänenkonfiguration

  • Kategorie: Bergbau / Lieferkette

  • Schwellenwert für die Grundlage: 75

  • CFO-Genauigkeitsschutz: Deaktiviert

Compliance-Artefakte

Datei

Zweck

.chp/STATE_MACHINE.md

Übergänge von Entscheidungszuständen

.chp/R0_CONFIG.yaml

Domänenkalibrierte Schwellenwerte

.chp/ADVERSARIAL_PROMPTS.md

Standardisierte Challenge-Vorlagen

.chp/CHP_COMPLIANCE.md

Compliance-Tracking und Prüfpfad

CHP-Version

cognitive-mesh-orchestrator 0.1.0 | Protokolldokumentation

Demo

Handheld — Parts Bin Text Line

Mobile Aufnahme von der Live-Lead-Seite (parts-bin-text-line--icohangar.replit.app). SMS → text-line → Battery-ERP-Bestandsprüfung → menschliche Behälterbestätigung.

Demo Video

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