npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

metrology-toolbox-mcp

v0.6.1

Published

MCP server for Metrology Bench: RTD, thermocouple, pressure and torque calculations with every equation and source shown, plus NCSLI MII measurand taxonomy lookup. Run it locally or use the hosted server at metrologybench.com.

Readme

metrology-toolbox-mcp

An MCP server that gives your AI assistant Metrology Bench's calibration calculators. Every result comes back with its equation, its source and its version, and inputs outside an equation's valid range are refused rather than extrapolated.

Results are calculated values, not certified results.

Tools

| Tool | What it does | |---|---| | evaluate_test_point | One call for a whole test point. UUT spec (typed terms) or limits → tolerance → TUR with target check → acceptance limits under the decision rule → conforms / does not conform per rule X with the specific risk → optional global PFA/PFR from EOPR → certificate-ready value and U with a CMC floor. Every step carries its equation, source and version. Use it instead of chaining the tools below; missing inputs are refused with the argument named and a corrected example call | | rtd_resistance_from_temperature | Pt100/Pt1000 resistance from temperature (Callendar–Van Dusen) | | rtd_temperature_from_resistance | Temperature from RTD resistance | | thermocouple_emf_from_temperature | Types B, E, J, K, N, R, S, T: mV from temperature (NIST ITS-90), reference junction at 0 °C | | thermocouple_temperature_from_emf | Temperature from mV for any of those types, with NIST's error band | | thermocouple_cold_junction_compensation | Hot-junction temperature from a meter reading and the reference-junction temperature, or the reverse; adds EMFs, never temperatures | | convert_pressure | 13 pressure units, factors from SI definitions | | convert_torque | 9 torque units | | torque_extension_setting | Wrench setting for an inline extension | | spec_to_tolerance | Accuracy spec (% of reading/range, counts, ppm, % FS, floors) → limits, half-width and standard uncertainty, with each term echoed; refuses ambiguous specs with a corrected example call | | tur_check | TUR per ANSI/NCSL Z540.3 §3.11 (withdrawn 2020, still used in contracts), symmetric, asymmetric or one-sided; back-solves U95; TAR shown separately | | round_value | Decimal rounding: half up or half to even, decimals or significant figures | | taxonomy_search | Find NCSLI MII measurand taxa by words, discipline or Measure/Source | | taxonomy_get_taxon | Full taxon record: result quantity, parameters, references, deprecation, neighbours | | taxonomy_list_disciplines | Disciplines in the taxonomy with taxon counts |

Taxonomy results come from the NCSLI MII Measurand Taxonomy Catalog, synced nightly, and carry NCSL International's notice, CC BY-SA 4.0 license, disclaimer and the upstream commit they came from. | conformity_decision | Conformity of one measured value per a named decision rule (simple acceptance, w = r × U, or a target specific risk), with the specific risk for that reading and certificate wording | | guard_band_global_risk | Global PFA and PFR from TUR and EOPR for any guard band, or the guard band that brings PFA to 2 % | | round_for_certificate | U to 2 (or 1) significant figures, result rounded to match, copy-ready statement with k and coverage probability, optional scope CMC check | | uncertainty_budget | GUM budget (JCGM 100): Type A rows from readings, Type B rows from a half-width and distribution, with sensitivity coefficients; u_c, ν_eff (Welch–Satterthwaite), Student-t k and U, each row's share; warns when a non-normal input dominates | | monte_carlo_uncertainty | Monte Carlo evaluation (JCGM 101, GUM Supplement 1) of the same rows: y, u(y), symmetric and shortest coverage intervals, adaptive trials, and whether the GUM interval is validated (8.1.3). Seeded, so repeatable | | budget_templates | Starting uncertainty budgets for common calibrations (Pt100, thermocouple, DMM DC voltage, torque wrench, gauge block, weight by substitution, pressure gauge, humidity probe): the list, or one template’s rows in the uncertainty_budget format with the principle behind each row. Illustrative values, to be replaced by the lab’s own | | length_to_20c | Length corrected to the 20 °C reference temperature, L₂₀ = L_t/(1 + α(t − 20)); α in × 10⁻⁶ /K or a preset; u(α) (default 10 %) and u(t) rows in the uncertainty_budget format; 0 to 40 °C | | differential_expansion | Differential expansion between a unit under test and its standard, separate α and t for each (JCGM 100 H.1); independent or difference (δα, δθ) model; corrected UUT length from a comparator reading; budget rows | | weight_tolerance_check | A weight's error E = m_c − m₀ against the ± MPE you enter for its class (no E617 or R 111 table is built in), per a named decision rule, with the specific risk | | local_gravity | GRS80 normal gravity from latitude (Moritz), labelled an estimate: on the ellipsoid, not corrected for height. Use a surveyed or NOAA NGS / PTB SIS predicted g for calibration work | | liquid_head_correction | Head Δp = (ρ_f − ρ_a)·g·Δh (absolute: ρ_f·g·Δh), EURAMET cg-3 eqs. 3.6 and 3.7; water by temperature (Tanaka 2001) or any fluid by density; air 1.2 kg/m³ by default (OIML D 28); gas media noted as usually negligible | | deadweight_tester_pressure | Pressure balance / piston gauge pressure from the masses (EURAMET cg-3 v2.1 clause 3): true or conventional mass with the matching buoyancy term, thermal and λ distortion terms (solved by iteration), surface tension, head, gauge or absolute | | deadweight_tester_mass | Total mass to load for a target pressure, in any of the 13 pressure units; the exact inverse of deadweight_tester_pressure | | humidity_convert | One humidity quantity to all the others at a stated temperature and total pressure: RH, dew point, frost point, vapour pressure, mixing ratio, absolute humidity, Assmann wet bulb. Hardy 1998 (ITS-90) by default, WMO Magnus as an approximate option; RH below 0 °C with respect to water (WMO) or ice; optional enhancement factor (0.1 to 2 MPa) | | saturation_vapour_pressure | Saturation vapour pressure over water or ice (Hardy 1998 or WMO Magnus), and with a pressure the enhancement factor f(p, t); refuses outside each formula's range | | air_density | Moist-air density by the full CIPM-2007 equation (Picard et al. 2008) from pressure, temperature, RH or dew point and x_CO2, with xv, Z, psv and f shown, and the OIML R 111-1 Annex E approximation as a labelled secondary check | | conventional_mass | Conventional mass from true mass and density, or the reverse, per OIML D 28 (8000 kg/m³, 1.2 kg/m³, 20 °C) | | buoyancy_correction | Buoyancy correction of a weight comparison, m_ct = m_cr(1 + C) + Δm_w (OIML D 28, exact and first-order C, with the |C| ≤ U/(3m0) neglect test), or the mass of a sample from a balance reading (NIST SOP 2) | | usp41_repeatability | USP <41> repeatability: s (or ≥ 10 readings) with the 0.41d floor, pass/fail of 2s/m ≤ 0.10 %, minimum weight 2000·s, d taken from the range the test load is in on a dual-range balance. Built from balance-maker summaries of the December 2013 revision; check against the current USP–NF |

Two ways to use it

Hosted (nothing to install): add https://metrologybench.com/mcp as a custom connector in your AI app.

Local (runs on your computer, nothing leaves it): add this to your MCP client config, for example Claude Desktop:

{
  "mcpServers": {
    "metrology-toolbox": { "command": "npx", "args": ["-y", "metrology-toolbox-mcp"] }
  }
}

No sign-up, no account, no API key. License: Apache 2.0.