Measurement Uncertainty (gum / Iso 17025) について
Measurement Uncertaintyは、校正ラボ、半導体計測、品質管理エージェント向けのGUM測定不確かさ分析MCPサーバーです。Type A/B、合成・拡張不確かさ、モンテカルロ伝播、調整可能な予算テンプレートを提供します。
主な機能
- 01Type AおよびType B不確かさの計算
- 02合成不確かさと有効自由度の算出
- 03包含係数による拡張不確かさの計算
- 04JCGM 101モンテカルロ伝播の実行
- 05不確かさ予算テンプレートの一覧と適用
活用シーン
- 01校正証明書向け不確かさ予算の作成
- 02CD-SEMなど半導体測定結果の分析
- 03DMM校正とTURの評価
- 04非線形測定モデルでの不確かさ伝播
MCP 対応
MCPサーバーは、GUMおよびJCGM 101の不確かさ計算、モンテカルロ伝播、予算テンプレート操作のための10個のツールを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://measurement-uncertainty.mcpize.runclaude mcp add --transport http measurement-uncertainty https://measurement-uncertainty.mcpize.run{"mcpServers":{"measurement-uncertainty":{"type":"http","url":"https://measurement-uncertainty.mcpize.run"}}}Cursor で開く{"servers":{"measurement-uncertainty":{"type":"http","url":"https://measurement-uncertainty.mcpize.run"}}}VS Code で開く{"mcpServers":{"measurement-uncertainty":{"type":"http","url":"https://measurement-uncertainty.mcpize.run"}}}{"mcpServers":{"measurement-uncertainty":{"serverUrl":"https://measurement-uncertainty.mcpize.run"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
measurement-uncertainty-mcp
GUM に基づく測定の不確かさ分析用の Model Context Protocol サーバーです。ISO/IEC 17025 認定校正ラボ、ISO 10012:2026 測定マネジメントシステム、KOLAS/A2LA/UKAS 認定試験向けに構築されています。 先行技術調査では同等の MCP サーバーは見つかりませんでした(2026-07)。これは最初の製品であることを意味するものではなく、ここで先駆性を主張するものでもありません。
タイプ A/B の不確かさ、合成標準不確かさ u_c、Welch-Satterthwaite 法による有効自由度 ν_eff、包含係数 k を用いた拡張不確かさ U、JCGM 101:2008 に準拠したモンテカルロ伝播を計算し、事前構築済みの KOLAS 対応不確かさバジェットを適用できます。Claude Desktop、Cursor、Windsurf、その他の MCP クライアントから直接利用できます。スプレッドシートは不要です。ベンダーロックインもありません。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 をご覧ください。
このサーバーでできること
**測定における不確かさの表現に関するガイド(GUM、JCGM 100:2008)およびそのモンテカルロ補足(JCGM 101:2008)**を実装した10個のMCPツールを提供します。
| ツール | 返される内容 |
|---|---|
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_propagate | JCGM 101モンテカルロ伝播 — 出力平均、標準不確かさ、最短包含区間、歪度、超過尖度を返します。モデルが非線形の場合、入力が非ガウス分布の場合、またはν_effが小さすぎてk=2が有効でない場合に使用します |
list_uncertainty_templates | 事前構築済みの不確かさ予算のカタログ(CMM長さ、CD-SEMのCD、DMM電圧、熱電対、天びん、OCD膜厚)。業界や測定量で絞り込めます |
apply_uncertainty_template | 名前付きテンプレートをエンドツーエンドで実行します。成分を合成し、ν_effを計算し、目標信頼水準でUを報告します。overridesマップを受け付けるため、コピー&ペーストせずにテンプレートを使用環境に合わせて調整できます |
Pythonライブラリには、任意の呼び出し可能オブジェクトを通じた数値的不確かさ伝播を行うpropagate(formula, estimates, components)ヘルパーも含まれています。呼び出し可能オブジェクトはJSON経由でシリアル化できないためMCPツールとしては公開されていませんが、measurement_uncertainty_mcp.math_kernelから直接インポートできます。
対象ユーザー
- 半導体装置エンジニア:CD-SEM、OCD、TEM、AFM、光学計測を担当する方。不確かさ予算に基づいてウエハーの合否を判定でき、根拠の曖昧な誤差範囲に頼る必要はありません。
- 校正ラボ(KOLAS、A2LA、UKAS):すべての証明書に不確かさ予算を記載する必要があり、同じ計算式をExcelで何時間もかけて処理しているラボ。
- 品質管理エージェントを構築するAIエンジニア:合否判定を行う前に、測定不確かさを考慮する必要がある方。
- 研究グループ:GUM準拠の不確かさ報告を求めるジャーナル(AIP、IOP、Elsevierの計測分野の誌)に論文を発表する方。
Claude Desktopに貼り付けて使える質問例5つ
サーバーに接続した後、次のような質問ができます。
-
公称値10 mmでのCMM長さ校正
「
cmm_length_10mmテンプレートを適用し、10回の測定による私の繰り返し性0.0003 mmを使用してください。95%信頼水準でu_cとUを報告してください。」 -
CD-SEMによる45 nm線幅の不確かさ予算
「次の20回のCD-SEM測定値からタイプAを求めてください:[45.12, 45.08, 45.15, ... nm]。拡大率校正±0.5 nm(k=2)とラインエッジラフネス±0.4 nm(k=2)を合成してください。Welch-Satterthwaite法でν_effを報告してください。」
-
TUR確認を含むDMMの10 V校正
「基準器±20 µV(k=2)、DMMの分解能半幅1 µV、繰り返し性3 µV(n=20)です。u_c、95%の拡張不確かさU、および許容差が±100 µVの場合のTURを計算してください。」
-
100 °CでのタイプK熱電対、簡易的な不確かさ予算
「
thermocouple_k_100cテンプレートを適用し、dmm_voltageを±0.05 °C(k=2)に上書きしてください。支配的な不確かさ要因は何ですか?」 -
非線形比モデル — モンテカルロ伝播
「Y = (V × R) / (V + I)を計算してください。V ~ N(10, 0.05)、R ~ N(100, 0.5)、I ~ N(0.1, 0.001)です。20万回の試行でモンテカルロ計算を実行し、最短の95%包含区間を報告してください。」
ホステッドエンドポイント
Pythonをローカルで実行できないMCPクライアント向けに、MCPize上でホステッドインスタンスを利用できます(サインインが必要です)。このリポジトリからセルフホストする場合も、同じツールを利用できます。
クイックスタート — ホステッド版(インストール不要)
MCPize経由で、MCPクライアントを稼働中のCloud Runエンドポイントに直接接続できます。Python、依存関係、設定は不要です。
Claude Desktop / Cursor / Windsurf / Cline(1 行)
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 を再起動して、次のように尋ねてください:
「次の CD-SEM 測定値 10 個について、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_10mm | calibration_lab | 長さ | 10 mm |
dmm_dc_voltage_10v | calibration_lab | 電圧 | 10 V |
cdsem_linewidth_45nm | semiconductor | 長さ | 45 nm |
ocd_film_thickness_50nm | semiconductor | 厚さ | 50 nm |
thermocouple_k_100c | university | 温度 | 100 °C |
analytical_balance_500g | university | 質量 | 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 を検索しました。その日、これらのレジストリでは該当する結果は0 件でした。主張しているのはこれだけです。これは、そのようなサーバーがどこにも存在しないことを示すものではなく、市場規模の推定も提示していません。
テスト
pytest tests/ # kernel + monte carlo + templates — all 44 tests should pass
ライセンス
MIT — LICENSE を参照してください。商用利用は無料です。クレジット表記を歓迎します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。