Battery value-chain inventory MCP: lookup SKUs, status/reorder, bin-check, audited confirmation.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
mcp-name: io.github.icohangar-ops/battery-erp
Battery ERP manages the complete battery value chain β from raw material sourcing through cell manufacturing to pack assembly. Every cost is traceable to a specific material, supplier, and price point.
| Layer | Role |
|---|---|
| Data Models | RawMaterial, CellChemistry, BatteryCell, BatteryPack, BOMItem, Supplier, InventoryRecord, PurchaseOrder, ManufacturingBatch |
| Business Rules | BOM cost rollups, inventory status management, supplier scoring (composite A-D grade), manufacturing yield tracking, price trend analysis, what-if cost scenarios |
| Pricing Engine | Default material price table (20+ materials), AlphaVantage integration for live commodity prices, FRED macro overlay |
| Analytics | Inventory health reports, supply chain reports, manufacturing yield reports, chemistry cost comparison dashboards |
| Fabric Lakehouse | 11 Delta tables for persistent storage and SQL analytics |
battery_erp.core.modelsAll domain dataclasses:
RawMaterial β material catalog with pricing, HS codes, hazardsCellChemistry β NMC-111/622/811, NCA, LFP, LMO with energy density and cycle lifeBatteryCell β cell specs (capacity, voltage, form factor, weight)BatteryPack β pack assembly (cells + BMS + thermal)BOMItem β bill of materials line item with waste factorSupplier β supplier catalog with quality rating, lead time, certificationsInventoryRecord β warehouse positions with reorder logicPurchaseOrder β PO lifecycle trackingManufacturingBatch β production batch yield trackingPriceHistory β commodity price time seriesbattery_erp.core.rulesDeterministic business rules:
rollup_bom_cost() β total BOM cost with material breakdown and waste costcalculate_cell_bom() β generate representative BOM for any chemistrycalculate_pack_bom() β pack-level BOM (cells + casing + BMS + cooling)update_inventory_status() β recalculate in_stock/low/out_of_stockcheck_reorder_suggestions() β generate PO suggestionscalculate_batch_metrics() β aggregate manufacturing yieldanalyze_price_history() β price trend analysis with volatilityestimate_cell_cost_impact() β what-if cost scenario modelingcalculate_pack_metrics() β pack energy density and efficiencybattery_erp.supply_chainSupply chain management:
score_supplier() β composite score (quality 35%, OTD 35%, lead time 20%, certs 10%)rank_suppliers() β rank by score, filter by materialcreate_purchase_order() β PO creation from supplier dataanalyze_po_pipeline() β PO pipeline analysis (overdue detection, lead time tracking)suggest_dual_sourcing() β dual-sourcing strategy recommendationbattery_erp.pricingCommodity pricing:
get_material_price_table() β default prices for 20+ battery materialscalculate_cell_cost_summary() β quick cost estimate per chemistryupdate_prices_from_alpha_vantage() β live commodity price fetchupdate_prices_from_fred() β macro economic indicatorsbattery_erp.analyticsReporting:
generate_inventory_report() β full inventory health dashboardgenerate_supply_chain_report() β supplier + PO pipeline reportgenerate_manufacturing_report() β yield metricsgenerate_pricing_report() β chemistry cost comparison + price trends| Chemistry | BOM Cost | $/kWh | Cathode % | Key feature |
|---|---|---|---|---|
| LFP | Lowest | ~$50-55 | ~35% | No Co/Ni, ultra-safe, 4000+ cycles |
| LMO | Low | ~$55-60 | ~40% | Low cost, power tools |
| NMC-111 | Medium | ~$70-80 | ~50% | Balanced, legacy |
| NMC-622 | Medium | ~$75-85 | ~48% | Good energy-cost balance |
| NMC-811 | Higher | ~$80-90 | ~52% | High energy, EV dominant |
| NCA | Highest | ~$85-95 | ~55% | Tesla flagship, 270 Wh/kg |
| Notebook | Purpose |
|---|---|
fabric_setup_lakehouse.py | Create all 11 Delta tables with seed data |
fabric_cost_dashboard.py | Full cost analytics dashboard (chemistry comparison, pack costing, inventory, suppliers, price trends, scenarios) |
| Table | Key Columns |
|---|---|
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_setup_lakehouse.py to create all 11 Delta tablesfabric_cost_dashboard.py for the full analytics dashboardBattery ERP is a domain library, not a hosted ERP. For SMS / text-line and
agent workflows, a shared InventoryService sits under both a thin REST API and
an MCP server. Full detail: docs/INTEGRATION.md.
Do not call MCP from a browser. Keep REST and MCP in separate terminals.
Use python3. Quote pip extras so zsh does not glob them:
Leave Terminal A running. In a new terminal:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/battery-erp)<a href="https://allmcps.com/mcp/battery-erp"><img src="https://allmcps.com/api/badge/battery-erp?style=directory" alt="Battery Erp on AllMCPs" /></a>