← Selected work案例研究
CASE 03 · MCP SERVER FOR BATTERY DATA · S-06 / S-07

Four data systems, one question box四个数据系统,一个提问框

Engineers at a cell R&D centre spent hours collecting files from four systems before they could start thinking about a cell. We built an MCP server over the client's own data. A plain-language question now returns a short, sourced brief and a dashboard, and every number in them is computed by code.

某电芯研发中心的工程师,在真正开始分析一颗电芯之前,要花数小时从四个系统里收集文件。我们在客户自有数据之上搭建了 MCP 服务:用自然语言提一个问题,即可得到附带数据来源的简短结论和交互看板——其中每个数字都由代码计算。

3.2 h → 6 min
SINGLE-CELL AGEING REVIEW (MEDIAN)单颗电芯老化分析(中位数)
31
WEEKLY ACTIVE USERS AFTER 8 WEEKS上线 8 周后的周活跃用户
~1,900
QUESTIONS PER MONTH每月提问数
0
NUMERIC ERRORS IN 200 AUDITED BRIEFS200 份抽检结论中的数值错误

01The problem问题

Everything needed to judge a cell existed, but in four places: raw cycler files from three vendors in S3, reference-test results in a database, the cell-to-lot-to-recipe mapping in a spreadsheet, and inspection data in the Quality team's workbook, each with its own naming convention. Answering “is this cell ageing badly, and why?” meant a half-day of manual joining before any engineering thinking started. Most questions of that kind simply went unasked.

判断一颗电芯所需的信息都存在,但分散在四处:S3 里三家设备厂商格式的原始循环文件、数据库里的 RPT 结果、表格里的电芯—批次—配方对应关系、质量团队工作簿里的检验数据——而且命名规则各不相同。要回答“这颗电芯老化是否异常、原因是什么”,得先花半天手工拼接数据,才能开始真正的工程分析。于是大多数这类问题根本没人去问。

02What we built我们搭建了什么

Architecture: four data sources feed an MCP server exposing eleven tools, which answers as a chat brief and an interactive dashboard.
FIG 1 · Four sources, eleven typed tools, two kinds of answer. The language model can only call tools and narrate their outputs.图 1 · 四个数据源、十一个类型化工具、两种回答形式。语言模型只能调用工具并叙述其输出结果。

One schema for every cycler所有设备统一一套数据结构

Parsers for Arbin, Neware and BioLogic files into a single schema. Each test is segmented into formation, cycling, RPT, rate and pulse events. Nightly incremental sync.

为 Arbin、Neware、BioLogic 文件编写解析器,统一到同一数据结构;每个测试自动切分为化成、循环、RPT、倍率与脉冲事件;每晚增量同步。

Resolve identity across systems跨系统统一电芯身份

Cell ID ↔ lot ↔ recipe ↔ QA inspection, reconciled across three naming conventions for about 6,400 cells.

电芯编号 ↔ 批次 ↔ 配方 ↔ 质检记录,在三种命名规则之间对齐,覆盖约 6,400 颗电芯。

Typed tools, deterministic numbers类型化工具,确定性数字

Eleven MCP tools, including knee detection, impedance trend, cohort comparison and SPC charts. Each returns values computed in code together with a source trace: file, row range and calculation.

十一个 MCP 工具——包括拐点识别、阻抗趋势、同类对比、SPC 控制图等。每个工具返回由代码计算的数值,并附数据来源:文件、行范围与计算方法。

Guardrails约束机制

The model may only narrate tool outputs, and every figure in a brief carries a reference. When data are missing, for example when no RPT exists yet, the brief says so rather than guessing.

模型只能叙述工具输出;结论中的每个数字都带有出处。数据缺失时(例如尚无 RPT)会明确说明,而不是猜测。

03Results结果

MCP brief for cell C-0417 alongside capacity, DCIR and fill-weight charts.
FIG 2 · A real question from the first month. The brief linked a cell's early knee to electrolyte fill weight in its lot.图 2 · 上线首月的一个真实提问。结论把一颗电芯的提前拐点与其所在批次的注液量关联起来。
Time to answer for five recurring tasks, before and after the MCP server, on a log scale.
FIG 3 · Median time to answer, logged over eight weeks. Log scale.图 3 · 八周内记录的回答耗时中位数(对数坐标)。
  • Hours became minutes. Single-cell review went from 3.2 h to 6 min, lot comparison from 12 h to 25 min, and the weekly QA/Cpk report from 5 h to 15 min, now generated automatically.
  • 从小时到分钟。单颗电芯分析 3.2 小时 → 6 分钟;批次对比 12 小时 → 25 分钟;每周质量 / Cpk 报告 5 小时 → 15 分钟(现已自动生成)。
  • It found a process problem in month one. Four cells in lot L23-118 showed impedance growing about twice as fast as capacity fade. The brief traced them to low electrolyte fill weight; the filling station's Cpk was 0.86 against a target of 1.33. The station was recalibrated.
  • 首月即发现工艺问题。批次 L23-118 中四颗电芯阻抗增长约为容量衰减的两倍。结论将其追溯到注液量偏低——注液工位 Cpk 为 0.86,目标值 1.33。该工位随后完成重新校准。
  • Auditable by design. Engineers checked 200 briefs against source data and found no numeric errors. They found seven wording issues, which were fixed in the narration layer.
  • 天然可审计。工程师对照原始数据抽检 200 份结论,未发现数值错误;发现 7 处措辞问题,已在叙述层修正。

04Limits边界

The server answers only what the data can support. It does not replace physics models; it can call them as tools. It sees only data inside the client's systems, and it has read-only access.

它只回答数据能够支撑的问题。它不替代机理模型,但可以把机理模型作为工具调用。它只能访问客户系统内部的数据,并且只有只读权限。

05What the client received交付内容

MCP server (Python), deployed in the client VPC
MCP 服务(Python),部署于客户 VPC
Connectors for all four sources, with tests
四个数据源的连接器及测试
Interactive dashboard and automated QA report
交互式看板与自动质量报告
Runbook and training for two internal maintainers
运维手册,以及对两名内部维护人员的培训