mcpField
M
Measurement Uncertainty (gum / Iso 17025)

Measurement Uncertainty (gum / Iso 17025)

远程服务
github.com/kyb8801科研与教育14 周前更新
代码仓库

关于 Measurement Uncertainty (gum / Iso 17025)

Measurement Uncertainty 是面向校准实验室、半导体计量和质量控制 Agent 的 GUM 测量不确定度分析 MCP 服务。它提供 Type A/B、合成与扩展不确定度、蒙特卡洛传播计算,以及可调整的预算模板。

主要功能

  1. 01计算 Type A 与 Type B 不确定度
  2. 02合成不确定度及有效自由度
  3. 03按覆盖因子计算扩展不确定度
  4. 04执行 JCGM 101 蒙特卡洛传播
  5. 05列出并应用不确定度预算模板

适用场景

  1. 01为校准证书计算不确定度预算
  2. 02分析 CD-SEM 等半导体测量结果
  3. 03评估 DMM 校准与 TUR
  4. 04对非线性测量模型进行传播分析

MCP 相关

MCP 服务暴露 10 个工具,支持 GUM 与 JCGM 101 不确定度计算、蒙特卡洛传播和预算模板操作。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://measurement-uncertainty.mcpize.run
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

measurement-uncertainty-mcp

License: MIT Python 3.10+ MCP Compatible MCPize GitHub stars

用于 GUM 测量不确定度分析的模型上下文协议服务。面向符合 ISO/IEC 17025 标准的校准实验室、符合 ISO 10012:2026 标准的测量管理体系,以及经 KOLAS / A2LA / UKAS 认可的检测机构。 先前的现有技术检索未发现同类 MCP 服务(2026-07);这并不等同于它是首个此类服务,本文不作首创声明。

可直接通过 Claude Desktop、Cursor、Windsurf 或任何 MCP 客户端计算 A 类 / B 类不确定度、合成标准不确定度 u_c、通过 Welch-Satterthwaite 公式计算有效自由度 ν_eff、带覆盖因子 k 的扩展不确定度 U、依据 JCGM 101:2008 进行蒙特卡洛传播,并应用预置的 KOLAS 就绪型不确定度预算。无需电子表格,不受供应商锁定。可追溯至 JCGM 100:2008 标准。

现已在 MCPize 上线:https://measurement-uncertainty.mcpize.run

为什么是现在——ISO 10012:2026

ISO 10012:2026 于 2026 年 2 月发布,是该标准自 2003 年以来的首次修订。该标准采用了更完善的基于风险的方法,并增加了关于测量不确定度、测试不确定度比(TUR)以及带保护带的判定规则(与 ILAC G8 和 ISO 14253-1 一致)的实用指南。

目前,大多数校准实验室都在更新 Excel 模板和不确定度计算工作流,以满足新标准的要求。本 MCP 服务提供了端到端的这些基础功能,旨在直接接入实验室基于聊天的 AI 工作流。下方的现有技术检索未发现同类产品,但证据缺失并不代表独一无二。有关计划推出的 KOLAS / A2LA / UKAS 证书自动生成功能,请参阅 Issue #6。

此服务的功能

提供 10 个 MCP 工具,实现测量不确定度表示指南(GUM,JCGM 100:2008)及其蒙特卡洛补充文件(JCGM 101:2008):

工具返回内容
type_a_uncertainty样本的统计不确定度(n、均值、标准差、标准不确定度、自由度)
type_b_rectangular根据已知半宽和均匀分布计算的非统计不确定度(u = half_width / √3)
type_b_triangular根据三角分布计算的非统计不确定度(u = half_width / √6)
type_b_normal根据扩展值和 k 计算的非统计不确定度(u = U / k)
combine_uncertainty根据分量及灵敏度列表计算合成标准不确定度
welch_satterthwaite根据分量计算有效自由度
expanded_uncertainty计算具有覆盖因子 k、对应目标置信水平的扩展不确定度
monte_carlo_propagateJCGM 101 蒙特卡洛传播——输出均值、标准不确定度、最短覆盖区间、偏度、超额峰度。当模型为非线性、输入为非高斯分布,或 ν_eff 太小而无法有效使用 k=2 时使用
list_uncertainty_templates预构建不确定度预算目录(CMM 长度、CD-SEM CD、DMM 电压、热电偶、天平、OCD 薄膜厚度)。可按行业/被测量筛选
apply_uncertainty_template端到端运行指定模板——合并分量、计算 ν_eff,并报告目标置信水平下的 U。接受 overrides 映射,让模板适配你的配置,无需复制粘贴

Python 库还提供 propagate(formula, estimates, components) 辅助函数,用于通过任意可调用对象进行数值不确定度传播。它未作为 MCP 工具公开,因为可调用对象无法通过 JSON 序列化,但可直接从 measurement_uncertainty_mcp.math_kernel 导入。

适用对象

  • 半导体设备工程师:从事 CD-SEM、OCD、TEM、AFM、光学计量。为晶圆处置提供规范的不确定度预算,而非含糊带过的误差棒。
  • 校准实验室(KOLAS、A2LA、UKAS):需要在每份证书中提供不确定度预算,并花费数小时在 Excel 中重复计算相同公式。
  • 构建质量控制 Agent 的 AI 工程师:这些 Agent 在做出通过/不通过判断前,必须先推理测量不确定度。
  • 研究团队:在要求按 GUM 规范报告不确定度的期刊上发表论文(AIP、IOP、Elsevier 计量类期刊)。

