关于 battery-erp
Battery ERP 是用于管理电池材料、电芯、电池包和供应链库存的领域库。其 MCP 接口侧重库存查询与状态、货位检查和带审计的确认,同时提供 BOM、定价和分析功能。
主要功能
- 01电池库存查询与状态查看
- 02货位检查请求与确认
- 03BOM 与电池包成本计算
- 04供应商评分与采购订单跟踪
- 05大宗商品价格与成本情景分析
- 06库存和制造报告
适用场景
- 01检查 SKU 库存及补货状态
- 02记录仓库货位确认并保留审计记录
- 03比较不同化学体系或电池包成本
- 04查看供应商与采购订单流程
MCP 相关
MCP 服务提供库存查询、状态、记录、列表、货位检查和确认工具,并与 REST 适配器共用 InventoryService。修改库存的货位确认需要确认令牌,也可写入 JSONL 审计日志。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Battery ERP — 电池材料、电芯、电池包及供应链管理,支持实时
大宗商品定价和 Fabric Lakehouse 分析。
覆盖完整的电池价值链:从锂、钴、镍、锰、石墨,到电芯化学体系(NMC-811、NCA、LFP、LMO),
再到电池包,包括 BOM 成本核算、供应商评分、库存管理和成本假设情景分析。
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 | 用于持久化存储和 SQL 分析的 11 个 Delta 表 |
快速开始
# 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
所有领域数据类:
RawMaterial— 材料目录,包含定价、HS 编码和危险信息CellChemistry— NMC-111/622/811、NCA、LFP、LMO,包含能量密度和循环寿命BatteryCell— 电芯规格(容量、电压、形状规格、重量)BatteryPack— 电池包组装(电芯 + BMS + 热管理)BOMItem— 包含损耗系数的物料清单行项目Supplier— 供应商目录,包含质量评级、交货周期和认证InventoryRecord— 包含补货逻辑的仓库库存PurchaseOrder— 采购订单生命周期跟踪ManufacturingBatch— 生产批次良率跟踪PriceHistory— 大宗商品价格时间序列
battery_erp.core.rules
确定性业务规则:
rollup_bom_cost()— 汇总 BOM 总成本,包含材料明细和损耗成本calculate_cell_bom()— 为任意化学体系生成示例 BOMcalculate_pack_bom()— 电池包级 BOM(电芯 + 外壳 + BMS + 冷却)update_inventory_status()— 重新计算库存状态(有货/库存偏低/缺货)check_reorder_suggestions()— 生成采购订单建议calculate_batch_metrics()— 汇总制造良率analyze_price_history()— 分析价格趋势和波动性estimate_cell_cost_impact()— 成本假设情景建模calculate_pack_metrics()— 计算电池包能量密度和效率
battery_erp.supply_chain
供应链管理:
score_supplier()— 综合评分(质量 35%、准时交货率 35%、交货周期 20%、认证 10%)rank_suppliers()— 按评分排序,可按材料筛选create_purchase_order()— 根据供应商数据创建采购订单analyze_po_pipeline()— 分析采购订单流程(检测逾期、跟踪交货周期)suggest_dual_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()— 化学体系成本比较和价格趋势
化学体系成本比较(默认价格,50 Ah 电芯)
| 化学体系 | BOM 成本 | 美元/kWh | 正极占比 | 主要特点 |
|---|---|---|---|---|
| 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% | 能量高,主导电动汽车市场 |
| NCA | 最高 | ~$85-95 | ~55% | Tesla 旗舰产品,270 Wh/kg |
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 快速入门
- 运行
fabric_setup_lakehouse.py,创建全部 11 个 Delta 表 - 运行
fabric_cost_dashboard.py,查看完整的分析仪表板 - 仪表板涵盖:化学体系成本比较、电池包级成本核算、库存健康状况、供应商评分卡、价格趋势、制造良品率、成本场景
库存适配器(REST + MCP)
Battery ERP 是一个领域库,而非托管式 ERP。对于 SMS/文本线路和
Agent 工作流,共享的 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 将其作为通配符展开:
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(仅限 Agent / 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 终端中。
Cursor MCP 配置
添加到 ~/.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"
}
}
}
}
然后在 Cursor 中重新加载 MCP 服务。公开的工具:lookup_inventory、
get_inventory_status、get_inventory_record、list_inventory、
create_bin_check_request、record_bin_confirmation。
| 接口 | 条目 | 共享层 |
|---|---|---|
| REST | GET /inventory/lookup/{part}、库位检查 / 库位确认 | battery_erp.services.InventoryService |
| MCP | 上述工具(mcp SDK 2.x MCPServer) | 相同 |
修改库位确认需要 BATTERY_ERP_CONFIRM_TOKEN,并且可选写入 JSONL 审计日志到 BATTERY_ERP_AUDIT_LOG。
目录 / 注册表打包:请参阅 PUBLISH.md(glama.json、
Dockerfile、server.json)。
| 目录 | 链接 |
|---|---|
| PyPI | https://pypi.org/project/battery-erp/ |
| MCP 注册表 | io.github.icohangar-ops/battery-erp |
| Glama | https://glama.ai/mcp/servers/@icohangar-ops/battery-erp |
测试
PYTHONPATH=src python3 -m pytest tests/ -v
# Domain tests + inventory service / REST / MCP scaffold
用例
- 电芯制造商 — 跨化学体系跟踪 BOM 成本、优化良率
- 电池包集成商 — 电池包级成本估算、供应商选择
- 采购 — 供应商评分、双源采购、采购订单管线管理
- 财务 — 大宗商品价格风险、假设分析、库存估值
- 高管团队 — 展示 $/kWh 趋势、供应链韧性和降本机会的仪表板
许可证
MIT。请参阅 LICENSE。
CHP 治理
此代码库通过 共识强化协议(CHP)进行了强化。该协议是 Cubiczan 为多 Agent AI 系统提供的决策治理层。
协议层
- R0 门槛:所有决策都必须通过 Solvable、Scoped、Valid、Worth_it 检查
- 基础披露:1-3 个最薄弱的假设、1-2 个失效条件、1 个关键漏洞
- 对抗层:在 Phase 0 和 Round 3 必须进行魔鬼代言人审查
- 状态机:EXPLORING → PROVISIONAL → PROVISIONAL_LOCK → LOCKED
- 第三方验证:锁定前须独立 CONFIRM/REJECT
领域配置
- 类别:矿业 / 供应链
- 基础阈值:75
- CFO 准确性保护:已禁用
合规工件
| 文件 | 用途 |
|---|---|
.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)。 短信 → 文本线 → Battery ERP 库存检查 → 人工确认库位。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。