五个示例查询(将这些内容粘贴到 Claude Desktop 中)

连接服务后,你可以提出如下问题:

  1. 名义值为 10 mm 的 CMM 长度校准

    “使用 cmm_length_10mm 模板,并采用我对 10 次读数测得的 0.0003 mm 重复性。报告 95% 置信水平下的 u_c 和 U。”

  2. CD-SEM 45 nm 线宽不确定度预算

    “根据以下 20 个 CD-SEM 测量值计算 A 类不确定度:[45.12, 45.08, 45.15, ... nm]。与 k=2 时 ±0.5 nm 的放大倍率校准不确定度和 k=2 时 ±0.4 nm 的线边粗糙度合并。使用 Welch-Satterthwaite 方法报告 ν_eff。”

  3. 带 TUR 检查的 DMM 10 V 校准

    “参考标准为 k=2 时 ±20 µV,DMM 分辨率半宽为 1 µV,重复性为 n=20 时的 3 µV。计算 u_c、95% 置信水平下的扩展不确定度 U,以及在我的容差为 ±100 µV 时的 TUR。”

  4. 100 °C 的 K 型热电偶课堂预算

    “应用 thermocouple_k_100c 模板,将 dmm_voltage 覆盖为 k=2 时 ±0.05 °C。哪个不确定度分量占主导?”

  5. 非线性比值模型——蒙特卡洛传播

    “计算 Y = (V × R) / (V + I),其中 V ~ N(10, 0.05)、R ~ N(100, 0.5)、I ~ N(0.1, 0.001)。运行 200k 次蒙特卡洛试验,并报告最短的 95% 覆盖区间。”

托管端点

MCPize 上运行着一个托管实例,供无法在本地运行 Python 的 MCP 客户端使用(需要登录)。从此仓库自行托管可获得相同的工具。

快速开始——托管版(无需安装)

通过 MCPize 将 MCP 客户端直接连接到在线 Cloud Run 端点。无需 Python、依赖项或配置。

Claude Desktop / Cursor / Windsurf / Cline(单行)
npx -y mcpize connect @kyb8801/measurement-uncertainty --client claude

根据需要,将 --client claude 替换为 cursor、windsurf 或 cline。

Claude Code CLI
claude mcp add --transport http "Measurement Uncertainty" https://measurement-uncertainty.mcpize.run
手动配置(claude_desktop_config.json)
{
  "mcpServers": {
    "Measurement Uncertainty": {
      "url": "https://measurement-uncertainty.mcpize.run"
    }
  }
}

快速入门 — 本地安装(60 秒)

适用于隔离网络实验室、离线使用,或希望在本地运行的情况:

# 1. Clone and install
git clone https://github.com/kyb8801/measurement-uncertainty-mcp.git
cd measurement-uncertainty-mcp
pip install -e .

# 2. Run the stdio server (will connect to any MCP client)
measurement-uncertainty-mcp

然后将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "measurement-uncertainty": {
      "command": "python",
      "args": ["-m", "measurement_uncertainty_mcp"]
    }
  }
}

重启 Claude Desktop,然后提问:

“计算以下 10 次 CD-SEM 测量的 A 类不确定度:45.12、45.08、45.15、45.11、45.09、45.13、45.10、45.14、45.07、45.12 nm。报告 u、ν,以及 k=2 时的扩展不确定度。”

不确定度预算模板

v0.2 附带 6 个入门模板,涵盖校准、教学和晶圆厂计量中最常见的不确定度预算:

模板 ID行业被测量标称值
cmm_length_10mmcalibration_lab长度10 mm
dmm_dc_voltage_10vcalibration_lab电压10 V
cdsem_linewidth_45nmsemiconductor长度45 nm
ocd_film_thickness_50nmsemiconductor厚度50 nm
thermocouple_k_100cuniversity温度100 °C
analytical_balance_500guniversity质量500 g

list_uncertainty_templates 可预览分量名称、描述和参考资料。apply_uncertainty_template 会读取原始分量数值,通过 GUM 流程合成,并返回目标置信度下的 U。用户可以传入一个以分量名称为键的 overrides 映射,根据自己的测量设置调整模板。

自行托管时,在服务环境中设置 MCP_TIER=team 以启用 apply_*。

状态

  • 服务骨架
  • 工具定义(10 个工具,JSON Schema)
  • 数学内核
  • MCPize 部署(已上线:measurement-uncertainty.mcpize.run,2026-04-22)
  • 公测版 — 已发现并可调用 10 个工具
  • 冷启动优化:延迟导入 scipy,冷启动 p50 快约 9 倍(#4)
  • 蒙特卡洛不确定度传播(GUM Supplement 1 / JCGM 101:2008,2026-04-22)(#2)
  • 不确定度预算模板库 v1 — 6 个种子模板(#3,2026-04-23)
  • 扩展模板库:目标 20 个模板(压力、扭矩、流量、尺寸、电气)

差异化

2026-04-17 在 mcp.so、Smithery 和 MCPize 中搜索了以下关键词:uncertainty、metrology、calibration、GUM、measurement。在该日期的这些注册表中,这些关键词的搜索结果均为零。这就是全部主张——它并不能证明任何地方都不存在此类服务,也没有在此给出市场规模估算。

测试

pytest tests/        # kernel + monte carlo + templates — all 44 tests should pass

许可证

MIT — 参见 LICENSE。可免费用于商业用途,欢迎注明出处。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。